Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Диго С.М. Базы данных проектирование и использование.doc
Скачиваний:
723
Добавлен:
14.05.2016
Размер:
12.04 Mб
Скачать

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

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

Отображение типа связи. Выделяют различные виды связи (рис. 2.14): «один к одному» (1:1), «один ко многим» (1:М) и «мно­гие ко многим» (М:М).

Рис. 2.14. Виды связи между объектами: а - отношение 1:1; б - 1:М;

в - М:М; г - пример использования связи

Если связь множественная, то желательно еще указать и мощность связи: число объектов М (это может быть минимальное, максималь­ное и среднее число объектов в связи).

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

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

Отображение класса принадлежности. Кроме степени связи в ER-модели для характеристики связи между разными сущностями нужно указывать так называемый класс принадлежности (обязательность свя­зи), который показывает, может ли отсутствовать связь объекта данного класса с каким-либо объектом другого класса. Класс принадлежности сущности может быть либо обязательным, либо необязательным.

Аналогично с условным свойством необязательное вхождение объекта в связь будем обозначать пунктирной линией с той стороны, объекты которой могут не входить в соответствующую связь. Таким образом, линия, соединяющая объекты, может быть полностью сплош­ной, полностью пунктирной либо наполовину - сплошной, наполо­вину - пунктирной (рис. 2.16).

Рис. 2.16. Варианты классов членства: обязательный класс членства

с обеих сторон (а); необязательный класс членства

с правой стороны (б), с левой стороны (в), с обеих сторон (г)

Поясним сказанное на конкретных примерах. Для графической иллюстрации используем так называемые диаграммы ER-экземпля­ров (вместо диаграмм ER-типа, которые мы использовали до сих пор).

Мы хотим отобразить в инфологической модели связь между дву­мя классами объектов: ЛИЧНОСТЬ и ЯЗЫК_ИНОСТРАННЫЙ.

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

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

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

Пусть предметная область будет та же, что и в предыдущем слу­чае, но имеют место ситуации, когда некоторые абитуриенты знают несколько иностранных языков. Связь между объектами при этом будет иметь тип М:М. Для такой предметной области диаграмма ER-экземпляров будет иметь вид, изображенный на рис. 2.19, а, диаграм­ма ER-типов - как на рис. 2.19, б.

Рис. 2.17. Диаграмма ER-экземпляров (а) и ER-типов (б).

Вариант 1 - необязательное членство с обоих концов связи

Рис. 2.18. Диаграмма ER-экземпляров (а) и ER-типов (б).

Вариант 2 - связь 1:М и необязательное членство с одного конца связи

Рис. 2.19. Диаграмма ER-экземпляров (а) и ER-типов (б).

Вариант 3 - связь М:М и необязательное членство с одного конца связи

Предположим, что предметной областью является некоторый лин­гвистический институт, в котором каждый из сотрудников обязатель­но знает несколько иностранных языков, и по каждому из известных науке языков в этом институте имеется хотя бы один специалист, вла­деющий им. В этом случае связь между объектами будет М:М и класс принадлежности обеих сущностей является обязательным.

Примеры возможных ситуаций можно было бы продолжить, но суть уже ясна. Характер связи между объектами будет зависеть от особенностей предметной области. Например, если в вузе имеется экстернат и студент может обучаться по индивидуальному графику, то класс принадлежности объекта СТУДЕНТ в связи с объектом ГРУППА будет необязательным, в противном случае он будет обя­зательным.

Отображение альтернативной связи. Возможны ситуации, ког­да в связи участвует один из нескольких возможных классов объек­тов. Например, если организация имеет центральный офис и филиа­лы, то служащий может работать либо в центре, либо в филиале, но не там и там одновременно. Назовем такие связи альтернативными. На схеме альтернативные связи будут объединяться скобкой (рис. 2.20).

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