Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database 产品批量部分交付的数据模型_Database_Data Modeling_Datamodel - Fatal编程技术网

Database 产品批量部分交付的数据模型

Database 产品批量部分交付的数据模型,database,data-modeling,datamodel,Database,Data Modeling,Datamodel,考虑以下数据模型。 在我看来,有了这种型号,我们只能对一种产品订购的全部数量进行部分交货 为了允许部分交付产品,我们应该做哪些更改? 例如,假设一个订单包含50个单位的产品A和50个单位的产品B 首次部分交付可向客户交付25台产品A和25台产品B 第二次部分交付可向客户交付25台产品A,最后一次交付25台产品B 注意:为了获得示例数据模型,我们在订单和发货表之间建立了一对多关系。因此,分批装运在概念上是可能的 您需要将项目数量字段添加到装运项目和退货项目表中,以显示每个产品完成了多少项目。还需

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

为了允许部分交付产品,我们应该做哪些更改?

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

首次部分交付可向客户交付25台产品A和25台产品B

第二次部分交付可向客户交付25台产品A,最后一次交付25台产品B


注意:为了获得示例数据模型,我们在
订单
发货
表之间建立了一对多关系。因此,分批装运在概念上是可能的

您需要将
项目数量
字段添加到
装运项目
退货项目
表中,以显示每个产品完成了多少项目。

还需要考虑数据的完整性。
如果每个订单的产品都是唯一的,我的意思是如果您在
订单项
表中有
{product\u id,order\u 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
SUM(装运项目.项目数量)按订单项目id分组
-
按订单\项目\ id分组的总和(退货项目.项目数量)

在模型中,我们在
订单
装运
表之间有一对多关系。因此,分批装运在概念上是可能的

您需要将
项目数量
字段添加到
装运项目
退货项目
表中,以显示每个产品完成了多少项目。

还需要考虑数据的完整性。
如果每个订单的产品都是唯一的,我的意思是如果您在
订单项
表中有
{product\u id,order\u 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
SUM(装运项目.项目数量)按订单项目id分组
-
按订单\项目\ id分组的总和(退货项目.项目数量)

装运表和其他许多表一样,具有“其他详细信息”。该图并不打算显示所有可能列的详尽列表。Mohsen的回答为您提供了所需的列,但可能还有许多其他列,如发货人id、交货说明等。装运表与其他许多表一样,具有“其他详细信息”。该图表并不打算显示所有可能列的详尽列表。Mohsen的回答为您提供了所需的专栏,但可能还有许多其他专栏,如发货人id、交货说明等等。