Связи между объектами реального мира отражаются в виде связей (от- ношений, ассоциаций) между сущностями. Отношение – это ассоциация или "связь" между двумя сущностями. Отношение представляется в модели ли- нией, соединяющей две сущности, и именем отношения – глагольной конст- рукцией, которая описывает, как две сущности зависят друг от друга. Имена сущностей, соединенные именем отношения, должны образовывать осмыс- ленную фразу, описывающую бизнес-правило отношения. Например, СТУ- ДЕНТ <Обучается в> УЧЕБНАЯ ГРУППА. В примере имя отношения показано в угловых скобках. Отношения двунаправлены, поэтому должны иметь имена в каждом направлении.
Отношение обладает следующими свойствами:
степень,
направленность,
тип,
мощность,
обязательность.
Степень отношения представляет собой число сущностей, ассоцииро- ванных с отношением. Чаще всего используются бинарные отношения, свя- зывающие две сущности. Унарные, или рекурсивные отношения представля- ют случаи, когда экземпляр сущности связан с другим экземпляром той же самой сущности. Часто унарные или рекурсивные отношения рассматрива- ются как бинарные рекурсивные отношения, связывающие экземпляр сущно- сти с другим ее экземпляром.
Направленность отношения указывает на исходную сущность в отно- шении. Сущность, из которой отношение исходит, называется родительской сущностью. Сущность, в которой отношение заканчивается, называется под- чиненной (дочерней) сущностью. Направленность отношения определяется взаимосвязью между сущностями и зависит от типа и мощности отношения (см. ниже). В отношении между независимой и зависимой сущностями от- ношение исходит из независимой сущности и заканчивается в зависимой сущности. Если обе сущности независимые, отношение симметрично. В от- ношении один-ко-многим родительской является сущность, входящая в от- ношение однократно. Отношения многие-ко-многим симметричны. Ключ родительской сущности мигрирует (повторяется) в дочерней сущности. Та- кой мигрировавший ключ в дочерней сущности называется внешним ключом. Как мы увидим далее, внешний ключ в зависимости от типа связи может стать частью составного ключа дочерней сущности или неключевым атрибу- том дочерней сущности. С помощью внешнего ключа экземпляр дочерней сущности ссылается на соответствующий экземпляр родительской сущно- сти.
В ERwin отношение между двумя сущностями, или сущности самой с собой, может принадлежать к одному из следующих типов:
идентифицирующее отношение,
неидентифицирующее отношение,
типизирующее отношение,
отношение многие-ко-многим,
рекурсивное отношение.
Каждый тип отношений определяет поведение атрибутов первичного ключа, когда они мигрируют из родительской сущности в подчиненную. Ни- же будут описаны особенности каждого из типов отношений.
Идентифицирующим является отношение между двумя сущностями, в котором каждый экземпляр подчиненной сущности идентифицируется зна- чениями атрибутов родительской сущности. Это означает, что экземпляр подчиненной сущности зависит от родительской сущности и не может суще- ствовать без экземпляра родительской сущности. В идентифицирующем от- ношении единственный экземпляр родительской сущности связан с множе- ством экземпляров подчиненной. Атрибуты первичного ключа родительской сущности мигрируют в атрибуты подчиненной, чтобы стать там атрибутами первичного ключа. На рис. 5.2 представлено идентифицирующее отношение между сущностями Заказ и Состав заказа. В сущности Заказ использо- ван искусственный первичный ключ ID заказа (Идентификатор заказа), который мигрировал в дочернюю сущность Состав заказа и стал там первичным ключом. В реальной диаграмме атрибут Заказчик, скорее всего, будет являться мигрировавшим ключом сущности, описывающей заказчиков. Пример рис. 5.2 показывает, что дочерняя сущность не может существовать без родительской. Этот пример также демонстрирует, как показать перемен- ный состав заказа: в заказ может входить произвольное количество товаров.
Рис. 5.2. Пример идентифицирующего отношения
Достарыңызбен бөлісу: |