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