連載
» 2009年11月11日 00時00分 公開

ゼロからのデータモデリング入門(10):ビジネスの変化に強いデータモデルを作る (3/3)

[沖冠吾,株式会社アシスト]
前のページへ 1|2|3       

リレーションシップの安定性の阻害要因

 最後に、リレーションシップの安定性について考えてみます。

 例えば、図5の「顧客」と「請求」の間のリレーションシップを考えてみましょう。将来、請求先が受注先と異なる場合も想定しておく必要があれば、現状は冗長なリレーションシップであっても、将来のビジネス変化を見据えた柔軟なデータ構造であるといえます。

 この例のように一見して冗長なリレーションシップと解釈されてしまう危険性のあるものについては、外部キーに対して「請求先番号」のようなロール名を定義しておくとよいでしょう。さらに、ビジネス変化に伴うカーディナリティの安定性も検証します。その際、カーディナリティの最大値だけでなく、最小値(リレーションシップ上は“○”と“|”で表記される“0”と“1”)についても検証してください。なぜなら、それによってビジネスルールが変わるからです。例えば、カーディナリティの最大値を検証して「納品」と「請求」の関係が「1:1」なら“納品都度請求”というビジネスルールとなります(図6)。

●図5 リレーションシップの安定性(1) ●図5 リレーションシップの安定性(1)

 次にオプショナリティ(カーディナリティの最小値)についても検証します。

 例えば図6では、「納品」から見て「請求」は“0”になっています。すなわち“納品時には必ずしも対応する請求は存在しない”ということです。ここでの検証とは、この関係が「1:N」や「N:1」にならないかをシミュレーションすることになります。これをビジネスルールで表すと、それぞれ“分割請求”や“一括請求”になります。そして、将来そのようなビジネスルールに対応する必要がないかをユーザーに確認してください。

 一方、「請求」から見て「納品」は“1”になっています。すなわち“請求時には必ず対応する納品が存在する”ということです。このように将来、“納品を伴わない請求が存在する”可能性があるなら、そのビジネスルールに対応するデータ構造にしておく必要があります。

●図6 リレーションシップの安定性(2) ●図6 リレーションシップの安定性(2)

作ったら終わりから「使い続けるデータモデル」へ

 ビジネスの変化に強いデータモデルとは、将来のビジネス変更要素をとらえて対応できるモデルです。

 ビジネスは常に変化します。この変化をとらえてデータモデルの検証、修正を行うことで、ビジネス変化に対応したシステム構築ができるのです。システムがカットオーバーしたあと、データモデルを見ることはないといった状態では、ビジネス変化に対応したシステム構築を迅速かつ効率的に行えません。「作ったら終わりのデータモデル」から「使い続けるデータモデル」へ変えることが重要なのです。

 次回は、物理データモデル作成のポイントについて解説します。


前のページへ 1|2|3       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

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

メールマガジン登録

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