多属性数据库设计

时间:2016-03-17 08:22:21

标签: php database

我有一个产品有很多颜色变体,我需要一些帮助来设计数据库表。它是相同的产品,但并非所有型号都具有相同的颜色变体。一种产品有3种颜色,其他可能有6种颜色。

1 个答案:

答案 0 :(得分:0)

这是让你前进的东西。您可以在modelsoptions中设置价格字段,然后在脚本中对其进行求和,这样您就可以根据型号和颜色选项设置不同的价格。

enter image description here

更新

您的查询将会像以下一样:

SELECT
p.name AS 'product',
m.name AS 'model',
m.description AS 'model_description',
o.name AS 'option'
FROM `products` AS p

LEFT JOIN `models` AS m
ON (p.ID = m.product_id)

LEFT JOIN `option_to_model` AS otm
ON (m.ID = otm.model_id)

LEFT JOIN `options` AS o
ON (otm.option_id = o.ID)

以下是您SQLFiddle

的实例