问题描述
现在需要设计一个产品管理的模块,但是我们厂生产的产品种类特别多而且不是每个产品的属性都是一样的。现在在数据库设计的时候遇到了很大问题,希望论坛里有人指教指教。 例如: 现在有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 这样保存产品信息,列表显示产品基本可以实现,但是程序比较麻烦,而且没有办法实现用特殊属性检索产品。 请给点意见!!!
解决方案
这 个方法我用过,是可行的,那是很多年以前第一次独立开发的时候。你说的没法实现特殊属性检索产品,我感觉这个需求是否是客户需求待确定!如果非要放在一起,可以在a表加个大文本字段,把b表的结构转换成xml存进去,目前很多数据库支持xml的SQL查询。另外,程序肯定会麻烦,本来对你的设计没意见,但对你嫌程序比较麻烦很有意见。。做吧,做了就知道了,有些时候开始麻烦,以后轻松,而有些,开始轻松而以后麻烦到死
解决方案二:
不知道lz最后怎么解决的这个问题 我现在也遇到了 lz能分享下嘛 不胜感激啊
解决方案三:
。。。发了短消息,就不给分了?