- •Понятие отношения
- •Что такое отношения?
- •Выявление отношений
- •Чтение отношений
- •Степень отношения
- •Направленность отношения
- •Неидентифицирующие отношения
- •Типизирующие отношения
- •Исключающие типизирующие отношения
- •Концепции моделирования
- •Часть I
- •Рекурсивные отношения
- •Количество элементов отношения
- •Один-к-одному
- •Один-ко-многим
- •Многие-ко-многим
- •Обязательность отношения
- •Необходимость или необязательность
- •Заключение
Чтение отношений
Определив подходящую глагольную конструкцию, вы можете читать отношения справа налево, используя шаблон сущность - глагольная конструкция для отношения - сущность. Для примера, с магазином мороженого вы можете определить отношение:
Потребитель покупает Смесь
Или
Магазин продает разные сорта Мороженого
Чтение отношений на основе использования этой структуры - сущность - отношение - сущность (иногда называемой парная связь сущностей) - является полезным механизмом для представления отношений партнерам по бизнесу. Парные связи сущностей двунаправлены. Так что сущности связаны в обоих направлениях. Таким образом, Потребитель покупает Смеси то же самое, что и Смеси продаются Потребителю.
Такой способ прочтения отношений обеспечивает проверку корректности разработанной логической модели. Хотя отношения и не описывают полностью все бизнес-правила, они позволяют бизнес-партнерам просматривать модель для понимания взаимосвязей между сущностями. Я считаю, что это лучший способ убедиться, что каждая глагольная конструкция в модели формирует корректное утверждение. Просмотр модели вместе с бизнес-партнерами - один из основных методов проверки того, что модель правильно отражает бизнес-правила.
Степень отношения
Степень отношения представляет собой число сущностей, ассоциированных с отношением. В основном, отношения имеют степень единица (унарные отношения) или двойка (бинарные отношения). Унарные, или рекурсивные отношения представляют случаи, когда экземпляр сущности связан с другим экземпляром той же самой сущности. Бинарные отношения представляют случаи, когда одна сущность связана с другой. Бинарные отношения отражают наиболее распространенные взаимосвязи, присутствующие в реальном мире. Фактически, большинство разработчиков моделей рассматривают унарные или рекурсивные отношения как бинарные рекурсивные отношения, связывающие экземпляр сущности с другим ее экземпляром. Например, высказывание "Некоторыми сотрудниками руководят другие сотрудники" представляет отношение между экземплярами сущности СОТРУДНИК.
|
ПРИМЕЧАНИЕ В некоторых методологиях существуют n-арные отношения (n представляет степень отношения). В n-арных отношениях участвуют более двух сущностей. Например, "Потребитель покупает Смесь в Магазине" является тернарным (степени три) отношением, вовлекающим три сущности. Однако большинство методологий оперируют только бинарными отношениями и преобразуют все n-арные отношения в бинарные. |
Направленность отношения
Направленность отношения указывает на исходную сущность в отношении. Сущность, из которой отношение исходит, называется родительской сущностью. Сущность, в которой отношение заканчивается, называется подчиненной сущностью.
Направленность отношения определяется взаимосвязью между сущностями. В отношении между независимой и зависимой сущностями, отношение исходит из независимой сущности и заканчивается в зависимой сущности. Если обе сущности независимые, отношение симметрично. В отношении один-ко-многим родительской является сущность, входящая в отношение однократно. Отношения многие-ко-многим - симметричны.
Определение типов отношений
В ERwin отношение между двумя сущностями, или сущности самой с собой, может принадлежать к одному из следующих типов:
-
Идентифицирующее отношение
-
Не идентифицирующее отношение
-
Типизирующее отношение
-
Отношение многие-ко-многим
-
Рекурсивное отношение
Каждый тип отношений определяет поведение атрибутов первичного ключа, когда они мигрируют из родительской сущности в подчиненную. В следующих разделах будут описаны особенности каждого из типов отношений.
Идентифицирующие отношения
Идентифицирующим является отношение между двумя сущностями, в котором каждый экземпляр подчиненной сущности идентифицируется значениями атрибутов родительской сущности. Это означает, что экземпляр подчиненной сущности зависит от родительской сущности и не может существовать без экземпляра родительской сущности. В идентифицирующем отношении единственный экземпляр родительской сущности связан с множеством экземпляров подчиненной. Атрибуты первичного ключа родительской сущности мигрируют в атрибуты подчиненной, чтобы стать там атрибутами первичного ключа. На Рисунке 4.2 представлено идентифицирующее отношение между сущностями ВКУСОВАЯ ДОБАВКА и МОРОЖЕНОЕ. Заметьте, что атрибуты первичного ключа родительской сущности ВКУСОВАЯ ДОБАВКА мигрировали в сущность МОРОЖЕНОЕ и стали там первичным ключом.

Рис. 4.2. Идентифицирующее отношение между сущностями МОРОЖЕНОЕ и ВКУСОВАЯ ДОБАВКА.
Экземпляр сущности МОРОЖЕНОЕ не существует до тех пор, пока не появится экземпляр родительской сущности ВКУСОВАЯ ДОБАВКА. Обратите внимание на непрерывную линию между двумя сущностями.
