假设我们有一个字段可以有多种类型,例如:字符串或日期或 XML 数据类型。
现在我们有两种方法可以将其存储在数据库中
1-使用字符串类型字段+字段定义类型:失去“类型感知”排序功能,需要强制转换
2-单独的表(StringValues,DateValues,Decimal,XML ...等):指向值+字段定义类型的外键:有点复杂,性能
如果仅存储唯一值,则第二种方法可能具有额外的优势:它将用作索引。
你有什么想法吗?
Note1: 最好考虑基于 MS SQL Server 2008 和 Linq2SQL 的项目
注意2:也许我们会在另一个问题中讨论如何实现EAV,我问的是关系存储中的EAV。
注3:类型可以更改,但不会频繁更改