给定以下模型:
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)
这似乎是一种非常低效的数据存储方式,我只是觉得我对它的建模真的不正确(尽管它仍然有意义,但它可能不利于扩展/效率?)。有没有更好的方法来建模这个?
注意:给定的模型可以更改,但仍必须包含相同的信息。