Part2では,DOAの中核を成すデータ・モデリングの手法を解説する。まず,データ・モデリングで主に利用されるER図について説明した後,「概念データ・モデル」に始まり「論理データ・モデル」,「物理データ・モデル」へと進む,ER図を使ったデータ・モデリングの流れを説明する。

 ここからは,DOAの中核を成すデータ・モデリングの手法を解説する。まず,データ・モデリングで主に利用されるER図について説明しよう。

 一口にER図と言っても先述したIEに加えて,米国のNIST(National Institute of Standards and Technology)が1990年代初頭に標準化した「IDEF1x(アイデフワンエックス)」や,佐藤正美氏が提唱した「T字型ERモデル」,椿正明氏と穂高良介氏の「THモデル」など,表記法には様々なタイプがあるが,以下ではIEの表記法に基づいて解説する。最もメジャーな表記法なので,ER図によるデータ・モデリングの基礎を知るのに最適と考えるからだ。筆者も,IEの表記法を日常的に使用している。

 ER図の構成要素は大きく2つある。1つは,データ項目の集まりであるエンティティ。もう1つは,エンティティ同士の論理的なつながりを表す「リレーションシップ」だ。

 エンティティは,データ・モデルで最も重要な要素である。RDBに実装する際は1つのエンティティがRDBの1テーブルに相当する。

 図1に示すように,1つのエンティティはボックス(矩形)で表し,ボックスの上にエンティティ名を記述する。システムの管理対象であり,一般には人,物,場所といった実体があり目に見えるものがエンティティの候補となる。それ以外に役割や分類などの「概念」も,エンティティとして表現できる。

図1●ER図による「エンティティ」の表記法
図1●ER図による「エンティティ」の表記法

 エンティティの構成要素であるデータ項目のことを,ER図では「属性(Attribute)」と呼び,矩形の中に列挙する(図1参照)。「社員」エンティティなら,「社員番号」,「氏名」,「生年月日」,「性別」などが属性である。これらがRDBのテーブルの列になる。

 属性の中でインスタンスを重複なく識別できるものを「識別子(identifier)」と呼び,矩形の一番上に記入する。「社員」エンティティの場合は,「社員番号」がそれに当たる。エンティティをRDBのテーブルに変換する際は,識別子がテーブルの主キー(Primary Key:PK)となる。

 属性に対応する具体的なデータを「インスタンス」と呼ぶ。「社員」エンティティを例にとると,「氏名」という属性に対応するインスタンスは「津村」,「佐藤」といった実在する人の名前である。インスタンスは,RDBの個々のレコードに相当する。

イベント系とリソース系に大別

 エンティティは,大きく「イベント系」と「リソース系」に分類できる。イベント系エンティティとは,発注,購買,出荷などの企業活動に伴って発生する「トランザクション・データ」のことである。エンティティ名は,その後に「する」を付けても意味が通る場合が多い(発注する,出荷するなど)。

 一方のリソース系エンティティとは,イベント系エンティティが参照するエンティティのことで,企業の「マスター・データ」に相当する。例えば人(社員),組織(事業所,部署),物(商品,製品,部品),設備(工場,製造ライン),顧客(取引先,得意先,調達先),金(勘定科目),時間(年月日,時刻)などがリソース系エンティティとなる。

 リソース系のエンティティは,すべてのプログラムが共有するデータであり,企業情報システム全体のインフラとなる。従って全社規模のシステム開発プロジェクトでは,リソース系エンティティをいかに早期に確定,標準化するかが重要となる。