【发布时间】:2016-05-08 14:12:36
【问题描述】:
我有一些表格,其中每个条目可以具有不同的时间有效性。条目如下所示:(Id,ValidFrom,ValidTo)。可以有更多这样的条目具有相同的 ID 但具有不同的有效性。 (有效期不应重叠)。我需要在当前时间或未来任何时间点进行插入/删除/更新操作。
所有这些都可以在应用程序的业务逻辑中处理,但我想使用外键从其他表中引用此表。
我发现Temporal Tables 可能是这样,但有一个小问题。 SysStartTime 和 SysEndTime 列由 INSERT/UPDATE 的时间自动确定,不能在插入/更新时设置。
有没有办法在允许外键约束的同时为数据库表中的每个条目存储有效性信息?这样的要求合理吗?
【问题讨论】:
-
由于
ValidFrom和ValidTo上的不等条件,外键约束对这种类型的表很难。
标签: sql-server database temporal temporal-database