Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
БД / Uchpos / Gl_5.doc
Скачиваний:
32
Добавлен:
27.04.2015
Размер:
456.19 Кб
Скачать

Вид функциональной зависимости

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

Гораздо чаще встречается связь вида «многие к одному», при которой каждый объект в наборе Еiассоциируется с нулем или более объектов в наборе Ej,но каждый объект в Ejассоциируется на более чем с одним объектом в Еi. Говорят, что эта связь является связью вида «многие к одному» от Eiк Еj, т. е. функцией от Eiк Ej.Например, если каждый курс ведется одним преподавателем, то имеется связь вида «многие к одному»: ЧИТАЮТСЯ от набора объектов КУРСЫ к набору объектов ПРЕПОДАВАТЕЛИ.

Можно обобщить концепцию «многие к одному». Если существует некоторая связь между наборами объектов E1, E2, ....Еkи для данных объектов из всех наборов, кроме Ei,имеется по крайней мере один связанный объект из набораEi, то мы говорим, что эта связь есть связь вида «многие к одному» от E1, ..., Ei-1, Ei+1,...,Ekк Еi.

Нередко приходится иметь дело также со связью вида «многие ко многим», при которой отсутствуют ограничения на множества пар объектов, принадлежащих набору связей. Но эта форма связи оказывается трудно поддерживаемой в двух основных моделях данных —сетевой и иерархической. Примером связи «многие ко многим» является связь ЭКСПОРТИРУЮТ между наборами объектов СТРАНЫ и ПРОДУКТЫ, поскольку страна обычно экспортирует более одного продукта и несколько продуктов экспортируются одной единственной страной.

Диаграммы объектов-связей

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

1.Прямоугольники представляют наборы объектов.

2.Овалы представляют атрибуты. Они связываются со своими наборами объектов (ненаправленными) ребрами.

3.Ромбы представляют связи. Они соединяются с составляющими их наборами объектов ненаправленными ребрами. С целью указания порядка наборов объектов в списке для данной связи ребра могут нумероваться, хотя это имеет значение лишь тогда, когда один и тот же набор объектов появляется в списке более одного раза. Однако при связи вида «многие к одному» от А к В мы проводим дугу (направленное ребро) к В. В общем случае, если связь вовлекает три и более наборов объектов и имеет вид «многие к одному» для некоторого набора объектов A, мы проводим дугу к A и ненаправленные ребра к другим наборам объектов. Сложные отображения вида «многие к одному» для нескольких наборов объектов не представляются с помощью такого соглашения о ребрах. При связи вида «один к одному» показывается ребро со стрелками на концах. В виде исключения, если A есть В, мы проводим дугу только к В.

Диаграмма для набора объектов ЛЮДИ со связью ЯВЛЯЕТСЯ-МАТЕРЬЮ показана на рис. 4.

Рис. 1

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