Считаются ли ERD диаграммами UML?

диаграммы отношений сущностей (ERD) считаются типом диаграммы UML или они являются отдельной вещью?

5 ответов


У меня есть другая идея. Я думаю, мы должны посмотреть глубже.

когда мы говорим о ERD (Entity Relationship Diagram), мы говорим о Моделирование Отношений Сущностей.

Это во-первых введено Питером Ченом (1976). У него есть две известные статьи о моделировании отношений сущностей (см. первый и второй статьи)

Он говорил о моделировании сущностных отношений (не Диаграмма Сущность-Связь). Это модель ER.

здесь еще один документ в 1975 году о моделирование системы реального мира.

ER моделирование (см. ссылка, второй абзац):

в программной инженерии модель ER обычно формируется до представляют вещи, которые бизнес должен помнить, чтобы выполнять бизнес процессы. Следовательно, модель ER становится абстрактной моделью данных это определяет структуру данных или информации что может быть реализовано в база данных, как правило, реляционная база данных.


Методы Составления Схем

когда мы говорим о моделировании ER, там много методы построения диаграмм конвенции.

  1. Чэнь Нотации (некоторые ссылки нужно перевод)
  2. нотации IDEF1X
  3. Bechman Notation
  4. нотация Мартина
  5. (min, max)-обозначение Жан-Раймона Абриаля в 1974 году
  6. UML диаграммы классов

и другие обозначения (см. ссылка)

enter image description here

все выше нотации использование для моделирования ER или моделирования данных.

нет никакой потрясающей разницы между обозначениями UML и другими обозначениями ER. Они все модели важнейших элементов модели данных.

наконец-то: UML-это стандартные графические инструменты для моделирования целых частей проекта. мы можем использовать UML (диаграмма классов) для моделирования ER и назвал их наши модели ER или ERDs. Поэтому мы можем сказать: это мой ERD в нотации UML.


ERD-это собственная вещь. это не в спецификации UML. Вы можете скачать спецификацию PDF по ссылке.

UML является общим обозначением / языком для объектно-ориентированного моделирования и включает в себя множество типов диаграмм. ERD-это диаграмма для моделирования данных (атрибутов и связей). Некоторые структурные диаграммы UML довольно похожи в том, что вы можете модель, но концепция разная.

типы UML диаграммы:

Types of UML diagrams


Это был первый поиск в Google:

ключевая разница: UML означает унифицированный язык моделирования. ERD означает диаграмму отношений сущностей. UML-популярный и стандартизированный язык моделирования, который в основном используется для объектно-ориентированных программ. Диаграммы сущностей-отношений используются в структурированном анализе и концептуальном моделировании


UML, как объектно-ориентированная нотация, не имеет ничего общего с моделированием данных. Много раз я читал об атрибутах как столбцы данных. Это неправда. Мы можем поместить в атрибут простые данные или любой сложный другой объект.

для моделирования данных (база данных, реляционная база данных) мы используем диаграмму ERD, для хранения данных в объектных системах мы можем использовать ORM (объектная реляционная модель), это смешанная UML/модель данных, если мы используем шаблон, как активная таблица или активная запись.


У меня другое мнение на Джарек. Ничто не мешает вам моделировать данные с помощью UML. Помните, что UML не является новым в своих основах, он представляет собой эволюцию ряда типов диаграмм, которые уже существовали (включая ERDs), и попытку стандартизировать эти обозначения для создания согласованного языка для коммуникации системного дизайна.

ERDs используются для моделирования (в основном) статической модели системы. Они показывают (неудивительно) соответствующие сущности в системе и формулируют способ, которым они связаны.

в UML диаграммы классов были рождены из ER-диаграмм для представления отношений между классами. Если вы считаете, что (в простейшей форме) класс-это комбинация данных и методов, игнорируя методы, вы остаетесь с моделью данных (хотя и с синтаксисом, который отличается от традиционных ERDs).

поэтому ERDs коррелируют с диаграммами классов в UML, если вы решите исключить методы и те аспекты модели, предназначенные для указания защиты данных.

однако сам UML служит более широкой цели, как семейство инструментов моделирования, которые в совокупности могут быть использованы для моделирования как статические, так и динамические природа системы. Он включает в себя диаграммы, которые облегчают более полную модель системы, чем вы можете получить, описывая ее сущности (или данные):

  • диаграммы классов для моделирования статических отношений объектов,
  • объект диаграммы динамического mnodelling объекта/экземпляра отношения
  • государственная машина / диаграммы для моделирования того, как система переходит через состояния
  • последовательности и Collaboaration диаграммы, чтобы продемонстрировать, как компоненты системы будут работать вместе
  • диаграммы активности (замена блок-схем) для демонстрации/документирования императивного потока
  • и несколько других, я оставлю вас, чтобы исследовать (проверьте http://www.agilemodeling.com/essays/umlDiagrams.htm для обзора)