表的设计问题
30W个不同产品,300个不同属性,每个产品可以有多个属性
目的:设计表,用以表示每个产品的属性。
我的想法是:
产品表
ID int
产品名 nvarchar
属性 binary(30) --用2进制的每一位代表属性的有无
属性表
ID
属性名
属性binary值
------------------
不知可行否?会存在哪些问题,还请指教
------解决方案--------------------产品表t1
ID int
name varchar(长度自己定义)
属性表t2
id int
id_t1 int --对应t1表的id即可.
name varchar(长度自己定义)
------解决方案--------------------可以。用这属性binary值
关联好了。
------解决方案--------------------不行,这样设计无法查询,或者性能很差
------解决方案--------------------一个产品表,
一个属性表,
一个产品属性对应关系表,多对多.
------解决方案--------------------多對多,是不錯,但維護不夠直觀.