Диаграммы ER
Создавайте диаграммы «сущность-связь» (ER-диаграммы) для моделирования структур баз данных и связей между данными.
Что такое ER-диаграмма?
Диаграмма «сущность-связь» визуализирует:
- Сущности: Таблицы базы данных или объекты
- Атрибуты: Свойства сущностей
- Связи: Как сущности соединены между собой
- Кардинальность: Характер связей (один-к-одному, один-ко-многим и т.д.)
Создание ER-диаграммы
Добавление сущностей
- Используйте фигуру Table из библиотеки фигур, или
- Используйте символ Entity из набора нотаций баз данных
Каждая сущность обычно содержит:
- Имя сущности (заголовок)
- Поля первичного ключа
- Остальные атрибуты

Добавление связей
- Выберите Connector Tool
- Проведите линию между связанными сущностями
- Установите подходящие наконечники стрелок для обозначения кардинальности
Нотация «воронья лапка»
Нотация «воронья лапка» — наиболее распространённый стиль ER-диаграмм. Она использует символы на концах коннекторов для обозначения кардинальности.
Символы кардинальности
| Символ | Значение |
|---|---|
| ` | ` (одна линия) |
○ (круг) | Ноль (необязательный) |
< или > (воронья лапка) | Много |
Распространённые типы связей
| Нотация | Начало | Конец | Значение |
|---|---|---|---|
| Один-к-одному | ` | ` | ` |
| Один-ко-многим | ` | ` | < |
| Многие-ко-многим | < | > | Несколько связаны с несколькими |
| Ноль-или-один | `○ | ` | ` |
| Ноль-или-много | ○< | ` | ` |
Применение наконечников «воронья лапка»
- Выделите коннектор между сущностями
- В Инспекторе откройте раздел Arrowheads
- Выберите наконечники «воронья лапка»:
- Crow foot open: Ноль или много (○<)
- Crow foot closed: Один или много (|<)
- Crow foot one: Ровно один (||)
Пример создания ER-диаграммы
Шаг 1: Определение сущностей
Для базы данных интернет-магазина:
- Customer (Покупатель)
- Order (Заказ)
- Product (Товар)
- OrderItem (Позиция заказа)
Шаг 2: Определение атрибутов
Customer
- customer_id (PK)
- name
- phone
Order
- order_id (PK)
- customer_id (FK)
- order_date
- total
Шаг 3: Создание сущностей на диаграмме
- Создайте фигуру таблицы для каждой сущности
- Добавьте имена сущностей в качестве заголовков
- Перечислите атрибуты внутри каждой таблицы
- Отметьте первичные ключи (PK) и внешние ключи (FK)
Шаг 4: Добавление связей
- Проведите коннектор от Customer к Order
- Установите конец «один» на стороне Customer (|)
- Установите конец «много» на стороне Order (<)
- Это показывает: один покупатель имеет много заказов
Шаг 5: Подписи связей
Добавьте текстовые подписи к коннекторам:
- «places» (Customer → Order)
- «contains» (Order → OrderItem)
- «is product in» (Product → OrderItem)

Лучшие практики для ER-диаграмм
Компоновка
- Располагайте связанные сущности рядом
- Используйте единообразный размер сущностей
- Выравнивайте сущности по сетке
- Минимизируйте пересечения коннекторов
Именование
- Используйте существительные в единственном числе для сущностей (Customer, а не Customers)
- Применяйте единообразные соглашения об именовании (camelCase, snake_case)
- Подписывайте связи глаголами
Документация
- Указывайте первичные ключи для всех сущностей
- Чётко отображайте внешние ключи
- Рассмотрите возможность добавления типов данных
- Отмечайте ограничения
Советы
- Начните на бумаге: Нарисуйте набросок ER-диаграммы перед созданием в Diagrammix3
- Используйте автоматическую компоновку: Помогает упорядочить сложные диаграммы
- Группируйте связанные сущности: Создаёт логические разделы
- Экспортируйте для документации: Включайте в технические спецификации и вики
- Контроль версий: Сохраняйте итерации по мере развития вашей базы данных