我正在購物車上工作,我的問題是,我應該如何設計產品尺寸選擇數據庫? T恤可以是「XL,L,M,S」等,鞋子可以是「36,37,38,39 ... blabla」我應該只爲一種尺寸的桌子或多種類型的桌子(T恤,鞋子等) )?購物車結構問題,尺寸選擇等
在此先感謝...
我正在購物車上工作,我的問題是,我應該如何設計產品尺寸選擇數據庫? T恤可以是「XL,L,M,S」等,鞋子可以是「36,37,38,39 ... blabla」我應該只爲一種尺寸的桌子或多種類型的桌子(T恤,鞋子等) )?購物車結構問題,尺寸選擇等
在此先感謝...
Table: size_selection
Item_id numeric
Item_size varchar
Seq numeric
ITEM_ID - >項目表(說的id = 1 - > T恤ID = 2 - >鞋)
所以,你的表是
Item_ID Item_size Seq
__________________________
1 S 1
1 M 2
1 L 3
1 XL 4
2 36 1
2 37 2
2 38 3
2 39 4
然後,在網頁上,只是讓你下拉值
Select item_size from size_selection
where item_id = :p_ID
order by seq
續集語法可能因您的口味而異。
我不是很清楚你的理由是想要多個表。也許你已經掛上了一些事實,即一些尺寸是alpha,一些是數字。
如果多數民衆贊成的原因,然後直接忘記它。對於像這樣的不同變體,沒有任何有用的數字含義,所以它們應該全部作爲varchar存儲以支持字母數字字符。
如果你需要排序,然後把sortorder也。這應該是分開的。不要嘗試對項目大小本身進行排序 - 就您的應用而言,它們都只是個人選擇,並不重要,它們是數字。
Upvoted爲可行的答案。幹得好,@TomatoSandwich,但我有兩個不同的表格,shirtSize和pantSize。只是我的0.02美元。當嘗試製作「Size」類或枚舉並將其用作襯衫類,Pant類或Garment類的屬性時,尤其如此。 – Rap 2009-09-08 03:16:42
不知道爲什麼你想分開襯衫和褲子,還有鞋子,帽子等(可能)。我的解決方案只是一個通用的商品代碼值表,並將FK轉換爲商品類型表。 2張桌子,無限項目類型。 – glasnt 2009-09-08 03:22:12
這很好地回答了他陳述的問題。我只是想補充一點,如果您需要對某個項目進行兩次或多次下拉操作(例如選擇大小和顏色),則可以稍微擴展/概括一下,調用表item_options並添加一個屬性字段。所以你有item_id,屬性(顏色,大小等),價值(大,粉紅色等),seq – JasonWoof 2009-09-08 03:29:30