情况是这样的,
有一个商品表,但是根据商品种类不同呢,有不一样的属性,
比如第一种商品有A1,A2,A3,A4,A5,A6........等属性,
第二种商品有A2,A4,A5,A6,B3,B5,B6。。等属性
第三种商品有A2,A5,A6,C1,C2,C4....等属性,
就是每种商品有共同的属性,又有各自的属性,但是在大体上算是一种商品,
我的问题是,数据库要怎么设计呢,
我想有两种方法,
第一种是一个大表,这个表包含有每种商品的所有属性,对应的字段有值就添加,无值便空着,这样是数据库表少了,但是好像冗余挺大的,
第二种是分别建立多个对应于不同种商品的表,每个表存储相对应的商品,但是又觉得的表多了,会不会也增加负担,
我对数据库不是很了解,高手们帮我分析下吧

解决方案 »

  1.   

    去ECSHOP里面弄吧,一个很成熟的商品销售管理程序。| ecs_goods               |
    | ecs_goods_activity      |
    | ecs_goods_article       |
    | ecs_goods_attr          |
    | ecs_goods_cat           |
    | ecs_goods_gallery       |
    | ecs_goods_type          |
    | ecs_group_goods         |
      

  2.   

    第二种:建四个表吧
    1.商品类别表 sid,name
    2.共有属性表 gid,sid,name
    3.专有属性表 zid,sid,name
    4.商品属性表 pid,gid,zid,name
      

  3.   

    不知道你的具体需求,帮你分析下。1.属性表(属性id,属性name)
    2.属性值表(商品id,分类id,属性id,属性值)
    3.分类表(分类id,分类pid,分类名)
    4.分类属性表(分类id,属性id)
    5.商品分类(商品id,分类id)
    6.商品表(商品id,商品name)商品属于哪个分类,分类绑定那些属性,分类是无限级,每一级分类都可绑定相应属性,子类继承父类属性,本身可以再细分属性。