现在需要设计一个产品管理的模块,但是我们厂生产的产品种类特别多而且不是每个产品的属性都是一样的。现在在数据库设计的时候遇到了很大问题,希望论坛里有人指教指教。
例如:
现在有3类(当然实际中最少也是300种)产品他们都有公用属性分别是“名称”、“单价”、“材质”;还有一些自带的专有属性
a类:“重量=1kg”、“高度=15cm”、“颜色=黑色”;
b类:“重量=2.5kg”、“光洁度=1”、“包装=普通”;
c类:“长=11cm”、“宽=5cm”、“颜色=灰色”、“周期=20h”;
现在的设计是用两个表保存记录
a表保存公用属性,设置字段:
id | 名称 | 单价 | 材质 | 特殊1 | 特殊2 | 特殊3 | 特殊4 | 特殊5 ...... 特殊15
1 a类 1 刚 1kg 15cm 黑色 null null null
2 b类 1.5 铁 2.5kg 1 普通 null null null
3 c类 1 铜 11cm 5cm 灰色 20h null null
b表保存特殊属性,设置字段:
id | aid | 属性名称 | 字段顺序(表示第几个特殊属性)
1 1 重量 1
2 1 高度 2
3 1 颜色 3
4 2 重量 1
5 2 光洁度 2
6 2 包装 3
7 3 长 1
8 3 宽 2
9 3 颜色 3
10 3 周期 4
这样保存产品信息,列表显示产品基本可以实现,但是程序比较麻烦,而且没有办法实现用特殊属性检索产品。
请给点意见!!!