Пример проектирования БД учебной части

Применим описанные правила к примеру, рассмотренному при изучении метода нормальных форм.

БД для учебной части, содержащей следующие сведения:

ФИО - фамилия и инициалы преподавателя (возможность совпадения фамилии и инициалов у преподавателей исключена).

Должн - должность, занимаемая преподавателем.

Оклад - оклад преподавателя.

Стаж - преподавательский стаж.

Д_Стаж - надбавка за стаж.

Каф - номер кафедры, на которой работает преподаватель.

Предм - название дисциплины (предмета), ведомой преподавателем.

Группа - номер группы, в которой преподаватель проводит занятия.

ВидЗан - вид занятий, проводимых преподавателем в учебной группе (преподаватель в одной группе ведет только один вид занятий).

Исходное отношение ПРЕПОДАВАТЕЛЬ приведено на рис. 6.

ПРЕПОДАВАТЕЛЬ

Ф.И.О. Должн. Оклад Стаж Д_Стаж Каф Предм. Группа ВидЗан
Иванов И.М. Препод.         СУБД   Практ.
Иванов И.М. Препод.         ПЛ/1   Практ
Петров М.И. Ст.препод.         СУБД   Лекция
Петров М.И. Ст.препод.         Паскаль   Практ.
Сидоров Н.Г. Препод.         ПЛ/1   Лекция
Сидоров Н.Г. Препод.         Паскаль   Лекция
Егоров В.В. Препод.         ПЭВМ   Лекция

Рис.6. Исходное отношение Преподаватель

Первый этап проектирования - выделение сущностей и связей между ними.

Выделим следующие сущности:

- ПРЕПОДАВАТЕЛЬ (Ключ - ФИО).

- ЗАНЯТИЕ (Ключ - Группа. Предм).

- СТАЖ (Ключ - Стаж).

- ДОЛЖНОСТЬ (Ключ - Должн).

Выделим связи между сущностями:

- ПРЕПОДАВАТЕЛЬ ИМЕЕТ СТАЖ,

- ПРЕПОДАВАТЕЛЬ ВЕДЕТ ЗАНЯТИЕ,

- ПРЕПОДАВАТЕЛЬ ЗАНИМАЕТ ДОЛЖНОСТЬ.

Второй этап проектирования - построение диаграммы ER-типа с учетом всех сущностей и связей между ними.

 
 

Рис.7. Диаграмма ER-типа

Связь ИМЕЕТ является связью типа М:1, т. к. одинаковый стаж могут иметь несколько преподавателей. Сущность ПРЕПОДАВАТЕЛЬ имеет обязательный класс принадлежности, поскольку каждый преподаватель имеет свой стаж. Сущность СТАЖ имеет необязательный класс принадлежности, так как возможны такие значения стажа, которые не имеет ни один из преподавателей.

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

Связь ЗАНИМАЕТ имеет: тип М:1, так как каждый преподаватель занимает определенную должность и одинаковые должности могут занимать несколько преподавателей. Сущность ПРЕПОДАВАТЕЛЬ имеет обязательный класс принадлежности, так как предполагаем, что каждый преподаватель занимает должность. Сущность ДОЛЖНОСТЬ имеет необязательный КП, так как не исключаем, например, отсутствие должности профессора на кафедре, а значит, и преподавателя, который ее занимает.

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

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

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

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

2. СТАЖ (Стаж....).

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

1. ПРЕПОДАВАТЕЛЬ (ФИО. Стаж....).

2. ЗАНЯТИЕ (Группа. Предм....У

3. ВЕДЕТ (ФИО. Группа. Предм....У

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

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

2. ДОЛЖНОСТЬ (Должн....).

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

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

ПРЕПОДАВАТЕЛЬ (ФИО. Стаж. Должн. Каф)

СТАЖ (Стаж. Д_Стаж),

ЗАНЯТИЕ (Группа. Предм)

ВЕДЕТ (ФИО. Группа. Предм. ВидЗан)

ДОЛЖНОСТЬ (Должн. Оклад).

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

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

Итак,

- В нашем примере отношение ЗАНЯТИЕ, кроме ключевых атрибутов (Группа. Предм), других атрибутов не имеет. Поэтому оно не несет дополнительной информации, кроме содержащейся в отношении ВЕДЕТ.

- Действительно, это отношение включает в себя атрибуты Группа. Предм. Поэтому отношение ЗАНЯТИЕ нужно исключить из формируемой схемы БД (на рис. 8 оно перечеркнуто). Если бы имелись другие атрибуты, например, атрибут Семестр, в котором некоторая группа изучает конкретную дисциплину, то получили бы отношение ЗАНЯТИЕ (Группа.Предм. Семестр), которое вошло бы в БД.

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: