KAOS (65) 図式を使用する: 実体−関連図 (4.3.2)

実体関連モデルと呼ぶデータモデルを提案する.実世界における重要な意味情報を組み込んでいる. 1

今回は,実体−関連(ER)図の説明である.いまでもビジネス系(特にデータベース設計)では良く用いられる.

その名の通り,実体とその関係が中心に記述する.実体は属性を持つことが出来る.単純には,実体はデータベース設計におけるテーブルに相当する.属性はカラムに対応する.

以下で,原書にある会議スケジュール管理システムの例を示す.この例では,ほとんどクラス図と同等の記載方法になっている(一部,表現を変更した).

会議スケジュール管理システムの実体関連図

会議スケジュール管理システムの実体関連図

継承(サブクラスと書きたいが,対象は実体であり,サブ実体という用語はないので継承としておく)により,重要な参加者と一般の参加者を区別している(重要な参加者は,全員のスケジュールが合わないときに優先される).2つの三項関係があり,関連クラスによって示される.

実体関連図は,実体とそれを繋ぐ関連図というよりは,関連とその両端にある実体の図といった方が正しい.上記の右側にある三項関係を,実体関連図の伝統的な記法で書くと下記のようになる(伝統的と云うのは,冒頭の文を含む論文は,今から40年ほど前に発表されているからである).

伝統的な実体ー関連図の記法

伝統的な実体ー関連図の記法

関連は,なんらかの働きを行う.実体は,その働きに対してなんらかの役割を果たす.当初のChen氏の論文では,そう考えることで現実世界を理解することができる,としていた.
もう一つのポイントは,矩形や菱形は,それぞれ集合となっている点である.クラス図に慣れてしまうと,クラス基準で考えたくなるが,あくまで,インスタンスで考える.クラスに相当するものは集合として捉える.
クラスで考えることと,インスタンスで考えることは,最終的には同じように思うが,できあがったモデルに違いが現れる場合が多い.全体は,クラスで考える方が考えやすいが,細部では,インスタンスで考える方が考えやすく,思い込みによる間違いを減らすことができる.
実体ー関連図は,継承を取り込むことで,以前は,拡張実体ー関連図(EER)と呼ばれた.それは,図式としては現在のクラス図に近い.しかし,クラス図となると,当初のの実体ー関連図で,考えられていたこととは違った考え方で用いられる場合も多い.
もちろん,結局のところ,「図に,良し悪しはない.役立つか立たないかだけだ」 2
(nil)

Notes:

  1. Chen, P., The Entity – Relationship Model: Towards a Unified View of Data, ACM TODS, Vol. 1, No. 1, 1976. (実体−関連モデル:データの統合的な見方に向かって)
  2. 誰かの本で読んだのだが,どの本かが思い出せない.