联结表将包含单个表的外键或主键

Posted

技术标签:

【中文标题】联结表将包含单个表的外键或主键【英文标题】:Will junction table contain the foreign keys or the primary keys of the individual tables 【发布时间】:2013-08-28 20:24:23 【问题描述】:

在此链接here

他们解释了如何使用联结表来解决关系数据库设计中的多对多关系问题。

这一行

如果没有关联类,则联结表(有时也称为连接表或链接表)将仅包含关联每一侧的 FK 属性。

从示例看来,联结表不包含 FK,而是包含各个表的主键。 Cust ID, Order Date共同构成订单的复合主键,UPC是Products的主键。

【问题讨论】:

【参考方案1】:

正确。您的“联结”表或“关联”表将包含 M2M 关系任一端的表的 PK 值。通常这些是关联/联结表中仅有的两列,它们可以/通常形成关联/联结表的 PK。

【讨论】:

要明确:Cust ID, Order DateUPC 是其本机表上下文中的 PK(分别为 OrderProduct)。它们是连接表上下文中的 FK,因为它们引用这些表中的 PK。 (请注意,如果每个 Order, Product 对最多有一个 OrderLine,则它们也是连接表本身的复合 PK/UK。

以上是关于联结表将包含单个表的外键或主键的主要内容,如果未能解决你的问题,请参考以下文章

“此列列表没有匹配的唯一键或主键”。主键确实存在

数据库

外键作为主键或仅将代理主键与 JPA 上下文中的外键不同

MySQL常见面试题

MySQL常见面试题

MySQL常见面试题