Модель данных «сущность–связь»
Понятие ER-модели
ER-модель (Entity–Relationship, «сущность–связь») — это концептуальная модель данных, предназначенная для описания предметной области в виде сущностей (объектов), их атрибутов и взаимосвязей между ними.
Основная цель ER-модели — понять, какие данные нужно хранить и как они связаны между собой, прежде чем начинать проектирование структуры таблиц и полей в СУБД.
Зачем нужна ER-модель
- Позволяет отразить логическую структуру предметной области без технических деталей.
- Помогает согласовать понимание данных между аналитиками, разработчиками и заказчиками.
- Служит переходным звеном между анализом требований и построением логической модели данных.
Особенности ER-модели
- Не зависит от конкретной СУБД.
- Представляется в виде ER-диаграммы — графической схемы с сущностями, атрибутами и связями.
- Может охватывать как основные объекты системы, так и их взаимосвязи, правила и ограничения.
В ER-модели важна не реализация, а смысловое содержание данных — она отвечает на вопрос «что хранить», а не «как хранить».
История появления и назначение
ER-модель была предложена в 1976 году американским учёным Питером Ченом (Peter Chen) в статье «The Entity-Relationship Model: Toward a Unified View of Data».
До появления ER-модели существовали только иерархические и сетевые модели, которые описывали данные в привязке к физическим структурам хранения. Это затрудняло анализ и проектирование, потому что бизнес-логика смешивалась с техническими деталями.
ER-модель стала первой полноценной концептуальной моделью данных, отделяющей описание предметной области от способа хранения данных.
Появление ER-модели стало важным этапом в развитии баз данных и привело к:
- стандартизации подходов к проектированию БД;
- появлению CASE-средств для построения ER-диаграмм;
- упрощению общения между аналитиками и разработчиками;
- созданию реляционной модели и языков, основанных на ней (SQL).
Назначение ER-модели:
- отразить ключевые объекты предметной области и их взаимосвязи;
- сформировать основу для логической и физической моделей данных;
- облегчить понимание структуры системы всеми участниками проекта;
- выявить и устранить противоречия в требованиях на раннем этапе.
Сегодня ER-модель остаётся основным инструментом концептуального проектирования, применяемым практически во всех крупных проектах баз данных.
Основные элементы ER-модели
ER-модель строится из трёх ключевых компонентов: сущности, атрибуты и связи, а также включает дополнительные элементы, уточняющие их поведение.
Сущность (Entity)
- Это объект предметной области, о котором необходимо хранить данные.
- Каждая сущность имеет уникальное имя и описывается набором атрибутов.
- Примеры: Студент, Преподаватель, Дисциплина, Заказ, Товар.
- В ER-диаграммах изображается прямоугольником.
Виды сущностей:
- Сильные (основные) — существуют самостоятельно (например, Студент).
- Слабые — не могут существовать без другой сущности и зависят от неё (например, Экзамен зависит от Студента и Дисциплины).
Атрибут (Attribute)
- Это свойство сущности, описывающее её характеристики.
- Примеры: ФИО, Дата рождения, Название дисциплины, Цена.
- В ER-диаграммах изображаются овалами, соединёнными с сущностью.
Виды атрибутов:
- Простые — имеют одно значение (Имя, Возраст).
- Составные — состоят из нескольких податрибутов (Адрес = Город + Улица + Дом).
- Многозначные — могут содержать несколько значений (Телефоны).
- Производные — вычисляются из других данных (Возраст вычисляется по дате рождения).
- Ключевые — уникально идентифицируют экземпляр сущности (например, Номер зачетной книжки).
Связь (Relationship)
- Это логическая ассоциация между двумя или более сущностями.
- Показывает, как объекты взаимодействуют друг с другом.
- Примеры: Студент зачислен на Дисциплину; Преподаватель ведёт Дисциплину.
- В ER-диаграммах изображается ромбом, соединяющим сущности.
Характеристики связей:
- Степень — количество сущностей, участвующих в связи (бинарные, тернарные и т.д.).
- Кратность (кардинальность) — определяет, сколько экземпляров одной сущности могут быть связаны с другой (1:1, 1:М, М:М).
- Идентифицирующие и неидентифицирующие — связь может участвовать в образовании ключа слабой сущности.
Эти три элемента — сущности, атрибуты и связи — составляют основу ER-модели и позволяют описать любую предметную область в виде структурированной схемы.
Типы связей между сущностями
Связь (relationship) описывает как экземпляры одной сущности связаны с экземплярами другой сущности. Она определяет правила взаимодействия между объектами предметной области.
В ER-моделях различают несколько параметров связей:
По степени (количеству участвующих сущностей)
- Унарные (рекурсивные) — связь сущности с самой собой (например, Сотрудник подчиняется Сотруднику).
- Бинарные — между двумя сущностями (например, Студент зачислен на Дисциплину).
- Тернарные и n-арные — между тремя и более сущностями (например, Студент сдаёт Экзамен по Дисциплине у Преподавателя).
По кратности (кардинальности)
Кардинальность указывает, сколько экземпляров сущности A могут быть связаны с одним экземпляром сущности B и наоборот.
- 1:1 (один к одному)
- Каждому экземпляру сущности A соответствует не более одного экземпляра сущности B.
- Пример: каждый паспорт принадлежит только одному гражданину, и у гражданина только один паспорт.
- 1:М (один ко многим)
- Каждому экземпляру сущности A соответствует множество экземпляров сущности B, но у каждого B — только один A.
- Пример: один преподаватель ведёт много дисциплин, но каждая дисциплина ведётся только одним преподавателем.
- М:М (многие ко многим)
- Несколько экземпляров сущности A могут быть связаны с несколькими экземплярами сущности B.
- Пример: студенты изучают много дисциплин, и каждая дисциплина изучается многими студентами.
В реляционных БД связи М:М реализуются через промежуточную (связующую) таблицу.
По обязательности (participation)
- Обязательные — участие в связи обязательно (например, каждый заказ должен быть связан с клиентом).
- Необязательные — объект может существовать без связи (например, преподаватель может быть пока не назначен на дисциплину).
На ER-диаграммах обязательность обозначается сплошной или пунктирной линией, а кратность — числами (1, М) или символами (|, ○, > и т.д. в нотации Crow’s Foot).
Правила построения ER-диаграмм
ER-диаграмма — это графическое представление ER-модели, которое используется для наглядного отображения сущностей, атрибутов и связей между ними.
Основные графические обозначения
- Сущности — прямоугольники с названием внутри.
- Атрибуты — овалы, соединённые линиями с сущностями.
- Ключевой атрибут — подчёркнут внутри овала.
- Связи — ромбы, соединяющие сущности линиями.
- Кардинальность связей — указывается цифрами (1, М) или символами (|, ○, >) около линий.
В расширенных нотациях (Crow’s Foot, IDEF1X, UML) атрибуты вписываются прямо внутрь сущностей, а связи показываются линиями с особыми символами на концах.
Правила оформления
- Названия сущностей — существительные в единственном числе (Студент, Дисциплина).
- Названия атрибутов — осмысленные, уникальные внутри сущности.
- Названия связей — глаголы или действия (Зачислен, Преподаёт, Содержит).
- Все сущности должны иметь хотя бы один ключевой атрибут.
- Все связи должны быть подписаны и иметь указание кратности.
- Не допускаются пересекающиеся или избыточные связи.
Логическая структура
- Каждая связь соединяет не менее двух сущностей.
- Если связь М:М, её нужно будет преобразовать в отдельную таблицу при переходе к реляционной модели.
- ER-диаграмма должна отображать только логическую структуру данных, без технических деталей реализации.
Важная цель — сделать диаграмму понятной для всех участников проекта, а не только для разработчиков.
Пример ER-диаграммы




Применение ER-модели в проектировании БД
ER-модель является основным инструментом концептуального проектирования базы данных, который используется на раннем этапе создания системы.
Роль в процессе проектирования
- Помогает выявить ключевые объекты предметной области и определить, какие данные нужно хранить.
- Позволяет структурировать информацию и выявить взаимосвязи между объектами.
- Служит основой для построения логической и физической моделей данных.
- Помогает обнаружить противоречия и пробелы в требованиях до начала реализации.
Этапы использования ER-модели
- Сбор и анализ требований — определение сущностей, атрибутов и бизнес-правил.
- Построение ER-диаграммы — визуализация предметной области в удобной для обсуждения форме.
- Согласование модели — проверка полноты и корректности модели с заказчиком и командой.
- Преобразование в логическую модель — разработка структуры таблиц, полей, ключей и связей.
- Переход к физическому проектированию — выбор типов данных, индексов, нормализация.
Преимущества применения
- Улучшает коммуникацию между аналитиками, разработчиками и заказчиками.
- Обеспечивает единое понимание структуры данных.
- Позволяет масштабировать и развивать систему без потери целостности данных.
- Уменьшает затраты на доработку и исправление ошибок на поздних этапах.
Использование ER-модели позволяет заложить прочную и логичную основу для всей будущей базы данных, что значительно повышает её качество и надёжность.