
- •Понятие отношения
- •Что такое отношения?
- •Выявление отношений
- •Чтение отношений
- •Степень отношения
- •Направленность отношения
- •Неидентифицирующие отношения
- •Типизирующие отношения
- •Исключающие типизирующие отношения
- •Концепции моделирования
- •Часть I
- •Рекурсивные отношения
- •Количество элементов отношения
- •Один-к-одному
- •Один-ко-многим
- •Многие-ко-многим
- •Обязательность отношения
- •Необходимость или необязательность
- •Заключение
Концепции моделирования
Часть I
Рис. 4.5. Включающее типизирующее отношение между сущностью верхнего уровня ПЕРСОНА и двумя подчиненными характеристическими сущностями КЛИЕНТ и СОТРУДНИК.
Обратите внимание на отсутствие символа подтипа X, указывающее, что это включающее типизирующее отношение в нотации IE системы ERwin. Представленное бизнес-правило утверждает, что экземпляр сущности ПЕРСОНА может быть одновременно сущностями КЛИЕНТ и СОТРУДНИК.
Рис. 4.6. Отношение многие-ко-многим между сущностями СЛИВОЧНАЯ ПОМАДКА и МОРОЖЕНОЕ.
В нотации IE, ERwin представляет отношения многие-ко-многим непрерывной линией с "птичьей лапкой" на обоих концах.
Рекурсивные отношения
Рекурсивное отношение - это неидентифицирующее отношение между двумя сущностями, которое указывает, что экземпляр сущности может быть связан с другим экземпляром той же самой сущности. При рекурсивном отношении родительская и подчиненная сущности совпадают. На Рисунке 4.7 показаны примеры двух реализаций рекурсивного отношения для сущности СОТРУДНИК, с использованием названия роли и без него. Обратите внимание, что ERwin "унифицирует" атрибуты внешнего ключа и первичного ключа, когда название роли не используется. Использование имени роли приводит к размещению внешнего ключа в качестве неключевого атрибута.
ПРИМЕЧАНИЕ Поскольку рекурсивные отношения могут оказаться непривычными для пользователей и начинающих разработчиков моделей, хорошей практикой является использование названий ролей для мигрирующих атрибутов. В последующих статьях будет описано использование названий ролей и интересные особенности унификации в ERwin. |
Рис. 4.7. Примеры реализации рекурсивных отношений с использованием названия роли и без него в сущности ПЕРСОНА.
Заметьте, что без названия роли ERwin комбинирует атрибуты внешнего и первичного ключей.
Количество элементов отношения
Количество элементов отношения задает максимальное число экземпляров одной сущности, которые могут быть связаны с экземплярами другой сущности. Количество элементов определяется для обеих сторон отношения - для исходной и завершающей сущностей. Количество элементов определяет максимальное количество экземпляров сущностей, участвующих в отношении, в то время как обязательность определяет минимальное число экземпляров. Подробнее об обязательности вы прочтете в следующем разделе. Количество элементов часто выражается как один или много. Один и много могут появляться в трех различных комбинациях:
-
Один-к-одному (1:1) - один и только один экземпляр сущности связан с одним и только одним экземпляром другой сущности.
-
Один-ко-многим (1:N) - один и только один экземпляр родительской сущности связан со многими экземплярами подчиненной сущности.
-
Многие-ко-многим (M:N) - много экземпляров одной сущности связаны с многими экземплярами другой сущности (также называется неспецифическим отношением).
Один-к-одному
В отношении один-к-одному один и только один экземпляр сущности связан с одним и только одним экземпляром другой сущности.
Эти отношения иногда являются результатом нормализации, когда удаляются атрибуты, имеющие значения не для всех экземпляров сущности. Позаботьтесь проверить атрибуты родительской сущности, участвующей в отношении, для определения классификационного атрибута, чьи значения определяют, существует ли экземпляр в зависимой сущности. Если классификационный атрибут существует, рассмотрите возможность использования типизирующего отношения вместо отношения один-к-одному.
Совет В действительности, отношения один-к-одному встречаются редко. В большинстве случаев вы должны собрать атрибуты в одной сущности. Вы должны также проверить отношение, чтобы убедиться, что отношение один-ко-многим не было ошибочно представлено в модели в качестве отношения один-к-одному. |
Рисунок 4.8 демонстрирует отношение один-к-одному между сущностями ПЕРСОНА и АДРЕС ПЕРСОНЫ.
Рис. 4.8 Пример отношения один-к-одному между сущностями ПЕРСОНА и АДРЕС ПЕРСОНЫ.
Представленное бизнес-правило утверждает, что экземпляр сущности ПЕРСОНА может иметь ровно один адрес. Как и многие другие отношения один-к-одному, это отношение в действительности является некорректно представленным в модели отношением один-ко-многим.