В идеале при нормализации надо добиться, чтобы любое значение хранилось в базе в одном экземпляре, причем значение это не должно быть получено расчетным путем из других данных, хранящихся в базе. Первая нормальная форма: запрещает повторяющиеся столбцы (содержащие одинаковую по смыслу информацию), запрещает множественные столбцы (содержащие значения типа списка и т.п.), требует определить первичный ключ для таблицы, то есть тот столбец или комбинацию столбцов, которые однозначно определяют каждую строку Вторая нормальная форма требует, чтобы неключевые столбцы таблиц зависили от первичного ключа в целом, но не от его части. Чтобы таблица находилась в третьей нормальной форме, необходимо, чтобы неключевые столбцы в ней не зависели от других неключевых столбцов, а зависели только от первичного ключа. Самая распространенная ситуация в данном контексте – это расчетные столбцы, значения которых можно получить путем каких-либо манипуляций с другими столбцами таблицы. Построенная база данных находится в третьей нормальной форме, так как в каждой таблице неключевые столбцы зависят только от первичного ключа, и не зависят от других неключевых столбцов. Например, в таблице Дисциплины неключевые поля: Название, Количество часов, тип контроля, кодКафедры зависят только от первичного ключа: КодДисциплины. Связь между таблицами в третьей нормальной форме выглядит следующим образом:
Рис. 1. Связь между таблицами.
Создание таблиц базы данных Таблицы создаем в режиме конструктора:
Рис. 2. Создание таблицы Преподаватели.
Рис. 3. Создание таблицы Кафедры.
Рис. 4. Создание таблицы Аудитории.
Рис. 5. Создание таблицы Дисциплины.
Рис. 6. Создание таблицы Распределение дисциплин.
Создание запросов: Запрос на сортировку: Отсортировать фамилии преподавателей в алфавитном порядке:
Рис. 7. Запрос на сортировку.
Результат: алфавитный порядок
КодПреподавателя ФИО адрес должность
2 Асаржи Олег Владимирович ул. Северная, 34/78 ст. преподаватель