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