Диаграммы ER

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

Что такое ER-диаграмма?

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

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

Создание ER-диаграммы

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

  1. Используйте фигуру Table из библиотеки фигур, или
  2. Используйте символ Entity из набора нотаций баз данных

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

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

Сущность ER-диаграммы

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

  1. Выберите Connector Tool
  2. Проведите линию между связанными сущностями
  3. Установите подходящие наконечники стрелок для обозначения кардинальности

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

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

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

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

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

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

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

  1. Выделите коннектор между сущностями
  2. В Инспекторе откройте раздел Arrowheads
  3. Выберите наконечники «воронья лапка»:
    • Crow foot open: Ноль или много (○<)
    • Crow foot closed: Один или много (|<)
    • Crow foot one: Ровно один (||)

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

Шаг 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)

Полная ER-диаграмма

Лучшие практики для ER-диаграмм

Компоновка

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

Именование

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

Документация

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

Советы

  • Начните на бумаге: Нарисуйте набросок ER-диаграммы перед созданием в Diagrammix3
  • Используйте автоматическую компоновку: Помогает упорядочить сложные диаграммы
  • Группируйте связанные сущности: Создаёт логические разделы
  • Экспортируйте для документации: Включайте в технические спецификации и вики
  • Контроль версий: Сохраняйте итерации по мере развития вашей базы данных