2016-03-17 55 views
-3

我有一個產品有許多顏色變體,我需要一些幫助來設計數據庫表。這是同一款產品,但並非所有型號都具有相同的顏色變體。一種產品有3種顏色,其他可能有6種顏色。多屬性數據庫設計

+1

嗨,鮑勃,歡迎StackOverflow上。請仔細閱讀「[如何提出一個好問題](http://stackoverflow.com/help/how-to-ask)」。你必須嘗試之前詢問... – fusion3k

+0

你可以有表'產品',表'選項'和表'option_to_product',你的產品ID綁定到選項ID –

回答

0

這是讓你去的東西。您可以同時在modelsoptions的價格字段中進行彙總,這樣您可以根據型號和顏色選項獲得不同的價格。

enter image description here

UPDATE

您的查詢將被somoething像:

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

+0

謝謝你的答案,option_to_model表如何將使用不同的顏色變種?我不需要任何價格,它不是一個電子商店的產品選擇。 –

相關問題