YourLib.net
Твоя библиотека
Главная arrow Базы данных. Проектирование и создание (С.М. Диго) arrow 2.2.7. Связи между объектами
2.2.7. Связи между объектами

2.2.7. Связи между объектами

   Кроме связи между объектом и его свойствами в ER-модели фиксируются связи между объектами разных (а иногда - одного и того же) классов. Связь (Relationship) - это ассоциация между сущностями, при которой каждый экземпляр одной сущности ассоциирован с произвольным (в том числе - нулевым) количеством экземпляров другой сущности. Обычно рассматриваются бинарные связи, т.е. связи между двумя классами объектов. Связи являются двунаправленными. Связи могут устанавливаться между сущностями одного класса. Например, связь «Быть руководителем» устанавливается между разными экземплярами объектов одного класса «СОТРУДНИК». Различают связи типа «один к одному» (1:1), «один ко многим» (1:М), «многие к одному» (М:1) и «многие ко многим» (М:М). Иногда эти типы связей называются степенью связи (или кардинальностью). На рис. 2.13 изображены условные обозначения для каждого из этих видов связи.

 Рис. 2.13. Виды связей между объектами

Рис. 2.13. Виды связей между объектами

   Если связь множественная, то желательно еще указать и мощность связи (это может быть минимальное, максимальное и среднее число объектов в связи).
   Возможны случаи, когда между парой объектов объявлено несколько связей (рис. 2.14). В этом случае связи следует именовать (указание роли).

 Рис. 2.14. Пример объявления двух связей между парой объектов

Рис. 2.14. Пример объявления двух связей между парой объектов

   Кроме степени связи в ER-модели, для характеристики связи между разными сущностями надо указывать так называемый «класс принадлежности» (обязательность связи), который показывает, может ли отсутствовать связь объекта данного класса с каким-либо объектом другого класса. Класс принадлежности сущности может быть либо обязательным, либо необязательным. Аналогично с условным свойством необязательное вхождение объекта в связь будем обозначать пунктирной линией. Линия, соединяющая объекты, может быть полностью сплошной, полностью пунктирной либо наполовину сплошной, наполовину пунктирной (рис. 2.15).

Рис. 2.15. Варианты классов членства 

Рис. 2.15. Варианты классов членства

   Поясним суть понятия класса членства на конкретных примерах. Для графической иллюстрации используем так называемые диаграммы ER-экземпляров (вместо диаграмм ЕR-типов/ которые мы использовали до сих пор). Мы хотим отобразить в инфологической модели связь между двумя классами объектов: ЛИЧНОСТЬ и ЯЗЫК_ИНОСТРАННЫЙ.
   Предположим, что предметной областью является завод, некоторые сотрудники которого знают какой-либо иностранный язык, но ни один из них не владеет более чем одним языком. Есть некоторые сотрудники, которые не владеют ни одним языком. Естественно, что имеется много языков, которыми не владеет ни один из сотрудников, а также, что некоторые из сотрудников владеют одним и тем же иностранным языком. В этом случае диаграмма ER-экземпляров будет иметь вид, изображенный на рис. 2.16а), а диаграмма ER-типов - как на рис. 2.16б). Тип связи - 1:М (на диаграмме это отображено со стороны объекта ЛИЧНОСТЬ двойной стрелкой, а со стороны объекта ЯЗЫК_ИНОСТРАННЫЙ - одинарной стрелкой на линии, изображающей связь между рассматриваемыми сущностями), класс членства - необязательный с обоих концов (линия - полностью пунктирная).

Рис. 2.16. Диаграмма ER-экземпляров (а) и ER-типов (б) (вариант 1 - необязательное членство с обоих концов связи)

Рис. 2.16. Диаграмма ER-экземпляров (а) и ER-типов (б) (вариант 1 - необязательное членство с обоих концов связи)

   Другой вариант: предметной областью является институт, а объект ЛИЧНОСТЬ отображает абитуриентов, поступающих в этот институт. Каждый из абитуриентов обязательно должен владеть каким-либо иностранным языком, но никто не владеет более чем одним языком; предположение, что имеется много языков, которыми не владеет ни один из абитуриентов, остается актуальным и в этой ситуации. В этом случае диаграмма ER-экземпляров будет иметь вид, изображенный на рис. 2.17а, а диаграмма ER-типов - как на рис. 2.17б.

 Рис. 2.17. Диаграмма ER-экземпляров (а) и ER-типов (б) (вариант 2 - связь 1:М и необязательное членство с одного конца связи)

Рис. 2.17. Диаграмма ER-экземпляров (а) и ER-типов (б) (вариант 2 - связь 1:М и необязательное членство с одного конца связи)

   Как в первом, так и во втором из рассмотренных случаев между сущностями наблюдается отношение 1:М. Разница в рассматриваемых ситуациях заключается в том, что в первом случае класс принадлежности является необязательным для обеих сущностей, а во втором: для сущности ЛИЧНОСТЬ класс принадлежности является обязательным, а для сущности ЯЗЫК_ИНОСТРАННЫЙ - необязательной. На диаграмме это будет отображено пунктирной линией, прилегающей к объекту ЯЗЫК_ИНОСТРАННЫЙ, и сплошной линией, прилегающей к объекту ЛИЧНОСТЬ.
   Примеры возможных ситуаций можно было бы продолжить, но суть уже ясна. Характер связи между объектами будет зависеть от особенностей предметной области. Например, если в вузе имеется экстернат и студент может обучаться по индивидуальному графику, то класс членства объекта СТУДЕНТ в связи с объектом «ГРУППА» будет необязательным, в противном случае он будет обязательным.
   Возможны ситуации, когда в связи участвует один из нескольких возможных классов объектов. Например, если организация имеет центральный офис и филиалы, то служащий может работать либо в центре, либо в филиале, но не там и там одновременно. Назовем такие связи альтернативными. На схеме альтернативные связи будут объединяться скобкой (рис. 2.18).

 Рис. 2.18. Изображение альтернативной связи

Рис. 2.18. Изображение альтернативной связи

 
< Пред.   След. >