DataModel用于部分交付产品数量

时间:2016-05-11 21:53:13

标签: database data-modeling datamodel

考虑以下数据模型。 有了这个模型,在我看来,我们只能使用为产品订购的全部数量进行部分交货。

为了能够部分交付产品数量,我们应该改变什么?

例如,假设订单包含 50个单位的产品A 50个单位的产品B

首次部分交付可以向客户发送 25个单位的产品A 25个单位的产品B

第二次部分交付可以发送给客户 25个单位的产品A ,最后交付 25个单位的产品B

enter image description here

注意:click here获取示例数据模型

1 个答案:

答案 0 :(得分:0)

它在模型中接缝,我们在ordersshipments表之间有一对多的关系。因此,接缝部分装运在概念上是可行的。

您需要将item-quantity字段添加到shipment-itemsreturn-items表格,以显示每个产品满足的项目数量。

需要考虑数据的完整性以及。
如果某个产品每个订单都是唯一的,我的意思是如果您在{product_id, order_id}表中有order-items的唯一约束,那么:

SUM (shipment-items.item-quantity) grouped by order_item_id 
-
SUM (return-items.item-quantity) grouped by order_item_id 
<= 
order_items.order-item-quantity
Where order_items.order_item_id = shipment-items.order_item_id

创建货件时,需要在应用程序逻辑内部进行检查。

提示: 上述约束显示订单产品的所有已发送商品减去订单产品的所有退货商品,需要小于订购数量。< / p>