关于识别与非识别关系存在许多问题,但是,它们都集中在一对多关系上。以下是我目前的理解,如有错误请指正。
如果 parent 的 key 是 child PK 的一部分,则它是一个标识关系。这意味着子表中的一条记录不能没有父表中的对应记录而存在(一本书没有作者就不能存在),并且需要父表的PK来唯一标识子表中的一条记录(显然,因为它是部分子PK)。
一对一的识别关系是相似的。一个示例是传输表、自动传输表和手动传输表,其中自动传输表和手动传输表都与传输具有一对一的识别关系。每一个automatic_transmissions 表和manual_transmissions 表都必须有一个关联的传输,传输PK 可以唯一标识automatic_transmissions 表或manual_transmissions 表中的任何关联记录。使用这种方法是因为 automatic_transmissions 表和 manual_transmissions 表都共享许多属性,但每个都有自己特定的属性。
我到现在还好吗?
现在采取一对一的非识别关系。什么,没有PK的桌子?为什么需要这样一张桌子?有哪些例子?它是如何使用的?