比方说,我有一个Product
和ProductType
表。我想要一个表格,可以为每种产品类型存储特殊列。特殊列(属性)可以是任何类型。Sql Table dynamic cell typ
现在我们有一个表,每ProductType
叫Product_%ProductTypeId%
这是我真的不喜欢的解决方案 - 有什么建议吗?
我的想法是有一个表ProductTypeColumns
用的cols:
Id | ProductTypeId | ColumnName | Value | ColumnType
什么,我不喜欢这个就是我失去的类型安全,列Value
将是一个字符串类型,这意味着我必须始终转换为和从。
此表格将用于生成报告..具有“动态”列可能是一个问题。
EAV通常是这样做的一种方式,特别是如果这些属性对于很多产品可能会有所不同,并且它们可以频繁地添加到新产品中。我在这里发布了关于EAV的博客:http://sqlblog.com/blogs/aaron_bertrand/archive/2009/11/19/what-is-so-bad-about-eav-anyway.aspx – 2012-02-27 20:06:35