ERD 3表有1种关系

时间:2017-04-16 15:51:58

标签: database erd

我很难为我的桌子关系创建一个ERD。我有4张桌子:电影,ticket_type,工作室和日程表。调度表是一个关系表,其中包含来自其他三个表的主键作为外键。问题是我如何在ERD中描绘它?像多对多的关系,但有3个表,是否有可能这样做?当我尝试创建它时,数据库工作正常,所以我认为我的概念没有问题。提前谢谢。

编辑:忘记添加ticket_type表是为了定价和类型:2d,3d或4d,我这样创建它以避免冗余。 还有一个问题,我可以在关系表中添加另一个字段吗?如果我没记错的话应该没问题,但只是为了确保。

1 个答案:

答案 0 :(得分:3)

如果schedule是一种关系,它将在实体关系图上表示如下:

Schedule as a relationship - ER diagram

关系由相关实体的密钥标识。表格图表使其更加明显:

Schedule as a relationship - table diagram

但是,如果schedule是与其他3个实体集关系的实体集,则它将在ER图上表示如下:

Schedule as an entity set - ER diagram

如果我们将每个实体集和关系映射到它自己的表,我们得到下面的表格图:

Schedule as an entity set - table diagram

但是,如果我们将关系表反规范化为schedule表(因为它们都具有相同的主键),我们的表格图将更改为:

Schedule as an entity set - denormalized table diagram

将其与第一个表格图进行比较。虽然这些物理模型非常相似,但它们来自非常不同的概念模型。严格地说,我认为两者都是实体表"和"关系表"不适合非规范化的schedule表。在网络数据模型中,我们将其称为关联实体(但这与ER模型中的关联实体不同)。

最后,关系也可以有属性:

Relationship attribute - ER diagram

Relationship attribute - table diagram