【发布时间】:2013-10-17 07:45:42
【问题描述】:
我有一个带有地址实体的关系数据库,该实体应该有一个父地址或一个父单元,但不能同时具有这两者。目前,架构是具有 ParentUnitID 字段和 ParentAddressID 字段的地址。有没有办法改变这一点,防止地址同时具有父地址和父单元,但保留外键约束?
【问题讨论】:
-
添加
CHECK约束,强制其中一个 FK 不为空。这可能需要由触发器实现,具体取决于您的 DBMS。 -
您可以对两个可能的父项(即两个不同的外键列)设置外键约束,然后使用 CHECK 约束确保其中一个始终为 NULL。
-
你应该提出这个作为答案,这样他就可以选择它作为答案
-
定义单位,什么是单位?
标签: database-design relational-database data-modeling