- •Описание задачи
- •Постановка задачи
- •Описание предметной области
- •Функциональные возможности приложения
- •Моделирование данных с помощью процесса нормализации
- •Обработка первичного документа
- •Первая нормальная форма (1нф)
- •Нормальная форма Бойса-Кодда (нфбк).
- •Моделирование данных с помощью er-диаграмм
- •Выделение основных сущностей
- •Определение списка атрибутов сущностей
- •Определение связей между сущностями
- •Описание таблиц
- •Вторая нормальная форма (2нф)
- •Третья нормальная форма (3нф).
- •Описание приложения
Обработка первичного документа
Процесс нормализации начинается с преобразования данных из формата первичного документа в формат плоской таблицы. На исходном этапе таблица может находиться в ненормализованной форме.
Отношение R
№ записи |
День недели |
Код дня нед |
Класс |
Код класса |
№ пары |
Часы занятий |
Предмет |
Код предмета |
Учитель |
Код учителя |
Аудитория |
Код аудитории |
ID_Rasp |
DW |
ID_DW |
ClassName |
ID_ClassName |
ID_Time |
Time |
Subject |
ID_Subject |
Teacher |
ID_Teacher |
ClassRoom |
ID_ClassRoom |
111 |
Понедельник |
1 |
10 «Б» |
2 |
1 |
8:10-9:30 |
Алгебра |
0012 |
Иванова Л.К. |
1 |
409 |
1 |
2 |
9:40-11:00 |
Рус.яз. |
0015 |
Тверских Н.В, |
2 |
406 |
4 |
|||||
3 |
11:20-12:40 |
Информат. |
0022 |
Тиссен О.В. |
3 |
411 |
6 |
|||||
… |
|
|
|
|
|
|
|
|
|
|
|
|
В полученном отношении первичным ключом является атрибут ID_Rasp. Оно является ненормализованным, так как в нем имеются повторяющиеся группы: для одного значения атрибута ID_Rasp имеется набор значений атрибутов:
(ID_DW, DW, ClassName, ID_ClassName,I D_Time, Time, Subject, ID_Subject, Teacher, ID_Teacher, ClassRoom, ID_ClassRoom).
Первая нормальная форма (1нф)
Создадим таблицу, в которой вместо одной строки будет три. В результате получим новое отношение:
Отношение R1
№ записи |
День недели |
Код дня нед. |
Класс |
Код класса |
№ пары |
Часы занятий |
Предмет |
Код предмета |
Учитель |
Код учителя |
Аудитория |
Код аудитории |
ID_Rasp |
DW |
ID_DW |
ClassName |
ID_ClassName |
ID_Time |
Time |
Subject |
ID_Subject |
Teacher |
ID_Teacher |
ClassRoom |
ID_ClassRoom |
111 |
Понедельник |
1 |
10 «Б» |
2 |
1 |
8:10-9:30 |
Алгебра |
0012 |
Иванова Л.К. |
1 |
409 |
1 |
112 |
Понедельник |
11 |
10 «Б» |
2 |
2 |
9:40-11:00 |
Рус.язык |
0015 |
Тверских Н.В, |
2 |
406 |
4 |
113 |
Понедельник |
1 |
10 «Б» |
2 |
3 |
11:20-12:40 |
Информат. |
0022 |
Тиссен О.В. |
3 |
411 |
6 |
… |
|
|
|
|
|
|
|
|
|
|
|
|
Найдем все потенциальные ключи:
ID_Rasp, ID_Time;
ID_ClassName, ID_Time, ID_DW;
ID_Time,ID_ClassRoom, ID_DW;
ID_Time, ID_Teacher, ID_DW.
Выберем в качестве первичногоключа: ID_ClassName, ID_Time, ID_DW.
Выделим все частичные зависимости от первичного ключа:
ID_ClassNameClassName;
ID_TimeTime;
ID_DWDW.
