ERモデリングレッスン6(イベント)

連載第4回の記事で紹介した基本パターンの「イベントと対象」「イベントと主体」「イベントと場所」のERモデルをまとめて説明する。(ERモデルを解説する理由については、以前のエントリ(id:ahirasawa:20050629)を参照していただきたい。)

UMLのクラス図は次の通り。

ERモデルは次のようになる。

これはビジネスアプリケーションに現れる典型的な構造である。「顧客(主体)」「商品(対象)」「店舗(場所)」をマスターとして管理し、「販売(イベント)」と「販売明細(イベント明細)」をトランザクションとして記録する。「販売」と「販売明細」はライフサイクルが一致するため親子関係にし、トランザクション側では「顧客」「商品」「店舗」への参照キーを保持するのがお決まりの方法である。

またUML or ERに限らない話だが、商品や顧客などのマスター情報をトランザクション側で重複して保持すべきかどうかも検討しておく必要がある。時間の経過によりマスター情報が変更される可能性がある場合には、トランザクション側でも「商品名称」「販売価格」「顧客氏名」などのマスター情報を重複して保持するのが常套手段となる。