日期:2014-05-17  浏览次数:20595 次

颜色,尺寸,数量,价格这几个怎么设计数据库呢?
卖的是衣服产品
商品表
ProductID Name      AttCatID 
1          牛仔裤    1
属性类型表
AttCatID Name
1        裤子
2        上衣
属性值表
AttVaID  AttCatID  Name
1           1       尺寸
2           2       颜色
下表
ID   ProductID AttVaID  AttrValue Quantity Price
1      1       1         27         30      40
1       1       1        28         40       50
1       2         1       黄色      50       60
请问如何做到同一种商品不同颜色不用尺寸的价格不同,列在同一张表中比如:
1商品27码黄色有30件,每件30元
1商品28码蓝色有40件,每件40元

------解决方案--------------------
方案一:每个属性都属性分开
商品名称(ProductID int,Name nvarchar(100))
尺寸表(SizeID int,name nvarchar(100))
尺寸表(ColorID int,name nvarchar(100))
商品表(ProductID int,SizeID int,ColorID int,qty int,price money,remarks nvarchar(500))

方案二:基本属性做个大类(属性类型),每个大类下面又分明细(基本信息表)
商品名称(ProductID int,Name nvarchar(100))
属性类型(TypeID int,TypeName varhcar(20))
基本信息表(ID int,TypeID int,ItemNo nvarchar(20),ItemName nvarchar(50))
商品表(ProductID int,ItemNo nvarchar(20),qty int,price money,remarks nvarchar(500))

这两种方法都可以,就看你个人习惯,节省开发可以用第二种方法