Неидентифицирующим называется отношение между двумя сущностя- ми, в котором каждый экземпляр подчиненной сущности не зависит от зна- чений атрибутов родительской сущности. Это означает, что экземпляр под- чиненной сущности не зависит от родительской сущности и может сущест- вовать без экземпляра родительской сущности. В неидентифицирующем от-
ношении единственный экземпляр родительской сущности связан с множе- ством экземпляров подчиненной. Атрибуты первичного ключа родительской сущности мигрируют в подчиненную, чтобы стать там неключевыми атрибу- тами. На рис. 5.3 показано неидентифицирующее отношение между сущно- стями Группа и Студент. Каждое из этих отношений имеет собственный первичный ключ. Первичного ключа родительской сущности Группа миг- рировал в подчиненную сущность Студент и стал там неключевым атрибу- том.
Рис. 5.3. Пример обязательного неидентифицирующего отношения
На примере рис. 5.3 рассмотрим также понятие обязательности отно- шения. Неидентифицирующее отношение называется обязательным (No Nulls), если все экземпляры дочерней сущности должны участвовать в отно- шении. Неидентифицирующее отношение называется необязательным (Nulls Allowed), если некоторые экземпляры дочерней сущности могут не участво- вать в отношении. Очевидно, что студент должен принадлежать одной из учебных групп. На рис. 5.4 показан пример необязательно отношения: допус- кается, что сотрудник может не принадлежать ни одному из отделов.
Рис. 5.4. Пример необязательного неидентифицирующего отношения
Типизирующими называются отношения между родительской и одной или более подчиненными сущностями, когда сущности разделяют общие ха- рактеристики. Такие отношения называются еще иерархией наследования или иерархией категорий. Типизирующие отношения используются в том случае, когда экземпляр родительской сущности определяет различные наборы атри- бутов в подчиненных сущностях. Например, имеются различные категории сотрудников, отличающиеся только небольшим количеством атрибутов (рис. 5.5). Для каждой категории необходимо указать дискриминатор – атри- бут родительской сущности, показывающий, как отличить одну категориаль- ную сущность от другой. На рис. 5.5 дискриминатором является атрибут Тип. На рис. 5.5 показана полная категория, т. е. каждый экземпляр сущно- сти сотрудник относится к одной из перечисленных категорий. Возможна не- полная категория, когда существуют экземпляры родительской сущности, не имеющие соответствующих экземпляров в дочерних сущностях (значок кате- гории содержит одну горизонтальную линию).
Рис. 5.5. Пример полной категории иерархии наследования
Отношения многие-ко-многим возникают тогда, где один экземпляр одной сущности связан с несколькими экземплярами другой, и один экземп- ляр этой другой сущности также связан с несколькими экземплярами первой сущности. Эти отношения также называют неспецифическими. Отношения многие-ко-многим используются только на логическом уровне. На физиче- ском уровне эти отношения реализуются за счет использования ассоциатив- ной сущности, содержащей ключи родительских сущностей и, возможно, до- полнительные атрибуты. Для большей наглядности диаграммы желательно ввести ассоциативные сущности на логическом уровне. На рис. 5.6 показан пример связи "многие-ко-многим", а на рис. 5.7 – пример использования ас- социативной сущности.
Рис. 5.6. Пример связи "многие-ко-многим"
Рис. 5.7. Пример использования ассоциативной сущности
Рекурсивное отношение – это неидентифицирующее отношение между двумя сущностями, которое указывает, что экземпляр сущности может быть связан с другим экземпляром той же самой сущности. При рекурсивном от- ношении родительская и подчиненная сущности совпадают. На рис. 5.8 пока- заны примеры двух реализаций рекурсивного отношения для сущности Со- трудник, с использованием имени роли и без него. Имя роли показывает, какую роль играет внешний ключ в сущности. В данном примере внешний ключ задает табельный номер. Обратите внимание, что ERwin "унифициру- ет" атрибуты внешнего ключа и первичного ключа, когда имя роли не ис- пользуется. Использование имени роли приводит к размещению внешнего ключа в качестве неключевого атрибута.
Рис. 5.8. Примеры реализации рекурсивных отношений
с использованием имени роли и без него в сущности Сотрудник
Мощность отношения задает максимальное число экземпляров одной сущности, которые могут быть связаны с экземплярами другой сущности. Мощность отношения определяется для обеих сторон отношения – для ис- ходной и завершающей сущностей. Количество элементов определяет мак- симальное количество экземпляров сущностей, участвующих в отношении, в
то время как обязательность определяет минимальное число экземпляров. Количество элементов часто выражается как один или много. Один и много могут появляться в трех различных комбинациях:
Один-к-одному (1:1) – один и только один экземпляр сущности связан с одним и только одним экземпляром другой сущности.
Один-ко-многим (1:N) – один и только один экземпляр родительской сущности связан со многими экземплярами подчиненной сущности.
Многие-ко-многим (M:N) – много экземпляров одной сущности связа- ны со многими экземплярами другой сущности (также называется неспеци- фическим отношением).
В отношении один-к-одному один и только один экземпляр сущности связан с одним и только одним экземпляром другой сущности. Это редкий случай отношения, следует рассмотреть возможность объединения двух от- ношений в одно. Но, например, в отношении сущностей Факультет и Со- трудник целесообразнее установить связь один-к-одному, чем заносить данные о декане в сущность Факультет.
В отношении один-ко-многим один и только один экземпляр родитель- ской сущности связан со многими экземплярами дочерней сущности. Это наиболее распространенное отношение.
Отношение многие-ко-многим уже было рассмотрено.
В ERwin отношение изображается линией с точкой на конце "много". Кроме общего случая мощности отношения 0, 1 или много можно задать ча- стные случаи отношений: 1 или много (обозначается буквой p), 0 или 1 (обо- значается буквой z), конкретное число экземпляров дочерней сущности (обо- значается числом экземпляров, например, 6).
В ERwin реализована также методология IE (Information Engineering),
которая принципиально не отличается от методологии IDEF1X [26].
Достарыңызбен бөлісу: |