2017-10-14 71 views
1

比方說,我有一張關於我所銷售的所有產品信息的表格,以及一張關於我的七家店鋪信息的表格,每家店鋪都有自己的編號。現在我想創建一個表格,告訴我總共有多少特定產品,以及每個商店有多少產品。我正在考慮讓每個商店成爲新表格中的一個專欄。什麼是一個聰明的方法來做到這一點?有沒有更好的方法來處理它?我可以有一個沒有主鍵的桌子嗎?如何避免有太多類似的列?

enter image description here

+2

** YIKES **如果您曾經看到[姓名] 1,[姓名] 2,... [姓名] n跑山!這不是正常化的,並且會在...之後的痛苦中。當商店5和6合併時會發生什麼情況,以便您可以打開3個新商店?保持模型正常化。另外,價格是否隨時間而變化?或者商店之間的價格可能不同? –

+0

我不知道如何在這種情況下做標準化。這就是我所要求的。如何減少一列產品的數量而不需要多個主菜單? – waterdrinker

+0

對於研究的規範化有很多參考,下面已經有相關的答案。你有很多產品,並有幾家商店,每家商店都有很多的產品。所以在某些情況下,必須對產品進行多重引用(但您只需要一個主記錄來定義產品)。我強調的數據模型症狀清楚地表明需要更多的標準化。 –

回答

4

庫存表,在這裏你應該有:

  • 產品編號(FK)

  • STOREID(FK)

  • 股票

如果您想擁有商店的總庫存量 - 使用GROUP BY創建視圖。 對於PK,您可以使用該複合體作爲ProductId + StoreId或創建一個人造的。主要關鍵幾乎總是被強烈推薦。