データモデルを作成する流れを簡単に説明します。まず、データを「誰でも分かるような簡単な表現」でデータ構造を表します。
例えば、一般的にモデル化する対象(実世界)を、「実体」と、その「関連」からなるモノとして定義する「ERモデル」を利用します。
ERモデルでは、グループ化されたデータ群を「実体:エンティティ」(例えば、顧客、商品など)と、エンティティに所属する「属性:アトリビュート」(例えば、顧客の場合は顧客名/住所/電話番号などの情報)、そして、エンティティ間の関係となる「関連:リレーションシップ」(例えば、会社に顧客が所属する、など)という3つの要素を使って表現します(図3)。
システムに必要なデータモデルを作るには、次の2段階の作業が必要です。
システムに必要なデータについては、現在利用しているシステムの画面や帳票類を中心に集めます。
集めたデータは顧客グループ、商品グループといった意味を為すグループに大まかに分けて、「正規化」「最適化」「一般化」という3段階で整理します(図4)。
正規化で、1ファイルずつデータの関係を整理していきます。繰り返し発生するデータ項目があれば、繰り返す部分を細かいエンティティに分割していくといったように、エンティティ内のデータの依存関係などについても検討します。
最適化では、複数のファイルを整理し、全体的にデータの重複を排除した上で、データに抜けや漏れがないかをチェックします。重複のない必要最小限のデータ項目を使って安定したデータ構造を作ることにより、メンテナンスを容易にし、システムの保守費用を下げ、データの信頼性を上げることができるでしょう。
正規化と最適化によって、モデルとしては問題のないきれいな状態になります。ここからデータを「実際にビジネスで使えるもの」にしていかなければなりません。そこで、最後にビジネス視点で「顧客データを法人顧客用と個人顧客用に分ける」といった調整を行う行程が一般化となります。
正規化されたデータモデルをそのままデータベースに実装すると、パフォーマンスが思ったように出ないといった問題が後で発生することがあります。そこで、実際に使えるシステムにするために、データ件数や業務に応じたデータの流れ、インデックス作成といったパフォーマンスに影響する項目の検討/調整を行います。
ここまでが、システムに最適なデータベース構築のための準備に必要です。ここまで準備してから、データベースを実際に作成し、データを投入していくという行程に入ります。
Copyright © ITmedia, Inc. All Rights Reserved.