公司要叫做一个项目 项目是关于数码,IT,家电,家居,手机的网站,就是卖这些产品的网站。要建立一个数据库,这里就遇到了一个很大的问题 会遇到很多不确定的因素,如:一个产品有的字段,另一个产品有可能会没有。这是我给出的方案第一种
产品表:
如:产品id,产品型号,产品名称 ,产品价格,产品类型id,产品出产地产品类型表:
如:类型id,产品类型名称产品信息详细表
如:,产品id,产品详细信息这是普遍做法
第二种
如:产品id,产品型号,产品名称 ,产品价格,产品类型id,产品出产地,产品详细信息URL(连接xml的地址)产品类型表:
如:类型id,产品类型名称其实是第一种的变化,就是把不同的‘产品详细信息字段’数据储存到xml中 xml中就可以分类储存多种数据(可以分成很多个xml)
希望大家提出自己的想法 得到个相对比较好的解决方案

解决方案 »

  1.   

    一个产品有的字段,另一个产品有可能会没有----允許為null,可以嗎?
      

  2.   

    @dawugui(潇洒老乌龟) 
    不晓得你明白我的 意思没的 这样会产生很大的冗余 一条记录和另一条记录的字段可能不同。
      

  3.   

    feixiangVB(別以爲我不在乎!) 
    CathySun118(斯年) 
    ropriest(馆主)这样表会很长的 也会产生很大的冗余 例如:硬盘和CPU的具体参数都不一样,要是那样的你话你想想表的样子(数据很多时候)
      

  4.   

    呵呵,我给点意见1:你的产品类型可以考虑用字符串存储,如01-02-XX-XX的方式,这样比较好编码因为并不是所有的产品都有一层类型
    2:对于不同产品的不同属性,可以做一个属性表
    如 
    产品id,属性名称,属性值
    这样不同产品的不同属性就可以放在一起了,最好在你的数据库里,相同的产品但属性不同,可以考虑保存成不同的产品,最好用一个ID,可以标志唯一的产品,无论是颜色还是性能等当把属性维护在表里后,就很容易了,用一个列表就能把这个产品的性能显示出来了
    联想1234 ,001,主频,133
    联想1234 ,001,硬盘,4G
    联想1234 ,001,显示器,15

      

  5.   

    产品id,产品型号,产品名称 ,产品价格,产品类型id,产品出产地,产品详细信息产品类型表:
    如:类型id,产品类型名称
      

  6.   

    @hillhx(曾经的曾经) 不是很好 还是会有很大冗余
    联想1234 ,001,主频,133
    联想1234 ,001,硬盘,4G
    联想1234 ,001,显示器,15联想1235 ,002,主频,133
    联想1235 ,002,硬盘,4G
    联想1235 ,002,显示器,15属性名称
      

  7.   

    咋个说呢,你的意思我们都明白,就是满足3范式。。
    第一种全存数据库,第2种存数据库+xml楼上很多之所以叫你建立一个表,是因为一个表容易维护,
    多表呢,查询之间链接,以及速度方面都有问题。在实际程序过程中,不满足范式的情况很多。如果你数据确实很大,我建议你把每个大的类型,建立一个表。