日期:2014-05-18  浏览次数:20477 次

购物系统多种参数的数据库设计
好郁闷,一直都找不到很好的方法来解决这个问题.

大家可以参考WWW.IT168.COM  
  例如:  
  硬盘这类产品都有:  
  转速  
  容量  
  等参数;  
  照相机都有:  
  像素  
  镜头类型  
  等参数;  
  数据库怎么设计才能使每一类产品都显示该产品的详细参数?  

谢谢..

------解决方案--------------------
用父子表来解决就好了
------解决方案--------------------
同意楼上的
 比如产品表:
1 硬盘
2 照相机

属性表
属性内容 产品表ID
1 转速 1
2 容量 1
3 像素 2
4 镜头类型 2
------解决方案--------------------
up
------解决方案--------------------
关注ing
------解决方案--------------------
直接把参数写成XML存入一个字段里面。
然后在外面用一个标志字段。
读的时候先读标志字段,再选择数据表结构DATASET。
对XML进行解析。
------解决方案--------------------
我这么设计

设计一个类

class productPro()
{
 string proname;//属性名称
 string proValue;//属性值
}

对于某个产品,可以使用集合类 productpro[]表明其属性列表

入库的时候直接序列化productpro[]成字符串入库,显示时候反序列化字符串成productpro[]就可以

ps:这只是我最直觉的一个设计,算是提一个解决思路吧!具体完善尚需要商量!看看下面那位大大能有兴趣把他完善一下

提交前,突然想起一个东西!你这个整体上看着就想是一颗树,那么能不能直接借用treeview的treenode来弄呢,正好treenode有text,value两个属性,也有chirld.add方法,看着真像啊!呵呵,如果可以使用treenode,把treenode序列化入库可能简单了
------解决方案--------------------
创建三个表:
1 产品表: 
ID 产品内容
1 硬盘 
2 照相机 

2 属性表 
ID 属性内容
1 转速
2 容量
3 像素
4 镜头类型

3 产品属性表
产品表ID 属性表ID 
1 1 
1 2 
2 3 
2 4
此外,要求产品表产品属性表有主外键关系,并且要求级联删除和级联更新。属性表和产品属性表也是如此。

这样设计的好处是:三个表的数据都是唯一的,没有重复数据,其次实现了数据一致性,