考虑以下数据模型。 有了这个模型,在我看来,我们只能使用为产品订购的全部数量进行部分交货。
为了能够部分交付产品数量,我们应该改变什么?
例如,假设订单包含 50个单位的产品A 和 50个单位的产品B 。
首次部分交付可以向客户发送 25个单位的产品A 和 25个单位的产品B 。
第二次部分交付可以发送给客户 25个单位的产品A ,最后交付 25个单位的产品B 。
注意:click here获取示例数据模型
答案 0 :(得分:0)
它在模型中接缝,我们在orders
和shipments
表之间有一对多的关系。因此,接缝部分装运在概念上是可行的。
您需要将item-quantity
字段添加到shipment-items
和return-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>