- •Сикха Багуи и Ричард Ирп
- •Контрольные вопросы 1.1
- •Модели данных
- •Иерархическая Модель
- •Сетевая модель
- •Реляционная модель
- •Контрольные вопросы 1.2
- •Функциональные зависимости
- •Правило декомпозиции (разложения)
- •Правило объединения
- •Контрольные вопросы 1.3
- •Краткий обзор метода нормальных форм
- •Примеры 1нф, 2нф и 3нф
- •Упражнение 1.3
- •Глава 2: Базовая er-диаграмма – схема
- •Некоторые определения баз данных: Сущность, Связь, Атрибут
- •Начальная Методология
- •Еще об атрибутах
- •Простые или атомарные атрибуты
- •Многозначные атрибуты
- •Производный атрибуты
- •Описание Сущности на структурном английском языке
- •Сущность
- •Атрибуты
- •Методология er-проектирования
- •Примеры
- •Сущность
- •Атрибуты
- •Методология er проектирования
- •Итоги главы
- •Упражнения Главы
- •Упражнение 2.1
- •Упражнение 2.2
- •Проработка примера
- •Сущность
- •Глава 3: После первой диаграммы сущности
- •Проверка Сущности — замена атрибута сущностью
- •Методология er-проектирования
- •Определение вторичной сущности
- •Существует ли связь?
- •Атрибут или Связь?
- •Глава 4: Расширение связей/ Структурные
- •1(Полное участие):1:
- •Глава 5: Слабая Сущность
- •Грамматика Слабой Сущности
- •Контрольные вопросы 5.3
- •Упражнения Главы 5. Упражнение 5.1
- •Список литературы
- •Сущность
- •Атрибуты для отдела
- •Сущность
- •Атрибуты для служащего
- •Глава 6: Дальнейшее Расширение
- •Сущность
- •Атрибуты
- •Более двух Сущностей
- •С указанием всех атрибутов
- •Развитие базы данных
- •Глава 7: Троичные и er-диаграммы более высокого порядка
- •Глава 8: Обобщения и специализации.
- •Глава 9: Реляционные преобразования и
- •Глава 10: Краткий обзор модели Баркера
- •Глава 10. Упражнения.
Глава 6: Дальнейшее Расширение
ER-Диаграмм для Двоичных Связей
Разработав базовую ER-модель в Главах с 1 по 4, введем в нее некоторые дополнения в этой главе. Здесь же мы введем понятие — атрибуты связи — и приведем несколько примеров таких атрибутов. Затем вернемся к шагу 6 методологииER-проектирования, чтобы включить в нее атрибуты связи. Далее рассмотрим как добавляются новые сущности и связи к ER-модели, и как атрибуты и связи преобразовываются в сущности. Связи могут преобразовываться в сущность, создавая пересекающие сущности. В главе будет представлена грамматика и структурированное английское описание для пересекающей сущности. Далее в этой главе будет рассмотрено понятие рекурсивной связи.
В предыдущих главах мы рассматривали только те случаи, в которых две сущности имели одну связь между собой. В этой главе мы обсудим, каким образом две сущности могут иметь более одной связи между собой. Далее мы пересмотрим шаг 5 методологии ER-проектирования, чтобы учесть случаи с несколькими связями между сущностями. Также в этой главе обсуждается производная и избыточная связи, и методология снова корректируется, чтобы учесть случаи с производными и избыточными связями.
Атрибуты Связи
В Главе 3мы рассматривали связь СТУДЕНТ-КУРС как связь M:N (поскольку студенты может посещать несколько курсов и курсы могут посещаться многими студентами). Предположим, что необходимо добавить атрибут «оценка» (grade) в ER-диаграмму. Если мы пытаемся добавить атрибут оценка к сущности СТУДЕНТ, тогда мы получим многозначный атрибут, который должен каким-то образом быть связан с сущностью КУРС. Аналогично, если мы попытаемся включить атрибут оценка в сущность КУРС, тогда сущность КУРС должна быть связана с сущностью СТУДЕНТ. Поэтому корректнее всего было бы разместить данный атрибут на диаграмме около связи «записан», поскольку он имеет отношение к обеим сущностям. Нарисунке 6.1указано расположение атрибута оценка для связиM:Nс полным участием.
На Рисунке 6.1для ясности изображено несколько других атрибутов. Поскольку атрибут оценка идентифицируется обеими сущностями СТУДЕНТ и КУРС, то он не может принадлежать ни одной из них. Подобные атрибуты называются атрибутами связи или атрибутами пересечения.

Рис. 6.1. ER-диаграмма связи M:N с атрибутом связи оценка
Атрибут пересечения может возникать сначала как многозначный атрибут в некоторой сущности в процессе проектирования, но позже может возникнуть вопрос: "Почему этот атрибут находится здесь, когда для его идентификации требуется другая сущность?" Когда становится ясно, что этот атрибут должен идентифицироваться несколькими сущностями, он переносится в связь между двумя (или более) сущностями, которые его идентифицируют.
Атрибуты связи могут встречаться в ER-диаграммах с любым коэффициентом связи, однако чаще всего они возникают при двоичной связи типаM:N. Теперь требуется пересмотреть нашу методологию, чтобы добавить указания для атрибутов связи.
Шаг 6: Определить на структурированном английском языке точный характер связей с обеих сторон. Например, связь A:B::1:M означает связь A с B вида один-ко-многим с одной стороны и связь B с A вида многие-к-одному с другой стороны.
Добавляем следующий пункт:
Шаг 6a: Изучить список атрибутов и определить, есть ли среди них такие, которые идентифицируются двумя (или более) сущностями. Если таковые имеются, прикрепляем их к соответствующей связи, соединяющей сущности.
Заметим, что Шаг 6 также помогает определить, какие сущности должны быть связаны. Если до этого момента оказалась невыясненной какая-либо связь, то нахождение атрибута связи дает понять, что такая связь должна существовать.
Далее приводится грамматика для описания атрибутов связи.
Атрибуты
Для атомных атрибутов, att(j):… [также, как в предшествующих главах]
Для составного атрибута, att(j):… [также, как в предшествующих главах]
Для многозначных атрибутов, att(j):… [также, как в предшествующих главах]
Для атрибутов связей, att(j):… [также, как в предшествующих главах]
Атрибут связи между сущностями Сущность1 и Сущность2 будем обозначать так:
a(n) att(j). att(j) зависит как от Сущности1, так и от Сущности2.
Пример
Для связи между сущностями СТУДЕНТ и КУРС запишем атрибут оценка. Атрибут оценка для своей идентификации зависит от обеих сущностей.
Развитие связей между сущностями: пересмотр связи M:N
Ранее мы определили связь M:N и отметили в начале главы, что часто возникает атрибут, который должен ассоциироваться со связью, а не с сущностью. В качестве примера мы рассмотрели атрибут оценка, который однозначно не связан ни с сущностью СТУДЕНТ, ни с сущностью КУРС. В некотором смысле, оказывается, что связь сама становится сущностью. Это наблюдение истинно, поскольку у нас есть информация (атрибут), которая принадлежит связи.
Есть два способа отображения ситуации связь-атрибут. Первый способ заключается в том, чтобы оставить атрибут на том же месте, где было указано ранее, то есть около связи. Если число атрибутов невелико (один или два), то смысл диаграммы сохраняется, а грамматика, описывающая диаграмму, будет доступна для понимания пользователя.
Второй способ заключается в том, чтобы определить связь как новую сущность и связать с ней обе идентифицирующие сущности. Такой способ показан на рисунке 6.2. На нем средняя сущность, СТУДЕНТ+КУРС, изображена как слабая, поскольку она полностью зависит от сущностей СТУДЕНТ и КУРС. Заметим, что участие слабой сущности в связи всегда полное. Почему так? Потому что слабая сущность должна иметь соответствующую сильной сущности для своего существования. Участие со стороны родительских сущностей в связи может быть полным или частичным (например между сущностями СТУДЕНТ и Связь2), в зависимости от того, какой она была первоначально. Что будет означать частичная связь КУРС-Связь2? Это будет указывать на то, что в базе данных есть курсы, которые не были предложены студентам, и следовательно, на них не записано ни одного студента.

Рисунок 6.2. ER-диаграмма связи M:N, преобразованной в две связи 1:M
Теперь приведем грамматическое описание пересекающей сущности СТУДЕНТ+КУРС:
