検索
連載

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

デキるエンジニアになるためには、DB技術の基礎は必須です。本連載では、豊富な実例と演習問題で、プロとして恥ずかしくない設計手順を解説します。DB設計のポイントとなる汎用的なケースを紹介しているので、通常の業務とは異なる場合でも応用できる「共通の考え方」を身に付けられます。

PC用表示 関連情報
Share
Tweet
LINE
Hatena
前のページへ |       

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

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

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

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

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

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

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

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

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

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

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

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

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

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

筆者紹介

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

中村才千代

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

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



前のページへ |       

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る