我正在爲不同商品的庫存創建數據庫。例如,我可能有汽車,發動機和化油器。如何爲不同商品的庫存構建數據庫
對於每種類型的項目,也有獨特的屬性,有些是唯一標識(又名「序列化」)的項目,有些則不是。
屬性可以是,例如:
汽車
- SERIALNUMBER
- 顏色
- doorCount
- transmissionType
個發動機
- SERIALNUMBER
- cylinderCount
- 位移
化油器(序列化)
- barrelCount
- 製造商
當然,我需要能夠確定每種類型的物品有多少。我並不想創建一個表中的每個類型,因爲當我開始進行傳輸,輪胎,收音機,方向盤等項目類型將增加
一種方法我見過對付這樣的異構庫存的表格是item
,但也有一個attribute
表。它看起來像這樣:
**表:項目 **
- (鍵)ITEMTYPE(掛itemTypes包含 「汽車」, 「發動機」 的表格,等
- (鍵)SERIALNUMBER
- (其他字段共同所有itemTypes)
**表:屬性 **
- (鍵)屬性類型(與attributeTypes的表,例如「顏色」等。)
- (鍵)ITEMTYPE(掛ITEMTYPE在項目)
- (鍵)SERIALNUMBER(掛SERIALNUMBER在項目)
- 的AttributeValue(如果屬性類型是 「色」,這可能是「紅「,」藍色「等)
這個問題提出的一個挑戰是處理非序列化的項目。雖然這個結構很容易確定我有35個發動機,但我怎麼會表示我有52個化油器?我不想序列化它們。
這當然不是構建異構庫存數據庫的唯一方法。你使用了什麼,或者你有什麼其他想法?
感謝您的幫助。
謝謝。這很像我發佈的,但我喜歡將'serialNumber'作爲另一個屬性的想法。我不喜歡的一件事就是將'quantity'作爲屬性存儲,因爲這個數量可能在不同的位置/箱子中。我想這只是展示了我將如何處理庫存位置。不過謝謝,這很有幫助。 – 2012-02-17 21:33:59
此外,問題仍然存在,表示我有8個四桶Edelbrock碳水化合物,35個雙桶Schebler碳水化合物和10個雙桶Edelbrock碳水化合物。這裏以屬性爲中心的方法非常認爲每個庫存都必須有一個「項目」記錄。 – 2012-02-17 21:37:03
好吧,也許需要有一個用於雙桶Edelbrock碳水化合物的itemType,並且每個其他類型都需要一個。基本上,itemType將保存所有零件號或SKU。 – 2012-02-17 21:46:33