我目前有一个表占多数(如99%)的一个字段的数据依赖于一个字段,但其他1%依赖于其他字段。如何设计一个具有类似条目的数据库表
例如,我有以下的价格表
product PK
color PK
cost
以下是该表中某些条目
product|color|cost
pen|red|$1.00
pen|blue|$1.00
pen|green|$1.00
etc....
pen|black|$0.90
pen|white|$0.85
pencil|red|$0.50
pencil|blue|$0.50
pencil|green|$0.50
etc...
pencil|black|$0.35
pencil|gray|$0.40
我与此表时遇到的问题是,每当我有添加一个产品或颜色我必须添加数百个类似的条目到这个表。
我目前想存储通过以下方式
pen|all_other_colors|$1.00
pen|black|$0.90
pen|white|$0.85
pencil|all_other_colors|$0.50
pencil|black|$0.35
pencil|gray|$0.40
我在正确的轨道上或有更好的数据库设计,处理这个问题的数据?任何帮助或链接将不胜感激。我无法为这个问题找到正确的措辞。
获取信息可能你总结你的问题?是不是要单独管理每个价格?或者?即使没有价格,您也需要管理哪些产品组合可用 – 2012-07-15 16:30:59
在我的设计中,我假定产品在颜色表中可以有任何颜色。我希望减少插入数百种产品颜色组合条目的需求(每次我添加一个新产品(经常发生),并且只处理产品颜色组合的定价例外情况(这很少见)。您的答案是那种我正在寻找的东西。我可能会用一个“异常”表,但我不确定是否违反了任何数据库设计理论。谢谢您的帮助! – 2012-07-15 20:20:31