×
ER-диаграмма: задачи, нотации, правила составления
5783

Время чтения: 17 минут

Сохранить статью:

ER-диаграмма: задачи, нотации, правила составления

О чем речь? ER-диаграмма — инструмент для визуализации структуры данных и связей между ними. Ее используют в бизнес-аналитике для создания программного обеспечения и оформления документации.

На что обратить внимание? ER-диаграммы строятся в различных нотациях: UML, IDEF1X, «воронья лапка», Чена. Для создания необходимо разобраться с детализацией уровней и применяемыми символами.



Понятие ER-диаграммы

ER-диаграмма (от английского «entity-relationship diagram) представляет собой графическую схему, отражающую данные, входящие в систему, и их взаимосвязь. Построение схемы выполняется с помощью графических показателей.

ЕR-диаграмма основана на модели (концепции), описывающей данные посредством связей и атрибутов.

ER-модель ER-диаграмма
Что это Концепция, метод описания данных Представление модели с помощью графических символов
Где применяется Теоретическое проектирование Визуализация
Результат Описание сущностей, атрибутов и связей Схема
Форма Текст либо таблица Графика

Читайте также!

«KPI отдела маркетинга: 11 показателей и пример расчета в 2026 году»
Подробнее

Уровни ER-модели

В создании ER-моделей принимают участие разные специалисты, а между графиками существуют различия по степени детализации описания информации. Выделяют следующие уровни ER-моделей:

  • Концептуальный.

Первая ступень, на которой показывают, что включает в себя новая предметная область будущего проекта и какую работу нужно выполнить. Например, при разработке программного обеспечения для транспортной компании используют сущности «Груз», «Транспорт», «Накладная», «Маршрут».

Уровни ER-модели

Источник: shutterstock.com

Заказчику и системному аналитику модель такого уровня необходима для проверки, учтены ли все термины, требуемые для проекта. Обычно она создается самостоятельно рассматриваемым работником без привлечения технических специалистов.

  • Логический.

На этом уровне модели ЕR-диаграммы выполняют детализацию информации из концептуальной модели, для чего к сущностям присоединяют атрибуты, то есть характеристики. Допустим, проводят описание характеристик сущности «Транспорт»: модель и марка механизма, мощность двигателя, пробег, грузоподъемность.

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

  • Физический.

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

Символы ER-диаграммы

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

Символы, которые мы рассмотрим ниже, есть в библиотеках «Сущность-связь» для UML и «Фигуры по модели "сущность-связь"» на Lucidchart.

Символы ERD-сущностей

Термином «сущность» называют понятие либо объект, который несет важную информацию. В соответствии с грамматическими правилами, они обычно являются именами существительными («клиент», «промоакция», «товар», «помещение»).

Символы ERD-сущностей

Символы ERD-связей

Такие связи применяются в схемах «сущность-связь», чтобы обозначить, каким образом два объекта взаимодействуют друг с другом. С точки зрения грамматики, обычно это глаголы («закрепить», установить», «назначить»). Они несут информацию, которая не может быть получена при использовании только типов сущностей.

Символы ERD-связей

Символы ERD-атрибутов

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

Символы ERD-атрибутов

Символы физических ER-диаграмм

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

Таблицы являются еще одним вариантом отображения сущностей. В такие схемы входят следующие основные части.

Поля — представляют собой части таблицы, где показаны атрибуты сущностей. Как правило, последние — это столбцы базы, созданной по принципу «сущность-связь типа».

В приведенном варианте атрибутами сущности являются «процентная ставка» (InterestRate) и «сумма займа» (LoanAmount), находящиеся внутри полей. Здесь каждый атрибут фиксирует определённый тип информации, относящийся к конкретной сущности.

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

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

  • Внешний ключ каждый раз формируется в момент привязки атрибута к сущности за счет единичной либо множественной связи.

Например, кредит на конкретную машину может выдать только один банк, а значит в таблице Car, то есть «автомобиль», внешним ключом FinancedBy («кем выдан заем») будет основной ключ BankId, то есть «идентификатор банка».

«Тип» представляет собой вид информации, находящейся в определенном поле таблицы. Кроме того, также может обозначаться и тип сущности. Так, такими параметрами для «книги» будут «название», «автор», «дата издания».

Читайте также!

«План маркетинга компании на 2026 год: короткий и подробный варианты»
Подробнее

Виды связей

При моделировании связей необходимо точно отражать бизнес-правила. Интегрированность информации, а также производительность запросов в дальнейшем зависят от правильного определения типа и кардинальности связи. Если на этом этапе будут допущены ошибки, в будущем в работе всей информационной системы возникнут серьезные проблемы.

При создании моделей используют три типа связей:

  • 1 : 1 (один к одному) — экземпляр одной конкретной сущности связывается с одним экземпляром второй сущности (например, Работник — Место для работы).

  • 1 : N (один к многим) — экземпляр одной конкретной сущности связывается с несколькими экземплярами второй сущности (например, Отдел — Работники).

  • M : N (многие ко многим) — много экземпляров одной конкретной сущности связываются со многими экземплярами второй сущности (например, Ученики — Уроки).

Виды связей в ER-диаграмме

Источник: shutterstock.com

Кроме того, для связей характерна кардинальность, означающая, что должны быть точно указаны количественные ограничения:

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

  • Необязательное участие в связи — элемент может не принимать участия (например, клиент может не иметь заказов).

  • Количественные ограничения — должно быть обозначено наименьшее и наибольшее количество связей (например, куратор ведет от 3 до 6 учеников курса).

Нужно очень внимательно относиться к типу «многие ко многим», поскольку в реляционных базах данных для них нужно формировать промежуточные таблицы. Если такие связи смоделировать неверно, то в дальнейшем будут трудности со сложностью запросов и производительностью.

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

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

При использовании простой промежуточной таблицы «ученик-курс» для разных сценариев потребовалось бы формировать не оптимальные NULL-поля. Вместо этого создали проект кластера связанных сущностей типа «Запись», «Обучение», «Сертификаты», сопроводив каждую из них своими атрибутами для лучшего понимания логики процесса.

Виды связей в ER-диаграмме

Источник: shutterstock.com

Начальное проектирование от этого стало сложнее, однако получилась более гибкая система. Спустя год появилась необходимость в добавлении концепции «путей обучения», отражающей последовательность прохождения курсов. Созданная сложная структура позволила легко это сделать, а если бы применили примитивную M:N связь, проект пришлось бы полностью переделывать — что затруднило бы понимание архитектуры системы.

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

Также важной частью является обработка наследования и подтипов. Используются следующие подходы:

  • Общая таблица для всей иерархии — все атрибуты подтипов входят в единую структуру.

  • Отдельные таблицы для разных подтипов — создаются различные таблицы, в которых дублируются общие атрибуты.

  • Таблица для суперкласса и подклассов — таблицы, соединение которых обеспечивается через первичный ключ.

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

Нотации

ER-диаграммы — это не просто схемы, а универсальный язык визуализации структуры информации.

Нотация П. Чена

Прямоугольники изображают множества сущностей, а ромбы — отношений. При участии первых в отношении связь обозначается линией. Пунктир говорит о том, что отношение является необязательным.

Crow’s Foot

Эту нотацию предложил Гордон Эверест, назвав ее «inverted arrow», что означает перевернутая стрелка. Сейчас ее чаще называют Crow’s Foot (в переводе «воронья лапка») или fork («вилка»).

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

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

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

Узнать подробности

Наименование, как правило, указывают одним глаголом в настоящем времени. При этом используется изъявительное наклонение («принадлежит», «ведет» и т.д.). Также это может быть глагол с поясняющими словами («содержит в себе»).

Для всей связи может быть использовано единое наименование, либо по одному для каждого из концов. Если названия два, то левый конец обозначается над линией, а правый — под. Каждое имя ставится возле сущности, к которой относится.

Crow’s Foot

Источник: shutterstock.com

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

Нотация ER-диаграммы классов UML

Особенности применения:

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

<<index>>

и

<<trigger>>

  • Подмножество системы обозначений небольшое, поскольку виртуальные функции, статические поля, закрытое наследование, абстрактные классы, агрегация не имеют особого значения для предметной области.

  • Как правило, требуется отображение ограничений. С этой целью применяются стереотипы.

<<PK>>

(первичный ключ),

<<FK>>

(внешний ключ) и

<<PK, FK>>

Диаграмма классов используется при объектно-ориентированном проектировании. Она создается с помощью различных инструментов.

Как ER-модель, данная нотация применяется в инструментах, входящих в серию Rational от IBM. От предыдущих нотаций она отличается тем, что на нее разработан международный стандарт [UML_ISO_1, UML_ISO_2].

ТОП-7 кейсов
из разных ниш с ростом
от 89% до 1732%
Узнать подробнее

Нотация IDEF1X

Есть множество вариантов, схожих с названными выше и отличающихся только системой обозначений. Новых возможностей они, как правило, не несут, поэтому говорить о них не будем. Скажем только о IDEF1X, поскольку на нее создан международный стандарт [IDEF1X_ISO]. Информацию о том, как данный стандарт применять, можно посмотреть в [Anisimov_IDEF1X].

Самые удобные инструменты предусмотрены в нотациях Мартина или UML. Для моделирования стоит выбирать между этими двумя наборами. Если стандартизация имеет значение, можно предпочесть UML, поскольку для нее, в отличие от нотации Мартина, есть нормативы.

Этапы построения

От выделения сущностей до определения — создание подчиняется четкой логике. Разберём поэтапную методологию, которая поможет избежать ошибок в проектировании.

Определение объектов

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

Определение объектов

Источник: shutterstock.com

Если же акцент делается на процесс или бизнес-структуру, необходимо определить бизнес-элементы и роли. То есть нужные типа сущности вы должны выделить самостоятельно с учётом того, какую модель будете создавать. Наглядные компоненты:

  • Лицо — сущность: заказчик, работник, ученик, пациент.

  • Объекты — сущности: оборудование, продукты, автомобили.

  • События — сущности: привлечение пользователей, проведение сделки, продление контракта.

На этом этапе нет необходимости сосредотачиваться на расстановке элементов в конкретной последовательности. Это можно сделать на шаге определения взаимосвязей, а здесь лучше уделить внимание полному охвату всей информации.

Добавление атрибутов

На этом этапе присоединяют атрибуты. Например, вкус продукта. Тогда ими будут Название вкуса — Вкусовой код — Идентификатор вкуса. Эта информация делает описание более детальным.

Читайте также!

«32 способа привлечения клиентов в 2026 году: проверенные и нестандартные»
Подробнее

Установление взаимосвязи

После определения сущности и их атрибутов нужно отобразить, как они связаны между собой. Компоненты соединяются стрелками или линиями, показывающими отношения между ними. Не все компоненты могут быть связаны, что является нормой.

Определение показателей мощности

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

Рассматриваемые показатели на диаграмме обозначаются на каждой линии или стрелке небольшими символами.

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

Представление созданной ER-диаграммы

После завершения работы над диаграммой ее окончательный вариант показывают всем заинтересованным лицам, чтобы члены команды, акционеры, инвесторы могли что-то уточнить или оставить отзыв.

Представление созданной ER-диаграммы

Источник: shutterstock.com

Благодаря разработке подобных схем члены команды могут совместно работать над проектом. Покажите диаграмму участникам, и они получат возможность комментировать прямо на доске.

Обновление и выполнение итераций

Постепенно первоначально созданная концептуальная модель будет изменяться.

Периодически нужно делать обновления. Как только что-то меняется, возвращайтесь на доску и фиксируйте преобразования.

И даже если кажется, что никаких изменений не было, нужно регулярно возвращаться к диаграмме и смотреть, актуальна ли она.

Примеры использования ER-диаграмм

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

Область Описание применения
Базы данных ER-модели способствуют выделению основных entity, их свойств и взаимосвязей. Благодаря этому можно разработать оптимальную структуру, чтобы хранить информацию и работать с ней.
Информационные системы При разработке информационных систем с помощью ER-моделей визуализируют архитектуру, чтобы показать, каким образом разные компоненты связаны друг с другом. Например, система управления обучающими курсами содержит сущности «Ученик», «Преподаватель», «Урок». Каждую сущность сопровождают определенные атрибуты.
Бизнес-процессы При описании бизнес-процессов моделирование помогает определить и изучить основные компоненты и стадии процесса. Например, разработка логистической компании связана с моделированием сущностей «Груз», «Склад», «Транспорт», позволяющих разработать оптимальные пути доставки грузов и предусмотреть их хранение.
Разработка приложений В создании эффективных программ с четкой структурой моделирование объектов и взаимосвязей имеет важное значение. Пример: сущности в создании проекта финансового приложения – это «Пользователь», «Транзакция», «Счет». К ним добавляются атрибуты и устанавливаются взаимосвязи, благодаря чему обеспечивается функциональность денежных трансферов.
Скачайте полезный документ по теме:
Чек-лист: Как добиваться своих целей в переговорах с клиентами

Часто задаваемые вопросы

Грамотно спроектированная концептуальная модель — это основа для эффективной работы всей информационной системы, способной адаптироваться при изменении условий и требований бизнеса.

Есть ли единый стандарт?

Для ER-моделей существуют разные нотации, а единого стандарта, содержащего общую систему обозначений, нет.

На какие ограничения нужно обратить внимание?

При разработке диаграммы следует учесть следующие ограничения:

  • Только реляционные данные. Так как диаграммы создаются с целью установления связей и отношений атрибутов, они отображают исключительно реляционную структуру.

  • Информация должна быть структурирована. Чтобы диаграмма была полезной, все данные должны быть разделены по столбцам, строкам и полям. Исключение составляют некоторые частично структурированные сведения, которые также полезны в работе.

Какие инструменты можно применять для создания диаграмм?

Быстро создать ER-диаграмму в соответствии с нотацией Мартина можно с помощью сервисов draw.io и plantuml, предлагающих шаблоны для работы.

Также онлайн в нотации Чена можно сделать, воспользовавшись сервисом online.visual-paradigm.

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

Облако тегов
Забрать подарок
Елена Койгородова
Елена Койгородова печатает ...
Чат-бот
00:00