2014-09-13 130 views
0

我在建立电子商务网站时遇到了一个数据库设计问题。数据库设计将订单连接到采购订单

说假设最终用户将低于订单。

+---------+--------+------+--------+ 
|   | 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相关的订单,请问您能否提出一个更好的设计。

问候 马尼什

回答

0

你需要认识到,订单(客户)和采购订单(给供应商)都具有一个或多个项目。您的订单表格显示为未归一化状态。它应该标准化为订单标题和订单项目。

同样,获得的股票通过使采购订单给供应商,以满足客户订单还应该构建一个抬头和项目,假设您的供应商在同一时间接受订单就超过了一个项目。

此外,您购买可能购买散装和一次充满许多订单细节享受运费批量折扣或储蓄等。如果是这样的话,那么你可能要与交集实体,以取代从ORDER_ITEM直接关系到PO_ITEM,如PO_ITEM_DETAIL

考虑下面的ERD:

enter image description here

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

+0

我必须考虑一下,谢谢你的建议,尽管..其实,我,马启动和购买仓库和购买股票的空间,我真的不知道如果客户将不适合我的预算现在..我已经从整个Saler获得订单并将其交付给最终用户,至少现在,我将来可能会考虑建立一个仓库。 – Manish 2014-09-14 04:31:32