2012-01-13 78 views
0

請參閱下面的數據庫設計:數據庫設計爲特定的銷售訂單場景

enter image description here

考慮這樣的基於「產品」表中的農資創建了銷售訂單的情況。但是如果任何產品的價格發生變化,那麼價格不應該在過去創建的任何銷售訂單中更新。該價格只應用於新的銷售訂單。我需要做些什麼來照顧這種情況?

+0

請確保您選擇您決定使用的答案。謝謝,祝你好運。 – Andy 2012-01-13 04:57:46

+0

@我仍然有點困惑。但我很快就會選擇答案。試圖分析什麼是最好的辦法。 – wackytacky99 2012-01-13 05:09:16

回答

2

您需要將成本和價格添加到SalesOrderProduct表中,並在該表的初始附加期間對其進行設置。

+0

產品持有當前價格並用於構建每個新的銷售訂單。一旦銷售完成,您想要保留該訂單的產品價格。在SalesOrderProduct中貼上「當時的價格」似乎是合理的,但我想看看別人怎麼說。如果訂單的總數將從salesorderproduct構建,那麼在銷售訂單中是否需要productid? – mikeY 2012-01-13 04:28:53

+0

這是可以理解的情況下,你知道每筆交易只會購買一件物品。我現在感到困惑,因爲我不明白它將如何考慮與多個項目的銷售。例如,如果我買了一件襯衫和鞋子,這個模式將不起作用,因爲它會將它作爲兩個單獨的訂單而不是單一訂單。 – Andy 2012-01-13 04:33:55

+0

@andy難道你沒有record1:salesorderid1,productid1(shoes),shoeprice; record2:salesorderid1,prodctid2(shirt),shirtprice;等等?那麼訂單的總金額就是該訂單上項目的價格字段的總和。 – mikeY 2012-01-13 04:36:43

1

你想要一個單獨的表來保存總訂單。您只會持有單個行的單個項目訂單。看到銷售訂單是主鍵,您無法確定是否有相同訂單中的項目組。只需使用totalorder中的主鍵並將其引用到另一個表中,即可將屬於同一順序的所有內容分組。但是,如果這是你想要的功能,那麼John Easley說的很好。

+0

SalesOrderProduct可以處理多個產品(記錄) – 2012-01-13 04:14:00

+0

@我不關注。那麼,如果我想在同一銷售訂單編號下有一個或多個銷售訂單,我是否需要單獨表格?我需要一個單獨的表格。如果不是,我可以使用John Easley的解決方案? – wackytacky99 2012-01-13 04:14:16

+0

John,如果它僅僅用於鏈接產品和銷售訂單,它是如何處理的。每個單獨的銷售訂單都是唯一的,因此銷售訂單產品也是如此,但它不會將一堆物品鏈接到一個整個訂單。除非我錯了? – Andy 2012-01-13 04:18:53