データモデルのパターン

業務システムのための上流工程入門―要件定義から分析・設計まで」にデータモデルの基本パターンが載っていた。理解を深めるため図を書いてみた。

親子関係パターン
いわゆるヘッダー(見出し)と明細の関係のパターンである。子テーブルが外部参照する親テーブルのフィールドが、子テーブルのプライマリーキー(PK)にもなっているパターンである。


参照関係パターン
いわゆる外部キー(FK)で参照するパターンである。参照元が外部参照する参照先のフィールドが、参照元のプライマリキー(PK)にならない場合である。親子関係との違いは、PKかPKでないかの違いだけである。


派生関係パターン
こんなテーブルの定義の仕方があるんだと勉強になったパターンである。識別子の定義が全く同じテーブルを用意し、共通の属性は派生元テーブルに定義し、異なる部分は派生テーブルに定義する方法である。
たとえば、取引先を仕入先と出荷先(得意先)に分けて管理する場合である。会社名や住所などの共通の属性は、親テーブルである取引先テーブルにまとめる。そして、仕入先にだけ必要な属性項目(支払方法、月末締日など)と仕入先テーブルに定義し、出荷先にだけ必要な属性項目(出荷先住所など)出荷先テーブルに定義するのである。

従来であれば、筆者は仕入先と出荷先をまとめて取引先というテーブルを用意し、仕入先と出荷先はフラグで区別するテーブルを作成するところである。フラグによって、仕入先の会社、出荷先の会社、仕入先兼出荷先の会社を区別することはできるが、片方だけの取引先の場合は、不必要な属性がすべてNullとなってしまい扱いにくいテーブルになってしまう。

トラックバック

トラックバックURL:
http://www.apricot-jp.com/cgi/mt/mt-tb.cgi/342

関連情報

Copyright(C) 2007 アーキテクト360 Allrights reserved.