以下のモデルを考えると:
CustomerType1(id, telephone, address)
CustomerType2(id, telephone, name)
OrderType1(id, timestamp, customerType1.id, comments, enum1)
OrderType2(id, timestamp, customerType2.id, comments)
OrderType3(id, timestamp, name)
以下をどのようにモデル化しますか?
OrderList(id, OrderType.id, ..)
OrderItem(OrderList.id, MenuItem.id)
A. orderTypes に適応するために、3 つの異なるタイプの OrderLists が必要ですか?
OrderList1(id, OrderType1.id, ..)
OrderItem1(OrderList1.id, MenuItem.id)
OrderList2(id, OrderType2.id, ..)
OrderItem2(OrderList2.id, MenuItem.id)
OrderList3(id, OrderType3.id, ..)
OrderItem3(OrderList3.id, MenuItem.id)
または
B. orderLists と OrderTypes の間の関係の 3 つの定義はより良いでしょうか?
OrderList_Type1(orderList.id, orderType1.id)
OrderList_Type2(orderList.id, orderType2.id)
OrderList_Type3(orderList.id, orderType3.id)
これはデータを保存する方法としては非常に非効率的で、モデル化が本当に間違っているように感じます (それでも意味はありますが、スケーリングや効率には良くないのでしょうか?)。これをモデル化するより良い方法はありますか?
注: 指定されたモデルは変更できますが、同じ情報が含まれている必要があります。