实现具有可变数量的列和不同类型的表的最佳方法是什么? (列数未知)
我们使用XML
类型的列。你觉得怎么样?
答案 0 :(得分:1)
如果可能的话,听起来像是使用document based databases。
从技术上讲,你不能在SQL-Server中有一个可变列设计表。
顺便说一下,如果有一个基于列的表格,可能会有所帮助:
EntityName: Full qualified entity name
EntityIdentifier: Id
PropertyName:
PropertyType:
PropertyValue:
EntityStatus: may be useful on delete action
在这些方法中,与XML场景一样,您需要一个解析器来提取实体。在列表中,sql查询将更具可读性,更新将更加方便 希望对你有所帮助。
答案 1 :(得分:0)
当然你会创建另一个表,其中键是ID和ColumnName的复合键。
表格默认:
ID ColumnName ColumnValue
Id
是主表中的密钥,带有FK以强制执行完整性。
您现在有两个选择,将值的数据类型作为转储基础并插入任何内容,或者为您需要的每种数据类型创建类似上面的表。
然后,您可以使用数据透视表编写视图,使其看起来像查询等的普通表。
Ps我不建议这将是a)最好的解决方案或b)最快的解决方案。