如何在 ERD 数据库图中表示多个相似的外键?

Posted

技术标签:

【中文标题】如何在 ERD 数据库图中表示多个相似的外键?【英文标题】:How represent multiple similar foreign keys in ERD database diagram? 【发布时间】:2012-03-01 07:53:52 【问题描述】:

我正在对我的数据库进行 ERD,但遇到了一个小难题。

考虑表foobarfoo 有三列是外键,引用bar 的主键。我的问题是:在 ERD 中,我是用这两个表之间的一行来表示这一点,还是我使用三行?

【问题讨论】:

【参考方案1】:

扩展已接受的答案我举了一个例子,说明当同一属性需要多个“行”(关系)时。 假设有一个电子商务网站。客户可以在那里注册,他们可以向其他注册客户发送礼物。因此,客户和礼品实体之间存在两种关系。

第一个关系:客户送礼物 第二个关系:客户收到礼物 这就是为什么我们在这里需要两条线。你需要考虑所有的关系并根据你需要画线。因为你有三个关系,所以你需要画三条线。

【讨论】:

【参考方案2】:

三行,像这样:

【讨论】:

【参考方案3】:

使用三行。每个关系使用一行。

PS:让许多列引用另一个表中的同一列是完全可以的。例如,您可以有一个 Person 表和一个 Sports 表,在 Person 表中您可以有 3 个列,例如 FavouriteIndividualSport、FavouriteTeamSport、FavouriteExtremeSport

【讨论】:

以上是关于如何在 ERD 数据库图中表示多个相似的外键?的主要内容,如果未能解决你的问题,请参考以下文章

如何从使用实体框架的外键链接的多个表中获取所有数据?

具有意外相似重复的 postgres 用户表导致另一个表具有混乱的外键,如何修复和合并外键?

为啥有必要在 ERD 中指明识别或非识别关系?

ERD图中的继承关系

如何修复不兼容的外键约束spring boot

将特定的外键字段指定为 SSAS 数据源中两个表之间的链接