Справочник / ER-диаграмма (сущность–связь)
ER-диаграмма (сущность–связь): синтаксис и примеры
Таблицы, ключи и кратность связей (нотация IE). Сущности объявляются словом entity. Обязательные поля отмечаются звёздочкой, -- отделяет ключ от остальных полей. Связи рисуются в нотации «воронья лапка» (IE).
Пример
@startuml
hide circle
skinparam linetype ortho
entity "Клиент" as customer {
* id : int <<PK>>
--
* name : varchar(100)
email : varchar(255) <<UK>>
}
entity "Заказ" as orders {
* id : int <<PK>>
--
* customer_id : int <<FK>>
* created_at : date
}
entity "Позиция" as line_item {
* order_id : int <<FK>>
* product_id : int <<FK>>
--
* qty : int
}
entity "Товар" as product {
* id : int <<PK>>
--
* title : varchar(200)
* price : decimal(10,2)
}
customer ||--o{ orders : делает
orders ||--|{ line_item : содержит
product ||--o{ line_item : входит в
@endumlГотовые примеры
Конструкции
Сущность
entity "Клиент" as customer {
* id : int <<PK>>
--
* name : varchar
email : varchar <<UK>>
}Связь
customer ||--o{ orders : делаетПрямые линии
Пишется в начале диаграммы.
skinparam linetype ortho
Кратность
| |o-- | ноль или один |
| ||-- | ровно один |
| }o-- | ноль или много |
| }|-- | один или много |
Общее
| @startuml / @enduml | начало и конец диаграммы |
| ' текст | комментарий |
| /' … '/ | многострочный комментарий |
| title Заголовок | заголовок над диаграммой |
| left to right direction | раскладка слева направо |
Другие виды диаграмм
- Диаграмма классов UMLКлассы, атрибуты, операции и связи между ними
- Диаграмма объектов UMLЭкземпляры классов и их значения в момент времени
- Диаграмма пакетов UMLПакеты (модули) системы и зависимости между ними
- Диаграмма компонентов UMLКомпоненты, интерфейсы и зависимости
- Диаграмма развёртывания UMLУзлы, среды выполнения и артефакты на них
- Диаграмма прецедентов UMLАктёры и варианты использования системы
- Диаграмма последовательностей UMLОбмен сообщениями между участниками во времени
- Диаграмма деятельности UMLДействия, решения, параллельные ветки и дорожки
- Диаграмма состояний UMLЖизненный цикл объекта и переходы
- Временная диаграмма UML (timing)Изменение состояний участников во времени
- Диаграмма ГантаПлан работ по дням с зависимостями и вехами
- Интеллект-карта (mind map)Идеи вокруг одной темы
- WBS — структура декомпозиции работДекомпозиция проекта на пакеты работ
- Сетевая диаграмма (nwdiag)Сети, адреса и подключённые к ним серверы
- Визуализация JSONСтруктура JSON-документа в виде дерева