【发布时间】:2019-10-30 13:27:58
【问题描述】:
我有两个表,用于存储两个不同应用程序实体的数据。两个实体都有一些公共字段,特别是父实体的外键和日期范围字段。我可以在每个表上创建一个排除约束,以确保同一父实体的日期范围不重叠,但我需要将此约束应用于两个组合的表。有没有办法在数据库级别实现这一点?
我认为我可以创建一个仅包含 parent_id 和 daterange 列以及排除约束的附加表,并在插入/更新/删除行时在上述两个表上添加触发器,但我对更简单的解决方案感兴趣如果有的话!
【问题讨论】:
-
那么父实体中还有其他部分吗? (否则您只需将日期范围放在父表本身中)
-
父子关系是一对多,所以不能把daterange放在parent上
标签: postgresql