繁体   English   中英

在关系模式上映射1:1关系

[英]Mapping a 1:1 relationship on a relational schema

如果我有两个实体,它们之间的关系是1:1。 每个人的参与也是全部……在这种情况下,我应该怎么做才能在关系模式中表示它们之间的关系?

如果两个实体之间唯一的关系是完全参与的1:1关系,则只需将它们合并为一个关系。 主键的选择将是任意的(选择原始实体的PK之一,而另一个PK将作为备用键)。

相反,如果两个实体之间存在其他关系(阻止合并到单个关系中),则可以将这些实体视为父子关系,并且放置外键的位置是任意的。

在称为联接依赖关系的关系模型中,它可以简单表示为两个关系之间的约束,使得P(A)= P(B),其中P(A)和P(B)是关系A和B的投影尽管用关系术语支持很容易,但是不幸的是,由于标准SQL不支持同时更新多个表的能力,因此SQL使得在不同表之间强制执行联接依赖关系变得困难或不可能。 要在SQL中实现,您必须将它们组合到一个表中,或者在更新表时暂时禁用约束。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM