比方說,我有一個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