【DB概論】データベース設計の重要性とデータ中心アプローチできるエンジニアになる! ちょい上DB術・基礎編(5)(2/2 ページ)

» 2011年07月27日 00時00分 公開
[中村才千代エディフィストラーニング]
前のページへ 1|2       

プロセス中心設計とデータ中心設計

 システム構築の手順の基本になる考え方は、大きく分けて2つあります。 1つはプロセス中心、もう1つがデータ中心と呼ばれる設計方針です。

 以前はプロセス中心設計の手法が多く、データ管理はファイルシステムを使用していました。

 プロセス中心設計の目標は「いかに速くプロセスを動かすか」であり、プロセスを速く動かすために最適になるよう、ファイル設計が行われていました。プロセスをいかに速く動かすかを中心に設計が行われていたので、データが複数のファイルに冗長に存在することが普通の状態でした。

図2 プロセス中心設計 図2 プロセス中心設計

 プロセス中心のデータ管理方法で一番の問題点は、データの冗長性にあります。あるデータが更新されるときには、複数箇所に存在するデータを漏れなく更新するための追加のアプリケーションを作成する必要があります。

 また、アプリケーションを追加する際には、関連するすべてのファイルの影響を確認する必要があり、拡張性に問題が残ります。

 これらの問題点を解決することができるのが、データ中心の設計方針です。データ中心の設計は、データの一元管理を重視した設計になっており、1データ1個所の原則に基づいてデータが管理されます。

図3 データ中心設計 図3 データ中心設計

 企業で管理すべきデータを一元管理し、プロセスはそれを共有するという形になります。データが必ず1個所にのみ存在するようにするためには、データベース設計をする際に正規化という手順を踏み、冗長性を排除する必要があります。

 正規化の作業を行うと、データを管理する表は、列数の少ない小さな表の単位に分けられます。ユーザーが求める画面のイメージや帳票を作成するためには、これらの表を再度、意味のある形で結合して加工する必要があります。ところが、この結合に時間がかかるため、必ずしもアプリケーション開発者にとってはうれしいことだけではないのです。

 そこで、大量のデータを対象にデータを操作する必要がある場合には、データベースから必要なデータのみを抽出してファイルの形にし、それをインプットとしてアプリケーションをバッチジョブの形で処理し、アウトプットを成形することも考えます。

 オンラインでデータを直接参照、加工するだけではなく、このようにオフラインでデータを処理する例としては、レポート出力や帳票の大量作成、分析のためのデータ抽出などが挙げられます。今でもこの方法は使用されています。

図4 オフラインのデータ処理の例 図4 オフラインのデータ処理の例

筆者紹介

エディフィストラーニング

中村才千代

エディフィストラーニング インストラクター。データベース設計、システム構築の上流工程〜下流工程全般のコースを担当。「実践で使える」講義を行うことを心掛けている。

現在は、複数のSIerの人材育成を担当している。SE時代の経験を生かし、「業務を知っているエンジニアこそデータベース設計に関わるべきだ」ということ、「データベース設計に携わるエンジニアは、逆に業務を知っている人に知恵を貸してもらう必要がある」ということを伝えていきたい。



前のページへ 1|2       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。