数据库设计将订单链接到采购订单

时间:2014-09-13 16:25:57

标签: database-design

我正在构建一个电子商务网站,我遇到了一个数据库设计问题。

假设最终用户位于订单下方。

+---------+--------+------+--------+
|         | Tomato | Rice | Maggie |
+---------+--------+------+--------+
| Order 1 | 1 KG   |      |        |
| Order 2 | 2 KG   | 5 KG | 100 Gm |
| Order 3 | 2 KG   | 1 KG |        |
+---------+--------+------+--------+

我必须合并以上订单并制作PO,如下所示。

PoID    Product Quantity    WSName  Cost    Status      OrderDate   
1       Tomato  5KG         Shop1   100     Confirmed   13/9/2014   
2       Rice    6KG         Stock   600     Confirmed   13/9/2014   
3       Maggi   100GM       Shop1   40      Waiting     13/9/2014   

但是使用上述设计我无法跟踪与PO相关的订单,请您建议更好的设计。

此致 和Manish

1 个答案:

答案 0 :(得分:0)

您需要认识到订单(来自客户)和采购订单(来自供应商)都有一个或多个商品。您的订单表显示为非标准化状态。它应该标准化为订单标题和订单商品。

同样,假设您的供应商一次接受多个项目的订单,通过向供应商提供PO来获取库存以填充客户订单也应该被构造为标题和项目。

此外,您的购买者可能会批量购买并立即填写许多订单详细信息,以享受批量折扣或节省运费。如果是这种情况,那么您可能希望将ORDER_ITEMPO_ITEM之间的直接关系替换为交叉实体,例如PO_ITEM_DETAIL

考虑以下ERD:

enter image description here

顺便说一句,我认为以这种直接方式将客户订单与采购订单联系起来是一种不寻常的要求。如果您的业务基于“掉货”模式,这将是有意义的。另一方面,如果您从自己的库存中填写订单,那么客户订单和采购订单之间的链接在大多数情况下都不一定适用。