我正在爲某些業務開發完整的解決方案。我有一個具體的要求:系統必須能夠按件登記銷售產品,讓我解釋一下:如果一盒香菸包含20件,該軟件必須能夠註冊整箱或兩支香菸的銷售。零售數據庫設計
但是由於軟件也必須能夠管理庫存,所以我很困惑如何設計一個數據庫來支持這個功能。
下面是幾秒鐘前生成的一個虛擬示例,所以我知道這太可怕了,我只是想演示一個簡單的示例。
我打算在ProductInventory添加一條記錄在整個商店每個可用的產品,每當我的客戶希望銷售某種產品的一些作品,軟件將:通過條形碼篩選產品,訂單他們由PiecesLeft升序並從結果集的頂級產品中減去這些片段。
這是正確的方法嗎?我對這種方法感到不安,因爲我認爲它會在ProductInventory上產生太多記錄,你們覺得怎麼樣?你會怎麼做?
我想合併的產品具有相同的條碼和PiecesLeft有較少的記錄,但我不知道該怎麼做(也許使用觸發器?)
因此,要總結,我要的是什麼忠告你可以給我和我的方法意見。
謝謝你的時間。
條形碼只是懶惰的PK,它是我創建的虛擬圖表,甚至不會接近它會是什麼,你會建議作爲PK,一個自動增量int? 我絕對不會做自我關係,因爲大約有18K個完全不同的產品記錄,並且每個產品都有10-30個產品庫存,這將導致巨大的表格,我必須不斷地閱讀/寫 – Areks 2013-03-10 00:43:25
@Areks:沒有必要的自我關係,它只是一個選項...身份(或序列生成的序列,如果你碰巧使用SQLServer 2012)是我選擇。 – a1ex07 2013-03-10 00:47:08
在你的兩支香菸或一盒20支香菸的例子中,兩者都是在同一個條形碼下嗎? – 2013-03-10 00:55:03