Если две сущности С1 и С2 связаны как 1:М, сущность С1 будем называть односвязной (1-связной), а сущность С2 – многосвязной (М-связной). Определяющим фактором при формировании отношений, связанных этим видом связи, является класс принадлежности М-связной сущности. Так, если класс принадлежности М-связной сущности обязательный, то в результате применения правила получим два отношения, если необязательный – три отношения. Класс принадлежности односвязной сущности не влияет на результат.
Чтобы убедиться в этом, рассмотрим отношение ПРЕПОДАВАТЕЛЬ_ДИСЦИПЛИНА (рис. 14), соответствующее диаграммам, приведенным на рис. 4, т. е. случаю, когда связь типа 1:М, класс принадлежности М-связной сущности обязательный, 1-связной – необязательный.
С отношением ПРЕПОДАВАТЕЛЬ_ДИСЦИПЛИНА (рис. 14) связаны следующие проблемы:
• имеются кортежи с пустыми полями (преподаватель не ведет дисциплины);
• избыточное дублирование данных (повторяется стаж) в кортежах со сведениями о преподавателях, ведущих несколько дисциплин.
ПРЕПОДАВАТЕЛЬ_ДИСЦИПЛИНА
НП
ФИО
Стаж
КД
Часы
П1
Иванов
К1
П1
Иванов
К2
П2
Петров
К4
ПЗ
Сидоров
К5
П3
Сидоров
К6
П4
Егоров
К3
П4
Егоров
К7
П5
Козлов
---
---
Рис. 14. Исходное отношение
Если бы класс принадлежности 1-связной сущности был обязательным (нет преподавателя без дисциплины), то исчезли бы пустые поля, но повторяющиеся данные в атрибутах преподавателя сохранились бы. Для устранения названных проблем отношения могут быть сформированы по следующему правилу.
Правило 4. Если степень связи между сущностями 1:М (или М:1) и класс принадлежности М-связной сущности обязательный, то достаточно формирование двух отношений (по одному на каждую из сущностей). При этом первичными ключами отношений являются ключи их сущностей. Кроме того, ключ 1-связной сущности добавляется как атрибут (внешний ключ) в отношение, соответствующее М-связной сущности.
1 М
К1,… К2,… К1,… К1, К2
Рис. 15. Диаграмма и отношения для правила 4.
На рис. 15 приведены диаграмма ER-типа и отношения, сформированные по правилу 4. Нами показан вариант с классом принадлежности 1-связной сущности – обязательный, хотя согласно правилу 4 он может быть произвольным.
В соответствии с правилом 4 преобразуем отношение на рис. 14 в два отношения (рис.16). Из рисунка видно, что пустые поля и дублирование информации удалось устранить. Потери сведений о том, кто из преподавателей ведет какую дисциплину, не произошло благодаря введению ключа НП сущности ПРЕПОДАВАТЕЛЬ в качестве внешнего ключа в отношение ДИСЦИПЛИНА
ПРЕПОДАВАТЕЛЬ ДИСЦИПЛИНА
НП
ФИО
Стаж
КД
Часы
НП
П1
Иванов
К1
П1
П2
Петров
К2
П1
ПЗ
Сидоров
К3
П4
П4
Егоров
К4
П2
П5
Козлов
К5
П3
К6
П3
К7
П4
Рис. 16. Отношения, полученные по правилу 4
Для формулирования и обоснования необходимости использования следующего правила рассмотрим пример: связь между сущностями 1:М, а класс принадлежности М-связной сущности необязательный.
Пусть класс принадлежности 1-связной сущности также необязательный, хотя это и не принципиально, так как определяющим является класс принадлежности М-связной сущности. Посмотрим, к чему может привести использование одного отношения в этом случае (рис. 17).
ПРЕПОДАВАТЕЛЬ_ДИСЦИПЛИНА
НП
ФИО
Стаж
КД
Часы
П1
Иванов
К1
П1
Иванов
К2
П2
Петров
К4
---
---
---
К5
П3
Сидоров
К6
П4
Егоров
К3
П4
Егоров
К7
П5
Козлов
---
---
Рис. 17. Исходное отношение
С приведенным отношением связаны следующие проблемы:
1) Имеются пустые поля в кортежах, которые содержат следующее:
a) данные о преподавателях, не ведущих дисциплин;
b) данные о дисциплинах, которые не ведутся преподавателями.
2) Избыточное дублирование данных о преподавателях, ведущих более одной дисциплины.
В случае обязательного класса принадлежности 1-связной сущности исчезают проблемы 1)а). Для устранения всех остальных проблем нужно перейти к трем отношениям в соответствии со следующим правилом.
Правило 5. Если степень связи 1:М (М:1) и класс принадлежности М-связной сущности является необязательным, то необходимо формирование трех отношений (рис. 18).
1 М
· ·
К1,… К2,… К1,… К2,…
К1, К2
Рис.18. Диаграмма и отношение для правила 5
Два отношения соответствуют связываемым сущностям, ключи которых являются первичными в этих отношениях. Третье отношение является связным между первыми двумя (его ключ объединяет ключевые атрибуты связываемых отношений). В результате применения правила 5 к рассматриваемому отношению содержащиеся в нем данные (рис. 17) распределяются по трем отношениям (рис. 19).
ПРЕПОДАВАТЕЛЬ ВЕДЕТ ДИСЦИПЛИНА
НП
ФИО
Стаж
НП
КД
КД
Часы
П1
Иванов
П1
К1
К1
П2
Петров
П1
К2
К2
ПЗ
Сидоров
П2
К4
К3
П4
Егоров
П3
К6
К4
П5
Козлов
П4
К3
К5
П4
К7
К6
К7
Рис. 19. Отношения, полученные по правилу 5
Таким образом, указанные проблемы удалось разрешить. Ключ в связном отношении ВЕДЕТ является составным и включает в себя ключевые атрибуты обоих связываемых отношений (сущностей). В практических ситуациях связное отношение может содержать и другие характеризующие связь атрибуты.
Подчеркнем, что определяющим фактором при выборе между 4-м или 5-м правилом является класс принадлежности М-связной сущности.