“言われた通り”ではもうダメな理由──「データを中心に考える」とは、どういうことかゼロからのリレーショナルデータベース入門(4)(2/3 ページ)

» 2016年11月18日 05時00分 公開
[佐瀬力株式会社アシスト]

「データモデル」の考え方を理解する

 データモデルを作成する流れを簡単に説明します。まず、データを「誰でも分かるような簡単な表現」でデータ構造を表します。

 例えば、一般的にモデル化する対象(実世界)を、「実体」と、その「関連」からなるモノとして定義する「ERモデル」を利用します。

 ERモデルでは、グループ化されたデータ群を「実体:エンティティ」(例えば、顧客、商品など)と、エンティティに所属する「属性:アトリビュート」(例えば、顧客の場合は顧客名/住所/電話番号などの情報)、そして、エンティティ間の関係となる「関連:リレーションシップ」(例えば、会社に顧客が所属する、など)という3つの要素を使って表現します(図3)。

photo 図3 ERモデルの例

 システムに必要なデータモデルを作るには、次の2段階の作業が必要です。

  1. 必要なデータを集めて整理する
  2. データベースに実装できるように調整する

1:必要なデータを集めて整理する

 システムに必要なデータについては、現在利用しているシステムの画面や帳票類を中心に集めます。

 集めたデータは顧客グループ、商品グループといった意味を為すグループに大まかに分けて、「正規化」「最適化」「一般化」という3段階で整理します(図4)。

photo 図4 「正規化」→「最適化」→「一般化」の流れ

 正規化で、1ファイルずつデータの関係を整理していきます。繰り返し発生するデータ項目があれば、繰り返す部分を細かいエンティティに分割していくといったように、エンティティ内のデータの依存関係などについても検討します。

 最適化では、複数のファイルを整理し、全体的にデータの重複を排除した上で、データに抜けや漏れがないかをチェックします。重複のない必要最小限のデータ項目を使って安定したデータ構造を作ることにより、メンテナンスを容易にし、システムの保守費用を下げ、データの信頼性を上げることができるでしょう。

 正規化と最適化によって、モデルとしては問題のないきれいな状態になります。ここからデータを「実際にビジネスで使えるもの」にしていかなければなりません。そこで、最後にビジネス視点で「顧客データを法人顧客用と個人顧客用に分ける」といった調整を行う行程が一般化となります。

2:データベースに実装できるよう調整する

 正規化されたデータモデルをそのままデータベースに実装すると、パフォーマンスが思ったように出ないといった問題が後で発生することがあります。そこで、実際に使えるシステムにするために、データ件数や業務に応じたデータの流れ、インデックス作成といったパフォーマンスに影響する項目の検討/調整を行います。

 ここまでが、システムに最適なデータベース構築のための準備に必要です。ここまで準備してから、データベースを実際に作成し、データを投入していくという行程に入ります。

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

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

メールマガジン登録

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