ERD-диаграммы

Создавайте диаграммы «сущность-связь» (ERD) для моделирования структур баз данных и связей между данными.

Что такое ERD?

ERD-диаграмма («сущность-связь») визуализирует:

  • Сущности: таблицы базы данных или объекты
  • Атрибуты: свойства сущностей
  • Связи: как сущности соединяются друг с другом
  • Кардинальность: характер связей (один-к-одному, один-ко-многим и т. д.)

Создание ERD

Добавление сущностей

  1. Выберите инструмент Таблица на панели инструментов и щёлкните на холсте, чтобы создать таблицу для каждой сущности
  2. Используйте первую строку как имя сущности, а последующие строки — для атрибутов

О редактировании строк, столбцов и текста ячеек см. Таблицы.

Каждая сущность обычно содержит:

  • Имя сущности (заголовок)
  • Поле (поля) первичного ключа
  • Прочие атрибуты

Добавление связей

  1. Выберите Инструмент «Соединитель»
  2. Проведите линию между связанными сущностями
  3. Задайте подходящие стрелки для отображения кардинальности

Нотация «воронья лапка»

Нотация «воронья лапка» — самый распространённый стиль ERD. Она использует символы на концах коннекторов для отображения кардинальности.

Символы кардинальности

СимволЗначение
`` (одна черта)
○ (кружок)Ноль (необязательно)
< или > (воронья лапка)Много

Распространённые связи

ОбозначениеНачалоКонецЗначение
Один-к-одному```
Один-ко-многим``<
Многие-ко-многим<>Несколько связаны с несколькими
Ноль-или-один`○``
Ноль-или-много○<``

Применение стрелок «воронья лапка»

  1. Выберите коннектор между сущностями
  2. На вкладке Инспектора Стиль перейдите в раздел Соединитель
  3. Выберите Начальную стрелку и Конечную стрелку из списка Встроенные стрелки. Стрелки для ERD:
СтрелкаТипичное значение
Двойная чертаРовно один (‖)
Черта-кружокНоль или один (○|)
Лапка вороныМного
Лапка-чертаОдин или много (|<)
Лапка-кружокНоль или много (○<)

Лапка-сегмент и Лапка-кружок-круг — альтернативные варианты отображения концов «один-или-много» и «ноль-или-много».

Также можно щёлкнуть правой кнопкой мыши на конце коннектора, чтобы выбрать его стрелку.

Пример работы с ERD

Шаг 1. Определение сущностей

Для базы данных интернет-магазина:

  • Customer (Клиент)
  • Order (Заказ)
  • Product (Товар)
  • OrderItem (Позиция заказа)

Шаг 2. Определение атрибутов

Customer

  • customer_id (PK)
  • name
  • email
  • phone

Order

  • order_id (PK)
  • customer_id (FK)
  • order_date
  • total

Шаг 3. Рисование сущностей

  1. Создайте таблицу инструментом Таблица для каждой сущности
  2. Добавьте имена сущностей в качестве заголовков
  3. Перечислите атрибуты внутри каждой таблицы
  4. Отметьте первичные ключи (PK) и внешние ключи (FK)

Шаг 4. Добавление связей

  1. Проведите коннектор от Customer к Order
  2. Установите конец «один» у Customer (|)
  3. Установите конец «много» у Order (<)
  4. Это показывает: у одного клиента может быть много заказов

Шаг 5. Подпись связей

Добавьте текстовые подписи к коннекторам:

  • «places» (Customer → Order)
  • «contains» (Order → OrderItem)
  • «is product in» (Product → OrderItem)

Рекомендации по ERD

Компоновка

  • Располагайте связанные сущности рядом друг с другом
  • Используйте одинаковый размер сущностей
  • Выравнивайте сущности по сетке
  • Сводите к минимуму пересечения коннекторов

Именование

  • Используйте существительные в единственном числе для сущностей (Customer, а не Customers)
  • Используйте единый стиль именования (camelCase, snake_case)
  • Подписывайте связи глаголами

Документирование

  • Указывайте первичные ключи для всех сущностей
  • Чётко показывайте внешние ключи
  • Рассмотрите возможность указания типов данных
  • Отмечайте все ограничения

Советы

  • Начните с текста: вставьте erDiagram из Mermaid через Правка → Вставить Mermaid (PRO), чтобы получить черновик, а затем доработайте его — см. Поддержка Mermaid
  • Используйте автокомпоновку: помогает упорядочить сложные диаграммы
  • Группируйте связанные сущности: создаёт логические разделы
  • Экспортируйте для документации: включайте в технические спецификации и вики
  • Контроль версий: сохраняйте итерации по мере развития базы данных