Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Моделирование бизнес-процессов / Моделирование бизнес-процессов / ER-диаграмы / Проектирование реляционных БД с помощью ER-диаграмм_ver1.6.doc
Скачиваний:
189
Добавлен:
30.04.2013
Размер:
7.8 Mб
Скачать

Глава 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

Теперь приведем грамматическое описание пересекающей сущности СТУДЕНТ+КУРС: