产品有多个类别
每个产品类别属性不相同且属性数量不相同。(如 颜色、尺寸、重量)
每个属性的参数不同且数量不相同(如 红色、绿色)实现如下产品类别1:
       属性---颜色[红色、黑色、白色]
           ---尺寸[大、中、小]产品类别2:
       属性---领形[圆领、V领、衬衫领]
           ---季节[春季、夏季、秋季、冬季]
           ---厚度[超薄、薄软、中等、加厚]
产品类别、属性、参数均可在后台添加。
请问这样的数据库怎么设计?

解决方案 »

  1.   

    属性表(属性ID,属性名称,。)
    产品表(产品ID,产品名称,生产厂家)
    产品属性表(产品ID,属性ID,属性值)
      

  2.   

    属性基本表:
    属性ID 属性名称
    101     颜色
    10101   红色
    ....产品表:
    产品ID 属性ID产品类别:
    类别ID 类别名称
    1
    2
      

  3.   

    我理解是这样:品名,产品类别,产品通用属性1,产品通用属性2,产品通用属性3,产品专用属性1,产品专用属性2,数据的存储
    1最直观的方法是一个大表包括所有字段,
    2通用属性一个表如数量,专用属性一个表。查询数据的时候两个表用id关联。数据的查询
    可能只想查询某一个,几个,公共属性,或者是专有属性。这时候想要让人来选择。可以把所有属性放在一个字段中,或n个字段中。假如是n个字段,字段是树形关系。--例子--
    表a,为数据存储表,
    字段为:
    id,品名,产品类别,产品通用属性1,产品通用属性2,产品通用属性3,产品专用属性1,产品专用属性2,等
    表b为名字表,字段只有一个,其中的每一条数据对应表a每一个字段。查询时,先从b表得到要查询的名字,然后构造成select,delete等语句。执行这个语句,去a表中查询。