【问题标题】:DataModel for Partial deliveries over quantities of product产品数量部分交付的数据模型
【发布时间】:2016-09-07 12:30:25
【问题描述】:

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

我们应该进行哪些更改才能允许部分交付一定数量的产品?

例如,假设一个订单包含 50 单位产品 A50 单位产品 B

第一次部分交付可以运送给客户25 单位产品 A25 单位产品 B

第二次部分交货可以向客户发货25 件产品 A,最后一次交货25 件产品 B

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

【问题讨论】:

  • Shipments 表与许多其他表一样,具有“other_details”。该图并不意味着显示所有可能列的详尽列表。 Mohsen 的回答为您提供了您需要的列,但可能还有许多其他列,例如shipper_id、delivery_instructions 等等。

标签: database data-modeling datamodel


【解决方案1】:

它在模型中接缝,ordersshipments 表之间存在一对多关系。所以它接缝分批装运在概念上是可能的。

您需要将item-quantity 字段添加到shipment-itemsreturn-items 表中,以显示每个产品有多少商品被履行。

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

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

在创建货件时需要在您的应用程序逻辑中进行检查。

提示: 上面的约束表示一个订单产品的所有已发送物品减去该订单产品的所有退货物品,需要小于比订购的数量。

【讨论】:

    猜你喜欢
    • 2014-03-10
    • 2020-09-05
    • 2013-01-09
    • 1970-01-01
    • 2012-07-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-15
    相关资源
    最近更新 更多