电子商务网站 数据库产品表设计方案
方案一。
就一个产品表 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
可能每种设计都有自己的优劣,主要看应用的场所
我这个主要是想应用在电子商务上,所以同时会有定单操作
这是常见的四种方式。一直在寻找一种更好一点的解决方案。求解中。。。
欢迎评价
我自己的一种见解:把产品都放一张表里面。把常用的一些属性(经常查询的那些)设置独立字段。
那些不常用的,都放一个字段里面。用一个大字符串。需要查询的时候模糊查找(可能效率不高)