类图到实体关系图(关系和基数)

问题描述 投票:0回答:1

UML 类图中关联和聚合的多重性与关系数据库(实体关系图)中关系的基数相同吗?

uml class-diagram polymorphic-associations erd multiplicity
1个回答
0
投票

简而言之

是的,UML 中的多重性概念与 ERD 中的基数概念相同。 主要区别在于术语。

示范

首先,我们需要记住基数的本意,它表示给定集合中元素的数量。

UML 2.5.1 规范第 33 页解释了这一点

集合的基数是该集合中包含的值的数量。 MultiplicityElement 的 multiplicity 指定它所代表的集合的有效基数。 重数是对基数的约束,它不得小于为重数指定的下限,也不得大于为重数指定的上限(除非重数是无限的,在这种情况下,对上限没有限制)绑定)。

简而言之,这里的集合是指链接到另一个类的给定实例的类的实例。因此,UML 定义表明,多重性定义了此类集合的允许大小上存在的约束。

有趣的是,ER 模型的发明者Peter Chen在他的第一篇论文中根本没有提到基数。 Chen 谈到“映射类型

1:1
1:n
n:m
”并解释说:

有关关系集中每个实体集中允许的实体的数量的信息,通过在图中指定“1”、“m”、“n”来指示。

我们必须小心术语。 这里,
实体

指的是某些属性的一组特定值,即实例,而实体集指的是我们俗称的“实体”的所有可能实例。 总之,ERD 和 UML 的措辞可能略有不同,但在这两种情况下,都是关于一侧实例数量的约束可能与另一侧实例相关。

© www.soinside.com 2019 - 2024. All rights reserved.