2010-04-15 106 views
0

我正在構建一個可配置產品的電子商店。可配置部件將需要與主要產品有不同的價格和庫存。 在這種情況下最好的數據庫設計是什麼?針對可配置產品eshop的數據庫設計建議

我從這樣的事情開始。

特點

  • ID

功能選項

  • ID
  • id_fe ATURE

產品

  • ID
  • 價格

產品特點

  • ID
  • id_product
  • id_feature
  • 值(保存來自特徵期權的價值爲便於搜索)
  • 配置(是,否)

的問題是現在我被困在如何保存可配置的產品功能。 我正在考慮將它們的價值保存爲json。但是這會使某個選項的價格修改變得困難。

你會怎麼做呢?

謝謝。

+0

寫了一篇關於我採用的解決方案的文章。 http://www.gsdesign.ro/blog/database-design-example-for-a-configurable-product-eshop/ – 2011-01-07 08:21:43

+0

我在你的blogpost上添加了一條評論。 Personnally我認爲這將是一個很好的開始一個新的問題,並揭露你的解決方案,你採用在博客文章解釋,它會很好:) – Piero 2013-03-04 15:26:10

+0

嘿抱歉再次打擾你,我評論你的博客帖子,你可以看看請? – Piero 2013-03-05 18:34:00

回答

2

另外兩張桌子會做魔術(下圖)。像JSON或可解析的文本字段的文本可以並且應該總是被避免。

-- one product <id_product> can have multiple 
    -- product variants <id> with different features enabled 
    product_variant 
    id 
    id_product (one product - many variants) 

    -- features, enabled for certain <id_product_variant> 
    product_variant_enabled_feature 
    id 
    id_product_variant (one variant - many features) 
    id_product_feature 
    unique_constraint(id_product_variant, id_product_feature)