Формирование отношений для связи 1:М
Если две сущности С1 и С2 связаны как 1:М, сущность С1 будем называть односвязной (1-связной), а сущность С2 - многосвязной (М-связной). Определяющим фактором при формировании отношений, связанных этим видом связи, является класс принадлежности М-связной сущности. Так, если класс принадлежности М-связной сущности обязательный, то в результате применения правила получим два отношения, если необязательный - три отношения. Класс принадлежности односвязной сущности не влияет на результат.
Чтобы убедиться в этом, рассмотрим отношение ПРЕПОДАВАТЕЛЬ_ДИСЦИПЛИНА (рис. 6.14), соответствующее диаграммам, приведенным на рис. 6.4, т. е. случаю, когда: связь типа 1:М, класс принадлежности М-связной сущности обязательный, 1-связной - необязательный.
Рис. 6.14 Исходное отношение
С отношением ПРЕПОДАВАТЕЛЬ_ДИСЦИПЛИНА (рис 6.14) связаны следующие проблемы:
• имеются кортежи с пустыми полями (преподавательне ведет дисциплины),
• избыточное дублирование данных (повторяется стаж преподавателя) в кортежах со сведениями о преподавателях, ведущих несколько дисциплин.
Если бы класс принадлежности 1-связной сущности был обязательным (нет преподавателя без дисциплины), то исчезли бы пустые поля, но повторяющиеся данные в атрибутах преподавателя сохранились бы. Для устранения названных проблем отношения могут быть сформирование следующему правилу.
Правило4. Если степень связи между сущностями 1:М (или М:1) и класс принадлежности М-связной сущности обязанный, то достаточно формирование двух отношений (по одному на кажую из сущностей). При этом первичными ключами этих отношений являются ключи их сущностей. Кроме того, ключ 1-связной сущности добавляется как атрибут (внешний ключ) в отношение, соответствующее М-связной сущности.
На рис. 6.15 приведены диаграмма ER-типа и отношения, сформированные по правилу 4.
Рис. 6.15 Диаграмма и отношения для правила 4
В соответствии с правилом 4 преобразуем сушение на рис. 6.14 в два отношения (рис. 6.16).
Рис. 6.16 Отношения, полученные по правилу 4
Из рис. 6.16 видно, что пустые поля и дублирование информации удалось устранить. Потери сведений о том, кто из преподавателей ведет какую дисциплину, не произошло благодаря введению ключа НП сущности ПРЕПОДАВАТЕЛЬ в качестве внешнего ключа в отношение ДИСЦИПЛИНА.
Для формулирования и обоснования необходимости использования следующего правила рассмотрим следующий пример.
Пример.Связь между сущностями 1:М, а класс принадлежности М-связной сущности необязательный.
Пусть класс принадлежности 1-связной сущности также необязательный, хотя это и не принципиально, так как определяющим является класс принадлежности М-связной сущности. Посмотрим, к чему может привести использование одного отношения в этом случае (рис. 6.17).
Рис. 6.17 Исходное отношение
С приведенным отношением связаны следующие проблемы:
1. Имеются пустые поля в кортежах, которые содержат следующее:
а) данные о преподавателях, не ведущих дисциплин;
б) данные о дисциплинах, которые не ведутся преподавателями.
2. Избыточное дублирование данных о преподавателях, ведущих более
одной дисциплины.
В случае обязательного класса принадлежности 1-связной сущности исчезают проблемы 1 а). Для устранения всех проблем нужно перейти к трем отношениям в соответствии со следующим правилом.
Правило5. Если степень связи 1:М (М:1) и класс принадлежности М-связной сущности является необязательным, то необходимо формирование трех отношений (рис. 6.18). Два отношения соответствуют связываемым сущностям, ключи которых являются первичными в этих отношениях. Третье отношение является связным между первыми двумя (его ключ объединяет ключевые атрибуты связываемых отношений).
Рис. 6.18 Диаграмма и отношение для правила 5
В результате применения правила 5 к рассматриваемому отношению содержащиеся в нем данные (рис. 6.17) распределяются по трем отношениям (рис. 6.19).
Рис. 6.19 Отношения, полученные по правилу 5
Таким образом, указанные проблемы удалось разрешить. Ключ в связном отношении ВЕДЕТ является составным и включает в себя ключевые атрибуты обоих связываемых отношений (сущностей). В практических ситуациях связное отношение может содержать и другие характеризующие связь атрибуты.
Подчеркнем, что определяющим фактором при выборе между 4-м или 5-м правилом является класс принадлежности М-связной сущности.