ERD被认为是一种UML图吗?
Is ERD considered a kind of UML diagram?
实体关系图 (ERD) 是 UML 图的一种还是独立的东西?
这是 Google 上的第一次搜索:
主要区别:UML 代表统一建模语言。 ERD代表实体关系图。 UML 是一种流行的标准化建模语言,主要用于面向对象的软件。实体-关系图用于结构化分析和概念建模
ERD 是它自己的东西。 It's not in UML specification。您可以从 link.
下载规范 PDF
UML 是面向对象建模的常用 notation/language,它包含多种图表类型。 ERD 是用于数据建模(属性和关系)的图表。一些结构化 UML 图在您可以建模的方面非常相似,但概念不同。
UML 图的类型:
我有另一个想法。我认为我们应该深入研究。
当我们谈论 ERD(实体关系图)时,我们在谈论 Entity Relationship Modeling。
这是首先由Peter Chen (1976)介绍的。他有两篇关于实体关系建模的著名文章(参见 first and second 篇文章)
他谈到了实体关系建模(不是实体关系图)。是 ER 模型。
1975 年有 another paper 关于 模拟真实世界系统 。
ER建模是(见reference,第二段):
In software engineering an ER model is commonly formed to represent
things that a business needs to remember in order to perform business
processes. Consequently, the ER model becomes an abstract data model
that defines a data or information structure that can be implemented
in a database, typically a relational database.
图表约定技术
当我们谈论 ER 建模时,有许多图表约定技术。
- Chen Notation(部分链接需要翻译)
- IDEF1X Notation
- Bechman Notation
- Martin notation
- (min, max)-notation 1974 年的 Jean-Raymond Abrial
- UML class diagrams
和其他符号(参见reference)
以上所有符号都用于 ER 建模或数据建模。
UML 表示法与其他ER 表示法之间没有惊天动地的区别。它们都对数据模型中最重要的元素建模。
最后:UML 是一组标准图形工具,用于对项目的整体或部分进行建模。 我们可以使用 UML(Class 图)进行 ER 建模 并将它们命名为我们的 ER 模型或 ERD。所以我们可以说:这是我的 UML 表示法的 ERD。
UML 作为一种面向对象的符号,与数据建模无关。很多次我读到属性作为数据列。这不是真的。我们可以将简单数据或任何复杂的其他对象放入属性中。
对于数据建模(数据库、关系数据库),我们使用 ERD 图,为了在对象系统中存储数据,我们可以使用 ORM(对象关系模型),它是混合的 UML/Data 模型,如果我们使用类似的模式活跃的 table 或活跃的记录。
我对 Jarek 有不同的看法。没有什么能阻止您使用 UML 对数据建模。请记住,UML 在其基础上并不新鲜,它代表了许多已经存在的图表类型(包括 ERD)的演变,并试图标准化这些符号以创建用于系统设计交流的一致语言。
ERD 用于(主要)对系统的静态模型进行建模。它们显示(毫不奇怪)系统中的相关实体并阐明它们相关的方式。
在 UML Class 中,图是从 ER 图诞生的,用于表示 class 之间的关系。如果您认为(以最简单的形式)a class 是数据和方法的组合,那么通过忽略方法您将得到一个数据模型(尽管其语法与传统 ERD 不同)。
因此,如果您选择排除方法和旨在指示数据保护的模型的那些方面,那么 ERD 与 UML 中的 Class 图相关。
然而,UML 本身有更广泛的用途,作为一系列建模工具,可以共同用于对静态和动态建模 系统的性质。
它包括有助于建立比通过描述其实体(或数据)获得的系统模型更完整的系统模型的图表:
- Class 静态对象关系建模图,
- object/instance 关系动态建模的对象图
- 状态 Machine/Diagrams 用于模拟系统如何通过状态转换
- 展示系统组件如何协同工作的顺序图和协作图
- Activity 图表(替换流程图)到 demonstrate/document 命令式流程
- 和其他一些我将留给您调查(查看 http://www.agilemodeling.com/essays/umlDiagrams.htm 了解概览)
我和安迪有不同的看法。在 UML Class 图中,您描述了两个 类 之间的关系。使用 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.
实体关系图 (ERD) 是 UML 图的一种还是独立的东西?
这是 Google 上的第一次搜索:
主要区别:UML 代表统一建模语言。 ERD代表实体关系图。 UML 是一种流行的标准化建模语言,主要用于面向对象的软件。实体-关系图用于结构化分析和概念建模
ERD 是它自己的东西。 It's not in UML specification。您可以从 link.
下载规范 PDFUML 是面向对象建模的常用 notation/language,它包含多种图表类型。 ERD 是用于数据建模(属性和关系)的图表。一些结构化 UML 图在您可以建模的方面非常相似,但概念不同。
UML 图的类型:
我有另一个想法。我认为我们应该深入研究。
当我们谈论 ERD(实体关系图)时,我们在谈论 Entity Relationship Modeling。
这是首先由Peter Chen (1976)介绍的。他有两篇关于实体关系建模的著名文章(参见 first and second 篇文章)
他谈到了实体关系建模(不是实体关系图)。是 ER 模型。
1975 年有 another paper 关于 模拟真实世界系统 。
ER建模是(见reference,第二段):
In software engineering an ER model is commonly formed to represent things that a business needs to remember in order to perform business processes. Consequently, the ER model becomes an abstract data model that defines a data or information structure that can be implemented in a database, typically a relational database.
图表约定技术
当我们谈论 ER 建模时,有许多图表约定技术。
- Chen Notation(部分链接需要翻译)
- IDEF1X Notation
- Bechman Notation
- Martin notation
- (min, max)-notation 1974 年的 Jean-Raymond Abrial
- UML class diagrams
和其他符号(参见reference)
以上所有符号都用于 ER 建模或数据建模。
UML 表示法与其他ER 表示法之间没有惊天动地的区别。它们都对数据模型中最重要的元素建模。
最后:UML 是一组标准图形工具,用于对项目的整体或部分进行建模。 我们可以使用 UML(Class 图)进行 ER 建模 并将它们命名为我们的 ER 模型或 ERD。所以我们可以说:这是我的 UML 表示法的 ERD。
UML 作为一种面向对象的符号,与数据建模无关。很多次我读到属性作为数据列。这不是真的。我们可以将简单数据或任何复杂的其他对象放入属性中。
对于数据建模(数据库、关系数据库),我们使用 ERD 图,为了在对象系统中存储数据,我们可以使用 ORM(对象关系模型),它是混合的 UML/Data 模型,如果我们使用类似的模式活跃的 table 或活跃的记录。
我对 Jarek 有不同的看法。没有什么能阻止您使用 UML 对数据建模。请记住,UML 在其基础上并不新鲜,它代表了许多已经存在的图表类型(包括 ERD)的演变,并试图标准化这些符号以创建用于系统设计交流的一致语言。
ERD 用于(主要)对系统的静态模型进行建模。它们显示(毫不奇怪)系统中的相关实体并阐明它们相关的方式。
在 UML Class 中,图是从 ER 图诞生的,用于表示 class 之间的关系。如果您认为(以最简单的形式)a class 是数据和方法的组合,那么通过忽略方法您将得到一个数据模型(尽管其语法与传统 ERD 不同)。
因此,如果您选择排除方法和旨在指示数据保护的模型的那些方面,那么 ERD 与 UML 中的 Class 图相关。
然而,UML 本身有更广泛的用途,作为一系列建模工具,可以共同用于对静态和动态建模 系统的性质。 它包括有助于建立比通过描述其实体(或数据)获得的系统模型更完整的系统模型的图表:
- Class 静态对象关系建模图,
- object/instance 关系动态建模的对象图
- 状态 Machine/Diagrams 用于模拟系统如何通过状态转换
- 展示系统组件如何协同工作的顺序图和协作图
- Activity 图表(替换流程图)到 demonstrate/document 命令式流程
- 和其他一些我将留给您调查(查看 http://www.agilemodeling.com/essays/umlDiagrams.htm 了解概览)
我和安迪有不同的看法。在 UML Class 图中,您描述了两个 类 之间的关系。使用 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.