ERD被认为是一种UML图吗?

问题描述 投票:9回答:6

实体关系图(ERD)是一种UML图还是它们是一个单独的东西?

uml erd
6个回答
22
投票

我有另一个想法。我认为我们应该深入了解。

当我们谈论ERD(实体关系图)时,我们谈论的是Entity Relationship Modeling

它由Peter Chen(1976)首先介绍。他有两篇关于实体关系建模的着名文章(参见firstsecond文章)

他谈到了实体 - 关系建模(非实体 - 关系图)。它是ER模型。

1975年有another paper关于建模真实世界系统。

ER建模是(见reference,第二段):

在软件工程中,通常形成ER模型来表示企业为了执行业务流程而需要记住的事物。因此,ER模型成为抽象数据模型,其定义可以在数据库(通常是关系数据库)中实现的数据或信息结构。

绘制会议技术

当我们谈论ER建模时,有许多图表常规技术。

  1. Chen Notation(一些链接需要翻译)
  2. IDEF1X Notation
  3. Bechman Notation
  4. Martin notation
  5. 1974年Jean-Raymond Abrial的(min, max)-notation
  6. UML class diagrams

和其他符号(见reference

enter image description here

以上所有表示法都用于ER建模或数据建模。

UML表示法与其他ER表示法之间没有惊天动地的区别。它们都模拟了数据模型中最重要的元素。

最后:UML是一个标准的图形工具,用于对项目的整个部分进行建模。我们可以使用UML(类图)进行ER建模,并将它们命名为ER模型或ERD。所以我们可以说:这是我在UML表示法中的ERD。


6
投票

ERD是它自己的事情。 It's not in UML specification。您可以从链接下载规范PDF。

UML是面向对象建模的常用符号/语言,它包含多种图表类型。 ERD是数据建模(属性和关系)的图表。一些结构UML图在您可以建模的模型中非常相似,但概念是不同的。

UML图的类型:

Types of UML diagrams


2
投票

这是Google首次搜索:

关键区别:UML代表统一建模语言。 ERD代表实体关系图。 UML是一种流行的标准化建模语言,主要用于面向对象的软件。实体 - 关系图用于结构化分析和概念建模


2
投票

我对Jarek有不同的看法。没有什么可以阻止您使用UML建模数据。请记住,UML在其基础上并不是新的,它代表了已经存在的许多类型的图表的演变(包括ERD),并试图标准化这些符号以为系统设计的通信创建一致的语言。

ERD用于(主要)建模系统的静态模型。它们(不出所料)显示系统中的相关实体,并阐明它们相关的方式。

在UML类中,图表诞生于ER图表以表示类之间的关系。如果你认为(以最简单的形式)一个类是数据和方法的组合,通过忽略方法,你留下了一个数据模型(尽管语法与传统的ERD不同)。

因此,如果您选择排除方法以及用于指示数据保护的模型的那些方面,则ERD与UML中的类图相关联。

然而,UML本身具有更广泛的用途,作为一系列建模工具,可共同用于模拟系统的静态和动态特性。它包括的图表有助于获得更完整的系统模型,而不是通过描述其实体(或数据)来获得:

  • 静态对象关系建模的类图,
  • 用于动态编码对象/实例关系的对象图
  • 状态机/图表用于建模系统如何通过状态转换
  • 序列和协作图,用于演示系统组件如何协同工作
  • 活动图(替换流程图)以演示/记录命令性流程
  • 还有其他一些我会让你去调查(查看http://www.agilemodeling.com/essays/umlDiagrams.htm的概述)

1
投票

UML作为面向对象的表示法,对数据建模没有任何意义。很多时候,我将属性读作数据列。这不是真的。我们可以将属性设置为简单数据或任何复杂的其他对象。

对于数据建模(数据库,关系数据库)我们使用ERD图,用于在对象系统中存储数据我们可以使用ORM(对象关系模型),它是混合UML / Data模型,如果我们使用模式像活动表或活动记录。


1
投票

我对安迪有不同的看法。在UML类图中,您描述了两个类之间的关系。使用ERD,您可以讨论两个以上实体之间的关系。

这就是为什么Chen-Diagrams中的基数与UML Class Diagrams相比位于相反的位置。你必须考虑每个实体的关系数量。

我们来看一个简单的例子:

In this little example every supplier must be in relationship with at least one delivery. But there can be items not being delivered and projects without any deliveries.

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.