![](https://blogimg.goo.ne.jp/user_image/21/67/a4d396d7afb43236eb9c244dbc9c75c1.png)
”受注明細”のサブタイプとして”受注明細(調整)”を分離することにより、受注にまつわる調整情報を管理できるようにはなりますが、“受注明細”間の関係については、どのような関連になっているのか管理できません。
例えば、ある商品に対して10%値引きを行うといった場合、複数存在する受注商品のうち、どの商品に対して値引きを行っているのかがわからないという問題です。
また、調整明細で配送料を別途もらいうけるといった場合、サイズが小さい商品の場合は複数商品を同梱することがあります。その場合、配送料はどの商品と、どの商品に対する配送料なのかといったことを管理する必要がでてきます。
上記のような管理を行うためには、“受注明細”間の関連を管理できる構造にしておく必要があります。
ある“受注明細”に対する調整としては、ある商品に対して「値引き」を行ったり「配送料」をもらい受けたりと複数の“受注明細(調整)”が存在することが考えられます。
また、逆にある“受注明細(調整)”は複数の“受注明細(商品)”の調整を行うこともあります。
“受注明細”どうしで関連する内容がそれぞれ複数存在するということになりますので、“受注明細”間にN対Mの関係が存在することになります。
N対Mのリレーションが存在するので、中間(関連)エンティティとして“受注明細関連”エンティティを追加し、1対Nの関係を2本定義し、1対Nの関係に分解します。
また、“取引明細関連タイプ”エンティティを追加し、どのような関連を定義できるのかを管理していきます。こうすることにより、取引上で管理したい明細間の関係が増えた場合も、“取引明細関連タイプ”に関連種類を追加することにより管理することができるようになります。
※コメント投稿者のブログIDはブログ作成者のみに通知されます