ТОП 10:

Формирование отношений для связей М:М.



При наличии связи М:М между двумя сущностями необходимо формировать 3 (три) отношения независимо от КП любой из сущности. Использование 1 (одного) или 2 (двух) отношений в этом случае не избавляет от пустых полей или избыточно дублируемых данных.

Правило 6:

Если степень связи М:М, то независимо от класса принадлежности сущностей формируется 3 (три) отношения. Два отношения соответствуют связываемым сущностям и их ключи являются первичными ключами этих отношений, третье отношение является связным между первыми двумя, а его ключ объединяет ключевые атрибуты связываемых отношений. На Рис 3.4.2.2.20 приведены диаграммы ER-типа(а) и ER-экземпляров(б) и схема отношений сформулированных по правилу 6.

а) ER-типа

б) ER-экземпляров

в) Схема отношений

Рис 3.4.2.2.20. Диаграмма и схема отношений для правила 6

Применим правило 6 к исходным ER-диаграммам. В них степень связи равна М:М, а КП сущности “Преподаватель” и “дисциплина”- не обязательный.

Для наглядности сначала построим одно отношение “Преподаватель” -“дисциплина” (Рис 3.4.2.2.21)

НП ФИО СТАЖ КД ЧАСЫ Дисциплина
П1 Иванов И.И. К3 ТАУ
П2 Петров П.П. К1 Структура Данных
П2 Петров П.П. К2 Б.Д.
П3 Федоров Ф.Ф К4 Информатика
П4 Семенов С.С. К4 Информатика
П4 Семенов С.С. К5 Программирование
П5 Егоров Е.Е.
К6 Физика

Рис 3.4.2.2.21 Одно отношение, сформированное на основе ER- диаграмм (Рис 3.4.2.2.20) С данным отношением связаны проблемы:

1. Имеются пустые поля в кортежах, которые содержат следующее:

а) данные о преподавателях, не ведущих дисциплины;

б) данные о дисциплинах, которые не ведутся преподавателями;

2. Избыточное дублирование данных о преподавателях, ведущих более одной дисциплины и избыточное дублирование данных о дисциплинах, которые ведутся несколькими преподавателями (КД).

Применим правило 6 к исходным ER-диаграммам и получим 3 отношения (Рис 3.4.2.2.22).

 

Преподаватель Ведет Дисциплина

Рис 3.4.2.2.22. Отношения получаемые по правилу 6.

 

Аналогичные результаты получаются для 3-х других вариантов, различающихся классами принадлежности их сущностей. Рассмотрим применение сформулированных правил на примере проектирования БД методом сущность-связь.

Пример формирования отношений исходя из структуры ЛЛМД.

Как уже отмечалось было разработана ЛЛМД фрагмента, отображающего отдельный аспект учебной части ВУЗа. Диаграмма ER-типа для такой ЛЛМД представлена на Рис 3.4.2.2.23

Рис 3.4.2.2.23 Диаграмма ER-типа учебной части ВУЗа

 

Связь ИМЕЕТявляется связью типа М:1, т.к. одинаковый стаж могут иметь несколько преподавателей. Сущность “Преподаватель” имеет обязательный КП, т.к. каждый преподаватель имеет свой стаж. Сущность “стаж” имеет необязательный КП, т.к. возможны такие значения стажа, которые не имеют ни один из преподавателей.

Связь ВЕДЕТ имеет тип М:М, т.к. Пр-ль может вести несколько занятий, а каждое занятие может преподаваться несколькими преподавателями. Занятие, проводимое преподавателями по одной из дисциплин, может быть лекционным, практическим, лабораторным и т.д. Обе сущности в данной связи имеют обязательный КП, в предположении, что нет преподавателей, которые не проводят занятий, и нет занятий, которые не обеспечены преподавателями.

Связь “ЗАНИМАЕТ имеет тип М:1, так как каждый Пр-ль занимает определенную должность и одинаковые должности могут занимать несколько преподавателей. Сущность “Пр-ль” имеет обязательный КП , т.к. каждый пр-ль занимает должность. Сущность “Должность” имеет необязательный КП, т.к. напротив возможно отсутствие какой-либо должности профессора на кафедре (например, “профессор”).

На основе анализа диаграмм ER-типа (Рис 3.4.2.2.23) с помощью 6-ти сформированных правил получаем набор предварительных отношений, представленных следующими схемами отношений.

1. Связь “ИМЕЕТ”удовлетворяет условиям правила 4, в соответствии с которым получаем 2 (два) отношения:

ПРЕПОДАВАТЕЛЬ (ФИО, СТАЖ,…)-добавился ключевой атрибут СТАЖ.

СТАЖ (СТАЖ,…)

2. Связь “ВЕДЕТ” удовлетворяет условиям правила 6, в соответствии с которым получаем 3 (три) отношения:

ПРЕПОДАВАТЕЛЬ (ФИО, СТАЖ,…)

ЗАНЯТИЕ (ГРУППА, ПРЕДМЕТ…)

ВЕДЕТ (ФИО, ГРУППА, ПРЕДМЕТ,…)

3. Связь “ЗАНИМАЕТ” аналогично связи “ИМЕЕТ” удовлетворяет условиям правила 4, поэтому имеет следующие 2 (два) отношения.

3.1 ПРЕПОДАВАТЕЛЬ (ФИО, СТАЖ, ДОЛЖНОСТЬ,…)

Добавится ключевой атрибут должность.

3.2 ДОЛЖНОСТЬ (ДОЛЖНОСТЬ,…)

После этого рассмотрим необходимость добавления неключевых атрибутов, которые не были выбраны в качестве ключевых ранее, и назначение их одному из предварительных отношений, с тем условием, чтобы отношения отвечали требованиям нормальной формы Бойса-Кодда.

После добавления нескольких атрибутов схемы отношений примут следующий вид:

ПРЕПОДАВАТЕЛЬ (ФИО, СТАЖ, ДОЛЖНОСТЬ, КАФЕДРА…)

СТАЖ (СТАЖ, Д _СТАЖ)

ЗАНЯТИЕ (ГРУППА, ПРЕДМЕТ…)

ВЕДЕТ (ФИО, ГРУППА, ПРЕДМЕТ,ВИД.ЗАНЯТИЯ…)ДОЛЖНОСТЬ (ДОЛЖНОСТЬ, ОКЛАД…)

Схема базы данных для данных отношений представлена на Рис 3.4.2.2.24.

 

Рис 3.4.2.2.24. Схема базы данных

 

 

Замечание:

В рассматриваемом примере отношение “Занятие”, кроме ключевых атрибутов (Группа, Препод.), других атрибутов не имеет. Поэтому оно не несет дополнительной информации, кроме содержащейся в отношении “ВЕДЕТ”. Поэтому отношение “ЗАНЯТИЕ” можно исключить из формируемой схемы базы данных. Если бы имелись другие атрибуты, например атрибут “СЕМЕСТР”, в котором некоторая группа изучает конкретную дисциплину, то получили бы отношение занятие (группа, Предмет, семестр), которое вошло бы в Базу Данных. Ключевые атрибуты (Стаж и должность) из отношений “СТАЖ” и “ДОЛЖНОСТЬ” входят как внешние ключи в отношение “ПРЕПОДАВАТЕЛЬ”. Ключевой атрибут “ФИО” входит как часть составного ключа в отношение “ВЕДЕТ”.

 







Последнее изменение этой страницы: 2017-02-05; Нарушение авторского права страницы

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.232.186.117 (0.004 с.)