Database design DB设计将订单链接到PO
一、 我正在建设一个电子商务网站,我被一个数据库设计问题困住了 假设最终用户下订单Database design DB设计将订单链接到PO,database-design,Database Design,一、 我正在建设一个电子商务网站,我被一个数据库设计问题困住了 假设最终用户下订单 +---------+--------+------+--------+ | | Tomato | Rice | Maggie | +---------+--------+------+--------+ | Order 1 | 1 KG | | | | Order 2 | 2 KG | 5 KG | 100 Gm | | Order 3 | 2 KG | 1
+---------+--------+------+--------+
| | Tomato | Rice | Maggie |
+---------+--------+------+--------+
| Order 1 | 1 KG | | |
| Order 2 | 2 KG | 5 KG | 100 Gm |
| Order 3 | 2 KG | 1 KG | |
+---------+--------+------+--------+
我必须合并以上订单,并作出采购订单,如下所示
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
但使用上述设计,我无法跟踪订单相关的订单,请您建议一个更好的设计
问候
Manish您需要认识到(来自客户的)订单和(给供应商的)采购订单都有一个或多个项目。订单表显示为非规范化状态。它应该规范化为订单标题和订单项 类似地,如果您的供应商一次接受多个项目的订单,则通过向供应商发出POs来获取库存以满足客户订单,也应将其结构化为标题和项目 此外,您的买家可能会批量购买,并一次填写许多订单详细信息,以享受批量折扣或节省运费。如果是这种情况,那么您可能希望用交叉实体(如
PO\u ITEM\u DETAIL
)替换从ORDER\u ITEM
到PO\u ITEM
的直接关系
考虑以下ERD:
顺便说一下,我认为把客户订单与订单直接联系起来是一个不寻常的要求。如果您的业务基于“直运”模式,这将是有意义的。另一方面,如果您从自己的库存中填写订单,那么客户订单和采购订单之间的链接在大多数情况下并不一定适用。我必须考虑一下,不过谢谢您的建议。。事实上,我是一家初创公司,正在为仓库和存货购买空间,我真的不知道客户是否会不符合我目前的预算。。我已经收到了整个Saler的订单,并交付给最终用户,至少现在,我可能会考虑建立一个仓库。