ここまでのモデルでは“受注”に「受注登録日」「受注変更日」「受注取消日」といった受注状態の変化した日付や、「売上計上フラグ」「出荷指示書フラグ」「受注一覧発行済フラグ」「仕入計上フラグ」といった、受注状態そのものを管理するための属性が定義されています。
しかし、受注としてどのような状態を管理すればいいかという問題は、企業や業務のやり方によって千差万別であり、同じ会社であってもビジネス要件が変更されれば、管理すべき状態も増減していくはずです。
そこで、“受注”エンティティに直接、状態を管理する属性を定義するのではなく、エンティティとして独立させて受注状態を管理できるようにしておきます。
取引の状態は上記のように1つの受注に対して複数存在することが考えられますし、逆にある状態の受注というものも複数存在していると考えられます。
従って、受注と取引状態はN対Mの関係になりますので、中間(関連)エンティティを追加し、以下のように定義します。
※コメント投稿者のブログIDはブログ作成者のみに通知されます