![]() |
1
0
在任意数量的实体集之间有任意数量的关系是完全有效的。我对图表唯一关心的是下面的多个角色行
请注意,在实体关系模型中,我们不链接表。这种想法来自旧的网络数据模型,其中行表示实体,表表示实体集,行/表之间的链接表示关系。 该模型的一个缺点是,它只支持有向二元关系——多对多二元、三元和更高的关系以及与属性的关系——所有这些都需要引入关联实体。然而,三个二元关系并不等同于三元关系,并且并非所有关系都可以用二元数据模型表示。 ER模型支持n元关系和关系上的属性。实体集由其主键表示,关系由实体键的组合表示。实体集加属性形成实体关系,关系集加属性形成实体关系。这些关系映射到表。实际上,具有相同主键的表被合并以减少表的数量,这意味着一对一和一对多关系被合并到它们的一个关联实体集的关系中。
不管表是如何组合的,属性和关系都是由一组列表示的。例如,根据您的图表,
网络数据模型的另一个缺点是预先确定的访问路径,这意味着我们必须使用预先定义的关系从一个表导航到另一个表。这使得查询和数据处理变得非常复杂。这一限制是关系模型开发的主要驱动因素之一,ER模型映射到关系模型。将表理解为RM中的关系使我们能够使用连接构造和导航任意访问路径。因此,我们在RM中链接表,但在查询时根据需要进行链接,而不是在设计时进行链接。ER模型仅用于概念设计,不描述表之间的关系,仅描述实体集之间的关系。 现在,ER模型不像RM那样是一个完整且一致的逻辑模型,但它是对网络数据模型的重大改进。比ER更严格的方法是对象角色建模,但这是另一个主题。 |
![]() |
Jordan Williams · SQL列中的外键列表 3 年前 |
![]() |
nicolallias · 无法无错误地联接实体 7 年前 |
![]() |
Florian · ef核心-两个一对一的主密钥 7 年前 |
![]() |
John Katsantas · 我如何制作这个图书馆的ER图? 7 年前 |
![]() |
Laurent Parmentier · 环回关系从不返回值 7 年前 |
![]() |
Robert · Symfony 4序列化关系值为空的实体 7 年前 |
|
user9181771 · ER图设计问题 7 年前 |