Лекция 2. ER-моделирование: сущности, атрибуты, связи

1. Моделирование данных

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

2. Ключевые компоненты ER-модели

2.1. Сущность (Entity)

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

2.2. Атрибут (Attribute)

Атрибут — это свойство или характеристика сущности. У каждого атрибута есть имя и допустимое множество значений (домен).

  • Простые и составные: Простой атрибут является неделимым (атомарным), например, Возраст. Составной атрибут может быть разделен на более мелкие части, например, Адрес можно разбить на Город, Улица, Дом.
  • Однозначные и многозначные: Однозначный атрибут имеет только одно значение для сущности (Дата_рождения). Многозначный может иметь несколько значений (Номер_телефона у одного человека).
  • Хранимые и производные: Хранимые атрибуты — это те, что мы непосредственно сохраняем в БД (Дата_рождения). Производные вычисляются на основе других атрибутов (Возраст можно вычислить из даты рождения).
  • Ключевой атрибут (Primary Key): Это атрибут (или набор атрибутов), который уникально идентифицирует каждый экземпляр сущности. Например, Номер_зачетки для студента. На диаграммах его название обычно подчеркивается.

2.3. Связь (Relationship)

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

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

3. Кардинальность и участие

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

  • Один к одному (1:1): Каждому экземпляру сущности А соответствует не более одного экземпляра сущности Б, и наоборот (например, «Директор» и «Школа»).
  • Один ко многим (1:M): Одному экземпляру сущности А может соответствовать много экземпляров сущности Б, но не наоборот (например, «Преподаватель» и «Группа»).
  • Многие ко многим (M:N): Любому количеству экземпляров сущности А может соответствовать любое количество экземпляров сущности Б (например, «Студент» и «Курс»).

Тип участия определяет, является ли связь обязательной.

  • Полное (total) участие: Каждый экземпляр сущности должен участвовать в связи (например, каждый «Заказ» должен быть связан с «Клиентом»).
  • Частичное (partial) участие: Экземпляр сущности может и не участвовать в связи (например, не каждый «Заказ» должен быть связан с «Оплатой»).

Практическое задание 2

Теперь, когда мы разобрали теорию более подробно, примените знания на практике. Для закрепления материала выполните Практическое задание 2: Построение ER-диаграммы.