电子商务网站 数据库产品表设计方案

方案一。

就一个产品表 product,然后这个表里包括所有的产品属性,每个属性用一个字段表示。

方案二。

还是只用一个产品表 product 。
与方案一不同的是,私有属性设置为一个字段   Private_Attribute ,
然后每个产品的多个私有属性都放这个字段里,并且用一个分隔符号隔开
比如书籍,就是 它在 Private_Attribute 字段里 的表示就是 :

出版社||||作者||||出版日期

方案三;

产品表 + 私有属性表 + 私有属性值 表
产品表 里 就包括一些产品的公共属性
私有属性表 里 设置私有属性的名称 ,比如出版社 、作者 、出版日期
私有属性值 表 里就是 每个产品 私有属性的值

例如:
产品表:   
               product_id = 1 ;   product_name =《ajax实践》
私有属性表:
               Attribute_id = 1 ;   Attribute_name = 出版社
               Attribute_id = 2 ;   Attribute_name = 作者

私有属性值表:
               id = 1 ;   product_id = 1 ; Attribute_id = 1 ;   Attribute_value = 清华出版社
               id = 2 ;   product_id = 1 ; Attribute_id = 2 ;   Attribute_value = 老外

方案四;

每个不同类型的产品单独设计一个数据库,比如一个书籍的数据表 product_book,一个MP3的数据表 product_mp3

可能每种设计都有自己的优劣,主要看应用的场所

我这个主要是想应用在电子商务上,所以同时会有定单操作

这是常见的四种方式。一直在寻找一种更好一点的解决方案。求解中。。。

欢迎评价

我自己的一种见解:把产品都放一张表里面。把常用的一些属性(经常查询的那些)设置独立字段。

那些不常用的,都放一个字段里面。用一个大字符串。需要查询的时候模糊查找(可能效率不高)

转:http://www.fleaphp.org/bbs/viewthread.php?tid=298

posted @ 2008-03-02 22:21  1+1剑锋  阅读(2447)  评论(3编辑  收藏  举报