Нотация Сrow’s Foot
Нотация названа в честь графического изображения множественной связи между сущностями, которая напоминает воронью лапку (англ. crow’s foot). В литературе и на практике можно встретить и другие названия: нотация Мартина, «перевёрнутая стрелка» (inverted arrow), «вилка» (fork).
У Crow’s Foot есть несколько важных преимуществ:
- небольшое количество элементов;
- компактность, что позволяет создавать крупные логические модели данных и сохранять читаемость.
Изучая нотацию Crow’s Foot, мы будем работать с теми же элементами ER-диаграммы, что и в нотации Чена: сущностями, атрибутами и связями.
В качестве примера возьмём ту же сеть городских больниц и рассмотрим, как с помощью нотации Crow’s Foot можно представить модель данных на логическом уровне.
1. Сущность
В Crow’s Foot все сущности изображаются в виде прямоугольников с названием.
Пример:
В нашей предметной области есть четыре сущности, каждой из которых соответствует прямоугольник: «Врач», «Больница», «Пациент» и «Страховой полис». Сущность «Кабинет» из прошлого урока пока использовать не будем.
2. Атрибут
Все атрибуты сущности перечисляются в нижней части прямоугольника.
2.1. Первичный ключ в нотации Crow’s Foot выделяется символом «звёздочка» (*).
Пример:
3. Связь
В отличие от нотации Чена в Сrow’s Foot для обозначения связи не нужен отдельный элемент. Связь между элементами просто изображается линией.
У связи в нотации Crow’s Foot есть две характеристики — кардинальность и модальность.
3.1. Кардинальность
Кардинальность, как и в нотации Чена, показывает, уникальна ли связь между сущностями, то есть какое максимальное количество связей может быть между экземплярами разных сущностей (одна или много).
- Если максимальное количество связей — одна, то кардинальность обозначается вертикальной чертой.
Как читать связь: сущность А может быть связана максимум с одним экземпляром сущности В.
- Если связей может быть несколько, то кардинальность обозначается как та самая «воронья лапка».
Как читать связь: сущность А может быть связана с несколькими экземплярами сущности В.
3.2. Модальность
Модальность показывает, может ли сущность не иметь никаких связей с другой сущностью, то есть какое минимальное количество связей должно быть у такой сущности (ноль или минимум одна).
- Обязательная связь (минимум одна) обозначается вертикальной чертой.
Как читать связь: сущность А должна иметь минимум одну связь с сущностью В (вертикальная черта), максимум с несколькими («воронья лапка»).
- Опциональная связь (может быть ноль) обозначается кругом.
Как читать связь: сущность А может не иметь связей с сущностью В (круг), но может иметь и несколько («воронья лапка»).
Обозначения характеристик связи располагаются на линии именно в таком порядке: сначала модальность (минимум), потом кардинальность (максимум).
Рассмотрим характеристики связей на примере сети городских больниц:
- Связь «Врач-Больница»
А. Врач должен работать минимум в одной больнице, максимум в нескольких.
B. В больнице могут работать минимум ноль, максимум несколько врачей.
- Связь «Пациент-Больница»
A. Пациент может быть прикреплён минимум к одной больнице, максимум тоже к одной.
B. К больнице может быть прикреплено минимум ноль пациентов, максимум несколько.
Итак, мы рассмотрели основные элементы нотации Crow’s Foot. Полное представление модели данных выглядит сложнее, чем в нотации Чена, но компактнее и информативнее.