2014-09-13 106 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