如何在ER图中表示外键?

MK *_*ngh 16 database-design database-diagrams

假设我有一个“交易”表,其中有一列“客户 ID”(外键)和一个带有“ID”(主键)的客户表。如何显示两个表之间的关系并显示“客户 ID”是“交易”表的外键,而“交易”表是“客户”表中的主键?

我在 google 上搜索了这个问题,并在这个论坛上搜索了我的查询,但找不到一个带有解决我问题的图表的确切示例。

如果可能,请用图表向我解释。

Wal*_*tty 16

ER 图最初仅用于表示 ER 模型。ER 模型不使用外键来表示关系。它在盒子之间使用线条。这些行在任一端或两端都有某种基数指示符。有时,关系会用菱形单独表示。

今天,超过一半的 ER 图实际上是关系模型的图,而不是 ER 模型的图。关系模型具有包含在表中的外键,这些外键用于实现 ER 模型识别的关系。并且关系模型将有一个额外的表,通常称为通过多对多关系链接的两个实体表之间的“连接表”。此联结表包含两个或多个外键。

有很多方法可以表示关系模型。也许最简单的是 MS Access 可以从完整的数据库生成的“关系图”。如果数据库构建器已经识别了外键,这将是相当完整的。

有许多工具比 MS Access 更复杂,可用于制作更大规模的图表。其中一些是在构建数据库之前使用的。有的是后用。


Joe*_*own 5

绘制 ER 图时,我使用了以下图形约定:使用外键列名称标记关系线,如下所示:

实体关系图示例

这样就可以清楚子表中的哪一列是父表的外键。可以通过在相关属性下划线来指示主键状态。

比这更有用的是命名约定,它可以清楚地表明什么是表的主键(如果按照约定使用代理键,则很容易完成)以及什么是外键列。

一些关系模型图还在列列表中的列名称左侧包含一个键参与标签(例如“PK”、“FK1”、“FK2”...),这会很有帮助,特别是如果您有复合键。


小智 5

在此输入图像描述

我更喜欢这种格式,使用“鱼尾纹”来说明多对一连接