物料信息数据表的设计
我现在遇到这样一个需求:
1、一个公司,有很多物料,需要将物料信息保存在数据库里
2、物料分很多种类,每种物料属性项不与样,比如A种物料有长度,高度,体积等属性;B种物料有深度,直径,重量等属性;
3、物料种类很多,有几百种,且不同种类的物料属性项差异也比较大,有的物料只有一两项属性,有的则有几十项。
我现在有两种思路,
一是每种物料设计一张表,物料的属性项作字段,这样设计的缺陷是表会非常非常多;
二是用一张表保存所有种类的物料,这样表的字段要取所有物料属性项的全集,这样字段会非常非常多;
感觉这两种都不好,本人数据库新手,请经验丰富的高手帮忙给个思路吧?
------解决方案--------------------1、物料类型(物品类型ID,类型说明)
2、属性列表(属性ID,属性名称)
3、物料类型与属性匹配表(物品类型ID,属性ID,属性值,属性单位)
4、详细物品表(物品ID,物品名称,物品类型ID)
参考
------解决方案--------------------我觉得采用第二种方式吧,不过得修改一下,就是不要设计那么多的字段,而是改成这样:
物料属性表:
物料属性id ,属性名称
1 ,长度
2 ,高度
物料属性对应表:
自增id,物料id,物料属性id,属性值
1 ,1 ,1 ,100