1 sql
我有一个设计问题.
我必须在一个表中存储大约100个不同的属性,这些属性也应该是可搜索的.因此,每个属性都将存储在自己的列中.每个属性的值总是小于200,所以我决定使用TINYINT作为每个属性的数据类型.
创建一个大约有100列(每个TINYINT)的表是一个好主意吗?这个设计可能有什么问题?
或者我应该将属性分类到一些组(说4组)并将它们存储在4个不同的表中(每个表大约有25列)
或者我必须遵循的任何其他数据存储技术.
例如,表格是Table1,它包含每个TINYINT数据类型的Column1,Column2 ... Column100列.
由于每行的大小将非常小,我可以按照上面的说明进行操作吗?
我只是想知道它的优点/缺点.
如果您认为拥有100列的表不是一个好主意,那么请建议其他替代方案.
请注意,我不想以复合形式存储信息(例如,几个xml列)
提前致谢
小智 5
这里的多对多设置不会有效吗?
假设表A将有一个小部件列表,您的属性将应用于该小部件
表B包含您的属性类型(颜色,大小,重量等),每个属性作为不同的行(不是列)
表C具有widget ID(表A)和属性类型(表B)的外键,然后它实际上具有属性值
这样,当您有一个要添加的新属性时,您不必更改表结构,只需向表C添加一个新的属性类型行