Важной характеристикой связи между двумя и более сущностями является степень связи. Степень связи устанавливается из описания предметной области (из инфологической модели).
Пример 1: Каждый преподаватель читает не более одного курса, и каждый курс читается не более чем одним преподавателем (т.е. могут быть преподаватели которые ничего не читают и ни кем не читаемые курсы).
не должны
не должны
Рис. 7.4 Диаграмма ER-экземпляра для примера 1
Пример 2: Каждый преподаватель читает только один курс, каждый курс читается не более чем одним преподавателем.
должны
не должны
Рис. 7.5 Диаграмма ER-экземпляра для примера 2
Пример 3: Каждый преподаватель читает не более одного курса, каждый курс читается только одним преподавателем.
не должны
должны
Рис. 7.6 Диаграмма ER-экземпляра для примера 3
Пример 4: Каждый преподаватель читает только один курс, каждый курс читается только одним преподавателем.
должны
должны
Рис. 7.7 Диаграмма ER-экземпляра для примера 4
В рассмотренных примерах любой экземпляр сущности (как слева, так и справа) может быть связан максимум с одной сущностью с противоположной стороны. Такая связь определяется как связь, имеющая степень 1:1.
Качественные различия изображенных диаграмм являются следствием того, должны или не должны все экземпляры сущности участвовать в связи.
· Если все экземпляры данной сущности должны участвовать в связи, то участие сущности называется обязательным участием.
· Если экземпляры данной сущности могут не участвовать в связи, то участие сущности называется необязательным участием.
Используется понятие класс принадлежности сущности. Класс принадлежности сущности связи является обязательным в случае обязательного участия. Класс принадлежности сущности связи является необязательным в случае необязательного участия. Класс принадлежности конкретной сущности в конкретной связи определяется из инфологической модели предметной области.
Степень связи и класс принадлежности сущности является важнейшими характеристиками, используемыми при проектировании БД ER–методом.
Единицы означают степень связи.
· Точка внутри прямоугольного блока означает обязательное участие сущности в данной связи (класс принадлежности обязательный).
· Точка вне прямоугольного блока означает необязательное участие сущности в данной связи (класс принадлежности не обязательный).
Примеры диаграмм ER-типа связей степени 1:1.
Рис. 7.8 Диаграмма ER-типа связи степени 1:1, класс принадлежности обоих сущностей необязательный
Рис. 7.9 Диаграмма ER-типа связи степени 1:1, класс принадлежности сущности необяз. - обяз.
Рис. 7.10 Диаграмма ER-типа связи степени 1:1, класс принадлежности сущности обяз. – необяз.
Рис. 7.11 Диаграмма ER-типа связи степени 1:1, класс принадлежности обоих сущностей обязательный
Примеры диаграмм ER-типа связей степени 1:N и N:1
Каждый преподаватель может читать одновременно несколько курсов. Каждый курс читается не более чем одним преподавателем. Степень связи 1:N:
Рис. 7.12 Диаграмма ER-типа связи степени 1:N
необяз.
необяз.
Рис. 7.13 Диаграмма ER-типа связи степени 1:N
обяз.
необяз.
Рис. 7.14 Диаграмма ER-типа связи степени 1:N
необяз.
обяз.
Рис. 7.15 Диаграмма ER-типа связи степени 1:N
обяз.
обяз.
Каждый преподаватель читает не более одного курса, каждый курс читается более чем одним преподавателем. Степень связи N:1:
Рис. 7.16 Диаграмма ER-типа связи степени N:1
необяз.
необяз.
Рис. 7.17 Диаграмма ER-типа связи степени N:1
обяз.
необяз.
Рис. 7.18 Диаграмма ER-типа связи степени N:1
необяз.
обяз.
Рис. 7.19 Диаграмма ER-типа связи степени N:1
обяз.
обяз.
Примеры диаграмм ER-типа связей степени M:N
Каждый преподаватель может читать несколько курсов, каждый курс может читаться несколькими преподавателями. Степень связи M:N:
Рис. 7.20 Диаграмма ER-типа связи степени M:N
необяз.
необяз.
Рис. 7.21 Диаграмма ER-типа связи степени M:N
обяз.
необяз.
Рис. 7.22 Диаграмма ER-типа связи степени M:N
необяз.
обяз.
Рис. 7.23 Диаграмма ER-типа связи степени M:N
обяз.
обяз.
Связь ЧИТАЕТ, существующая между сущностями ПРЕПОДАВАТЕЛЬ и КУРС называется бинарной, поскольку она связывает две сущности. Связи между тремя или более сущностями мы будем называть связями более высокого порядка..
7.5. Схема проектирования баз данных методом “сущность-связь”
Проектирование базы данных с помощью метода “сущность-связь” можно разбить на несколько шагов:
· Шаг 1. Построение диаграммы ER–типа, включающей все сущности и все связи, обнаруженные в результате анализа инфологической модели предметной области.
· Шаг 2. Построение набора предварительных отношений и указание предполагаемого ключа для каждого отношения.
· Шаг 3. Подготовка списка всех атрибутов и распределение этих атрибутов по полученным отношениям. Необходимо определить для каждого отношения функциональные зависимости и проверить, находятся ли эти отношения в НФБК. Если хотя бы одно отношение не находится в НФБК или некоторые атрибуты не могут логично включиться ни в одно отношение, необходимо пересмотреть диаграммы ER–типа.
7.6. Бинарные связи со степенью связи 1: 1
Пробуем составлять предварительные отношения путем перебора всех возможных вариантов.
Рассмотрим ситуацию: Бинарная связь степень 1:1, и класс принадлежности обеих сущностей является обязательным.
Рис. 7.24 ER-диаграмма для бинарной связи “Преподаватель читает Курс” степени 1:1 и классом
принадлежности обеих сущностей обязательным
Таблица 7.1 R Универсальное отношение
НП
Фам.
Тел.
НК
V
В этом отношении сущность ПРЕПОДАВАТЕЛЬ дополнена двумя атрибутами – фамилия преподавателя, телефон преподавателя. Сущность КУРС дополнена атрибутом V – объем в часах.
П1
Иванов
32-22-11
К3
П2
Минин
33-98-76
К1
П3
Орлов
34-87-98
К4
П4
Петров
35-78-00
К2
В этом случае помещение всех атрибутов в одно отношение R (НП, Фам, Тел, НК, V) является правильным решением. Т.к. степень связи 1:1 и класс принадлежности является обязательным для обеих сущностей, гарантируется отсутствие пустых полей, а также дублирование информации.
Проверяем находится ли наше отношение в НФБК ? Да находится, так как все детерминанты являются возможными ключами.