ビジネスの視点でデータを整理する

2010年10月14日(木)
松田 安弘

エンティティは一定のルールで関連付け可能

(5)手順9と手順10:「リレーションシップの定義とフォーリン・キーの設定」

手順9と手順10は、同時に行います。エンティティ間のリレーションシップは、フォーリン・キーの設定ルールをもとに設定します。親エンティティの識別子を子エンティティのフォーリン・キーとして設定することで、関連付けを行います。

この「フォーリン・キー設定ルール」は、手順7で識別したエンティティ・タイプと、エンティティ間の多重度を表すカーディナリティ(「1:N」、「N:N」)の組み合わせによって異なります。ここでは、いくつかの例を紹介します(図4)。

(1)「リソース:イベント」が「1:N」の場合

「イベントがリソースを参照する」パターンは、最も多く見受けられます。図の例では、「顧客」と「受注」がこのパターンです。なお、フォーリン・キーの挿入先は、エンティティの独立性が「(N)」の場合にはプライマリ・キー側、「(U)」の場合には非キー側となります。

(2)「イベント:イベント」が「1:1」の場合

イベント同士の場合、参照関係は時系列順になります。つまり「受注」が「請求」を参照するという関係になります。

(3)「イベント:イベント」が「N:1」の場合

カーディナリティだけに着目して誤ってリレーションシップを定義することのないように注意します。時系列を正しく捉えれば、ビジネスの流れと参照関係が逆転したデータ・モデルを作ることはありません。

図4: フォーリン・キー設定ルール(クリックで拡大)

(6)手順11:「DUMMYエンティティの解決」

手順9、10で「対応表」が追加されたら、DUMMYエンティティの各属性が従属できるかどうかを確認し、転記します。例えば、「受注数量」と「商品小計」が、対応表「受注・商品」の管理情報となるため、これに従属させます。また、「受注・商品」には「数量的要素項目」が従属したことで、イベントとして扱われます。

簡単ですが、以上が、正規化簡便法による手順です。

図5: DUMMYエンティティの解決(クリックで拡大)

ビジネス活動を意識したER図の作成を

正規化によってデータの整理が完了しても、データの重複は依然として残っています。このため、次の工程である最適化と一般化の手順が控えています。次回は、これらに加え、ビジネスの変化に迅速かつ柔軟に対応するための施策「安定化検証」について紹介します。

「ビジネスを効率よく表現する。高品質なER図で表現する」ためには、なんらかの方法論に基づいた技法が必要です。正規化簡便法では、一般的な正規化手法では曖昧だった手順をなくすことを目的に、作業工程を細分化し、誰もが同じデータ・モデルを描けるようにルールを手順化しています。是非、実践してみてください。

株式会社アシスト コンサルティング室 シニア・コンサルタント

データモデリング分野やビジネスモデリング分野のコンサルティングに従事。支援実績は、製造業からサービス業と、顧客の幅と数とも多い。現場主義に徹することとがモットー。最近は、原点に立ち返り、データモデルでビジネスを語ることを現場で訴求している。

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています