Открыть сервисСервис

ER-модель базы данных

ER-модель (модель «сущность — связь», англ. Entity-Relationship model) — семантическая модель данных, описывающая структуру предметной области в виде сущностей, их атрибутов и связей между ними. Была предложена в 1976 году Питером Ченом и с тех пор стала основным инструментом концептуального проектирования реляционных баз данных. ER-модель не привязана к конкретной СУБД и служит промежуточным звеном между реальной предметной областью и логической схемой базы данных.

Основные элементы модели

Сущности

Сущность — это объект предметной области, который выделяется как самостоятельный и однородный: сотрудник, товар, заказ, автомобиль. Сущности принято обозначать прямоугольниками, а именовать в единственном числе существительным («Клиент», а не «Клиенты»).

Различают:

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

Атрибуты

Атрибут — это свойство, характеристика сущности. Каждый атрибут описывает одно измерение объекта. Например, у сущности «Клиент» атрибутами могут быть фамилия, дата рождения, телефон, адрес.

Классификация атрибутов:

ТипОписаниеПример
ПростойНе разделяется на составные частиПол
СоставнойРазделяется на податрибутыФИО → фамилия, имя, отчество
ОднозначныйСодержит одно значениеДата рождения
МногозначныйДопускает несколько значенийТелефоны, навыки
ВыводныйВычисляется из других атрибутовВозраст из даты рождения
КлючевойОднозначно идентифицирует сущностьТабельный номер

Связи

Связь — это ассоциация между двумя или более сущностями. Обозначается ромбом. Наиболее распространённые степени связей:

  • 1:1 (один к одному) — один сотрудник руководит одним отделом.
  • 1:M (один ко многим) — один клиент делает много заказов.
  • M:N (многие ко многим) — студент изучает много дисциплин, дисциплину изучают много студентов.

Связи также классифицируют по участию: обязательное (сущность обязана участвовать в связи) и факультативное (участие необязательно). Для слабых сущностей используют идентифицирующую связь.

Диаграмма ER

Визуальное представление ER-модели — ER-диаграмма (ERD, от англ. Entity-Relationship Diagram). Первоначальная нотация Чена использовала прямоугольники, ромбы и овалы. Позже появились упрощённые варианты:

  • Нотация Чена — классическая, с ромбами для связей и овалами для атрибутов.
  • Нотация Мартина (crow's foot, «воронья лапка») — использует трёххвостые стрелки для отображения степени связей; наиболее популярна в CASE-инструментах.
  • Нотация IDEF1X — стандартизированная нотация, применяемая в государственных и оборонных проектах.
  • UML-диаграмма классов — в объектно-ориентированном проектировании часто заменяет ER-диаграмму.

Роль в проектировании баз данных

Процесс проектирования БД обычно включает три уровня абстракции:

  1. Концептуальный уровень — ER-модель описывает предметную область без привязки к технологии хранения. Результат — концептуальная схема.
  2. Логический уровень — ER-модель преобразуется в реляционную схему: сущности становятся таблицами, атрибуты — столбцами, связи — внешними ключами.
  3. Физический уровень — схема адаптируется под конкретную СУБД с учётом индексов, партиционирования и других механизмов.

Правила преобразования ER-модели в реляционную схему

  • Каждая сущность превращается в таблицу; атрибуты становятся столбцами.
  • Первичный ключ сущности становится первичным ключом таблицы.
  • Связь 1:M реализуется через внешний ключ на стороне «многие».
  • Связь M:N разбивается на промежуточную таблицу с внешними ключами обеих сторон.
  • Связь 1:1 может быть реализована объединением таблиц или внешним ключом с уникальным ограничением.
  • Многозначные атрибуты выносятся в отдельные таблицы (нормализация).

Пример

Рассмотрим предметную область «Интернет-магазин». Сущности: Покупатель, Заказ, Товар, Категория. Связи: Покупатель — 1:M — Заказ; Заказ — M:N — Товар (через промежуточную таблицу «Позиция заказа» с количеством); Категория — 1:M — Товар. Атрибуты Покупателя: идентификатор (ключ), email, имя, адрес доставки. Атрибуты Заказа: номер (ключ), дата, сумма, статус.

Достоинства и ограничения

Достоинства:

  • Интуитивная визуальная нотация, понятная заказчику и разработчику.
  • Независимость от СУБД и модели хранения.
  • Опора на формальный аппарат теории множеств и реляционной алгебры.
  • Широкая поддержка в инструментах проектирования (ERwin, Microsoft Visio, draw.io, dbdiagram.io).

Ограничения:

  • Ориентирована преимущественно на структурные аспекты, слабо описывает поведение и бизнес-процессы.
  • Не отражает ограничения целостности в полной мере (часть описывается текстом).
  • Для объектно-ориентированных СУБД и NoSQL-систем требует адаптации.

Применение

ER-моделирование преподаётся в курсах баз данных и информационных систем, используется при разработке корпоративных информационных систем, банковских и учётных приложений, а также при аудите и реинжиниринге существующих схем. В России ER-диаграммы применяются при проектировании государственных информационных систем и в соответствии с методологиями, основанными на стандарте ISO/IEC 11179 для описания метаданных.

Источники

  • Чен П. П. С. «The Entity-Relationship Model — Toward a Unified View of Data» // ACM Transactions on Database Systems, 1976.
  • Коннолли Т., Бегг К. «Базы данных. Проектирование, реализация и сопровождение».
  • Дейт К. Дж. «Введение в системы баз данных».
  • Фатеев В. А. «Проектирование информационных систем».
Заметили ошибку или не согласны с информацией в статье? Напишите нам support@bfometr.ru