Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
курсовая работа / bd / базы данных2222.rtf
Скачиваний:
242
Добавлен:
17.02.2014
Размер:
19.41 Mб
Скачать

2.1.3. Связи

Связь – осмысленная ассоциация между сущностями разных типов.

Множество связей (relationship type) является набором ассоциаций между двумя (или больше) множествами сущностей-участников. Каждому множеству связей присваивается имя, которое должно описывать его функцию. Например, сущность Владелец связана с сущностью Недвижимость_в_аренду посредством связи Владеет.

Как и в случае сущностей, здесь следует различать понятия "связь" и "множество связей".

Связь – ассоциация между сущностями, включающая по одной сущности из каждого участвующего в связи типа сущности.

Каждый уникально идентифицируемый экземпляр типа связи мы будем называть просто связью. Связи указывают на отдельные экземпляры сущностей, объединяемые ими.

Связь Работает_в указывает на взаимосвязь между сущностями Отделение и Сотрудник, а каждый отдельный экземпляр связи Работает_в связывает одну сущность Отделение с одной сущностью Сотрудник. Отдельные элементы связи "Работает_в" представлены на диаграмме (Puc.2.1.2.), которая называется семантической сетью.

Семантическая сеть является объектной диаграммой, в которой символ "•" представляет сущности, а символ " — " - связи

Puc. 2.1.2. Модель семантической сети, которая иллюстрирует отдельные элементы связи Работает_в.

Если вся корпоративная структура была бы представлена с помощью семантических сетей, то из-за избыточной степени детализации ее было бы трудно понять. Связи между сущностями корпорации можно представить в более простой форме — в виде ER-модели. Пример высокоуровневого представления связи Работает_в с использованием концепций ER-моделирования показан на Рис.2.1.3.

Рис. 2.1.3. Представление на ER-диаграмме сущностей Отделение, Сотрудник и Родственники, связей между ними и атрибутов, которые являются их первичными ключами

Каждая связь изображается в виде ромбика с указанным на нем именем связи. Ромбик имеет двойной контур, если связь соединяет слабую сущность с сильной сущностью, от которой эта слабая сущность зависит.

Охваченные некоторой связью сущности называются участниками этой связи. Количество участников некоторой связи называется степенью (degree) этой связи. Следовательно, степень связи указывает на количество сущностей, охваченных данной связью.

2.1.4. Рекурсивная связь

Связь, в которой одни и те же сущности участвуют несколько раз и в разных ролях, называется рекурсивной связью.

Рассмотрим рекурсивную связь Наблюдение, которая представляет взаимосвязь персонала с управляющим, который также входит в состав персонала. Иначе говоря, сущность Сотрудник дважды участвует в связи Наблюдение: первый раз — в качестве управляющего, а второй — в качестве сотрудника, которым управляют. Рекурсивные связи иногда называются унарными (unary).

Связям могут присваиваться ролевые имена — для указания назначения каждой сущности, участницы данной связи.

Ролевые имена имеют большое значение в рекурсивных связях, например, использование ролевых имен в рекурсивной связи Наблюдение. Первое участие сущности Сотрудник получило название Управляющий, а второе — Подчиненный. (Рис.2.1.4.)

Рис. 2.1.4. Пример рекурсивной связи с ролевыми именами Управляющий и Подчиненный

Ролевые имена могут также использоваться, когда две сущности связаны несколькими связями. Например, в случае, когда сущность Сотрудник связана с сущностью Отделение связью Управляет, сотрудник (сущность Сотрудник) с ролевым именем Управляющий управляет (связь Управляет) отделением компании с ролевым именем Отделение.

Аналогично, когда сущность Отделение связана с сущностью Сотрудник связью Работает_в, то сотрудник с ролевым именем Сотрудник является приписанным к отделению компании с ролевым именем Отделение. (Рис. 2.1.5.)

Рис. 2.1.5. Пример сущностей, связанных двумя различными связями Управляет и Работает_в, с указанием ролевых имен

Соседние файлы в папке bd