Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
77
Добавлен:
27.03.2015
Размер:
110.59 Кб
Скачать

Типы связей

Для эффективной реализации БД необходима классификация связей в соответствии с тем, сколько экземпляров одного объекта может ассоциироваться со сколькими экземплярами другого. В ER-модели связи могут иметь типы: один-к-одному, один-ко-многим, многие-к-одному или многие ко многим(для упрощения далее полагается, что все связи бинарные, т.е. степени два; излагаемые концепции без принципиальных изменений расширяются на связи более высоких степеней)1.

Простейшей является связь "один-к-одному" (1:1), при которой для каждого экземпляра одного объекта существует не более одного связанного с ним экземпляра другого объекта. Примером такой ситуации может служить связь "Является руководителем" между двумя объектами "Служащие" и "Отделы". Заметим, что связь, указывающая руководителя для каждого отдела, это предположение о реальном мире, которое проектировщик БД может по своему выбору принять или не принять. Предположение могло быть и, скажем, таким: "один и тот же человек может руководить двумя отделами, а отдел может иметь трех руководителей". Проектировщик БД, оценивая соответствие предположений предметной области, в нашем случае укажет, вероятнее всего, связь "один-к-одному".Заметим также, что этот вид связи не подразумевает обязательного существования для каждого экземпляра одного объекта связанного с ним экземпляра другого объекта. В нашем случае, большинство служащих, конечно, не являются руководителями какого-либо отдела имогут иметься отделы, которые в настоящее время не имеют руководителя.

Связь, при которой каждый экземпляр объекта А может ассоциироваться (но не обязательно!) с одним или более экземпляров объекта В, но каждый экземпляр объекта В ассоциируется не более чем с одним экземпляром объекта А, является связью вида "один-ко-многим" (1:М).Например, такой тип у связи между объектами "Руководитель проекта" и "Проект", когда у каждого проекта один руководитель (или ноль, если он еще не назначен) и один руководитель может возглавлять несколько проектов.Связь "многие-к-одному" (М:1) является "зеркальным" отображением связи "один-ко-многим".

Связь, при которой отсутствуют ограничения на множества "пар" экземпляров объектов, является связью вида "многие-ко-многим" (М:М).Примером такой связи является связь "Экспортируют" между объектами "Страны" и "Продукты", поскольку страна обычно экспортирует более одного продукта и конкретный продукт может экспортироваться из нескольких стран.

Существуют подходы, в которых специальным образом подчеркивается следующая важная особенность связи – класс принадлежностивходящих в нее сущностей иликардинальностьсвязи2. Так, анализируя связь “некоторыйстудентявляется старостойгруппы”, констатируем, что в каждой группе студентов обязательно должен быть староста группы, следовательно, каждому экземпляру объекта "Группа" непременно должен соответствовать экземпляр сущности "Студент". Иными словами, каждый экземпляр объекта "Группа" участвует в связи, причем один раз. Однако, с другой стороны, не каждый студент является старостой группы и, значит, в данной связи не каждый экземпляр сущности "Студент" имеет ассоциированный с ним экземпляр сущности "Группа". Таким образом, говорят, что сущность "Группа" имеетобязательный класс принадлежности(этот факт обозначается также указанием интервала числа возможных вхождений сущности в связь, в данном случае это 1,1), а сущность "Студент" имеетнеобязательный класс принадлежности(0,1). Данная связь описывается как связь1,1:0,1. Забегая несколько вперед, на рис.3 приведен пример изображения связи при таком подходе. В методике, которой мы будем придерживаться здесь, эта важная семантическая информация отражается указанием того, является связь полной или частичной.

Рис. 2. Изображение связи с указанием ее кардинальности

Аналогично, указывается кардинальность для связей "один-ко-многим" и "многие-ко-многим".

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