如果两个实体之间的1:1关系并且都存在总参与性,那么你可以将它们合并成为一个关系。主键的选择是任意的(选用原始实体中的一个PK,而另一个PK则成为备用键)。如果两个实体之间存在其他关系,不允许合并成为一个关系,则可以将这些实体视为父子关系,并且外键的放置位置是任意的。
在关系模型中,这被称为“连接依赖”,可以简单地表示为两个关系之间的约束条件,使得P(A) = P(B),其中P(A)和P(B)是关系A和B的投影。虽然在关系术语中很容易支持,但不幸的是,标准SQL不支持在不同表之间强制执行连接依赖关系,因为SQL不支持同时更新多个表的能力。要在SQL中实现,您必须将它们合并为一个表或在更新表时暂时禁用约束条件。