alibaba行业是二级联动分类的,当选择不同的分类时,表单的规格栏发生相应的变化。   
  例如,当选择"电器类"的时候有"额定电压"的信息栏供填写;当选择"食品类"的时候有"保质期"。   
    
  alibaba的行业类别足有数千,每类别产品对应数个不同规格参数,把不同类别的规格参数累加起来至少又是数千,这些信息是如何存储和组织起来的呢?   
    
  --------------------------------------------------------------------------------   
    
  拟设计产品数据表包含数十个字段存储产品规格,字段具体含义从产品类别的规格说明获取,一一对应,形如:   
  产品表   
  字段:产品名         类别         规格1         规格2       规格3……   
     天逸S180 1         P4.24  256     17    ……   
  类别表   
  字段:类别名         规格1         规格2       规格3……   
     计算机         CPU       内存         显示器   
  这样似乎能解决问题,但规格都只能存储文本信息,对产品信息搜索造成不便,且有很多冗余,可读性不好,程序效率不高   
    
  不知道有什么好的做法没有? 

解决方案 »

  1.   


    它有个专门存放行业属性的关系数据字典表id,大分类,小分类,属性id,属性值
    每个分类都存放在不同的表里面,分别由一般字段和特殊字段组成
      

  2.   


    你没看alibaba,就不用来讨论了,呵呵,不是你想的那种。设,有产品分了2000类别,
    若选个分类1,会出现:共同属性a、共同属性b、分类1专有属性11、分类1专有属性12、分类1专有属性13、......
    若选个分类2,会出现:共同属性a、共同属性b、分类2专有属性21、分类2专有属性22、分类2专有属性23、......
    ..............数据库怎样设计?问题其实就是这样的。
      

  3.   

    应该是动态属性:只能等值匹配,你只能选择。
    尺    寸:10.4英寸 | 12.1英寸 | 14英寸 | 14.1英寸 | 15英寸 | 15.4英寸 
               17英寸 | 17.4英寸 | 19英寸 | 19.6英寸 | 20英寸 | 20.1英寸
               21英寸 | 22.2英寸 | 24英寸 | 32英寸 | 其他 
    黑白响应时间:8ms | 12ms | 13ms | 14ms | 15ms | 16ms | 17ms | 20ms | 22ms                23ms | 25ms | 26ms | 30ms | 33ms | 40ms | 50ms | 62ms | 其他 
    平均亮度:250cd/m2 | 270cd/m2 | 280cd/m2 | 300cd/m2 | 350cd/m2 | 400cd/m2            430cd/m2 | 450cd/m2 | 500cd/m2 | 550cd/m2 | 600cd/m2 | 2000cd/m2            其他 
      

  4.   

    哦,原来我很笨。
    不过我说了是动态属性
    建表:属性表
          字段:属性ID,属性名称,属性值。
                  1      尺寸    10.4英寸
                  2      尺寸    12.1英寸
                  ...
                19    黑白响应时间  8ms
                20    黑白响应时间  12ms
    当然,为了减少单表的记录数过于庞大,可能会分大类建表。
      

  5.   

    1.分类表:你说的好像是二级分类,我估计是多级分类。
      分类ID 分类名称 上级分类ID
        1     电脑      0
        2     农机      0
        3     笔记本    1
    2.属性表:
      分类ID  属性ID  属性名称      属性值
         1      1       品牌        联想
         3      2       显示器尺寸  12寸
    3.产品表:
      产品ID  分类ID ...
        1      3
    4.产品属性:
      产品ID  属性ID
        1      1
        1      2
    哈哈,产品1是联想12寸笔记本电脑。
      

  6.   

    二级或多级其实是一个样,这里讨论的主要是在不同类上会有不同的属性,多级分类的不同级别也还是可以存在同样的问题。我整理下,大家看看这样是不是可行的。分类表(对产品进行归类)
    分类id 分类名称 上级分类id (分类说明,......)
    c1     计算机                 这是计算机类
    c2     笔记本   c1          这是笔记本
    c3     台式机   c1
    c4     图书属性表(各分类具有的属性)
    属性id 属性名称 属性分类 (属性说明,.......)
    a1     型号     c1       这是计算机的型号
    a2     品牌     c1       这是计算机的品牌
    a3     品牌     c2       这是笔记本的品牌
    a4     出版社   c4       这是图书的出版社值表
    属性id 属性值
    a1     天逸
    a2     联想
    a3     dell
    a4     清华大学出版社产品表
    产品id   产品名称   产品分类   详细介绍
    p1      我的电脑1    c1
    p2      我的电脑2    c2
    p3      我的图书     c4产品的含义就是
    p1: “我的电脑1”是“计算机”,“型号”是“天逸”,“品牌”是“联想”
    p2: “我的电脑2”是“笔记本”,“品牌”是“dell”
    p3: “我的图书”是“图书”,“出版社”是“清华大学出版社”
      

  7.   

    对了,值表少了个列来描述是哪个产品的更正如下:值表 
    属性id 属性值         产品id
    a1    天逸            p1
    a2    联想            p1
    a3    dell          p2
    a4    清华大学出版社  p3