我正在建立一个可配置产品的电子商店。可配置部件需要具有与主产品不同的价格和库存。 在这种情况下,哪种数据库设计最好?
我从这样的事情开始。
功能
功能选项
产品
产品功能
问题是现在我被困在如何保存可配置的产品功能上。 我正在考虑将它们的价值保存为json。但这将使某些选项的价格修改变得困难。
你会怎么做?
谢谢。
答案 0 :(得分: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)