ФЕДЕРАЛЬНОЕ АГЕНСТВО ПО ОБРАЗОВАНИЮ РФ ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ Тамбовский Государственный Технический Университет
Контрольная работа по дисциплине «Базы данных»
Выполнила: студентка экономического факульта гр. ББИ-21
Смирнова Виктория Викторовна
Проверил: преподаватель Дьяков Игорь Алексеевич
Тамбов 2012
1 НФ.
Определение: отношение находится в 1 НФ тогда и только тогда, когда на пересечении каждого столбца и каждой строки находятся только элементарные значения атрибутов.
Фамилия_студента Имя_студента Отчество_студента №_зачётной_книжки Пол_студента Группа Код_предмета Предмет Количество_часов Код_преподавателя
Фамилия_преподавателя Имя_преподавателя Отчество_преподавателя Должность Учёная_степень
Отношение находится в 1 НФ.
2 НФ.
Определение: отношение находится в 2 НФ тогда и только тогда, когда оно находится в 1 НФ; все поля зависят от первичного ключа (PK). Первичный ключ не избыточен.
а) определить поля PK.
PK №_зачётной_книжки Группа Предмет Код_предмета
Код_преподавателя
Фамилия_студента Имя_студента Отчество_студента Пол_студента Количество_часов Фамилия_преподавателя Имя_преподавателя Отчество_преподавателя Должность Учёная_степень
№_зачётной_книжки однозначно определяет группу. Значит это поле тут лишнее. Аналогично, код_предмета определяет предмет.
б) если ключ избыточен – уточнить состав полей PK.
PK №_зачётной_книжки Код_предмета Код_преподавателя
Фамилия_студента Имя_студента Отчество_студента Пол_студента Группа Предмет
Количество_часов Фамилия_преподавателя Имя_преподавателя Отчество_преподавателя Должность Учёная_степень
PK должен быть не избыточен.
в) если PK не избыточен тогда проверить, что значения всех полей однозначно зависят от PK.
Фамилия_преподавателя, Имя_преподавателя, Отчество_преподавателя, Должность, Учёная_степень зависят от поля «Код_преподавателя». Следовательно, выносим характеристики преподавателя в отдельную таблицу. Один преподаватель может вести несколько предметов, поэтому ставим связь «один ко многим» («1 : М»).
Преподаватели
Код_преподавателя (PK)
Фамилия_преподавателя Имя_преподавателя Отчество_преподавателя Должность Учёная_степень
Предметы
№_зачётной книжки Код_предмета (PK) Код_преподавателя (FK)
Фамилия_студента Имя_студента Отчество_студента Пол Группа Предмет
Количество_часов
«№_зачётной_книжки» не зависит от «Код_предмета» и «Код_преподавателя». Зависящие от №_зачётной_книжки поля Фамилия_студента, Имя_студента, Отчество_студента, пол, группа выносим в отдельную таблицу.
Преподаватели
Код_преподавателя (PK)
Фамилия_преподавателя Имя_преподавателя Отчество_преподавателя Должность Учёная_степень
Предметы
Код_предмета (PK) Код_преподавателя (FK)
Фамилия_студента Имя_студента Отчество_студента Пол Группа Предмет
Количество_часов
Студенты
№_зачётной_книжки (PK) Код_предмета (FK)
Фамилия_студента Имя_студента Отчество_студента Пол Группа
Установим связи: |
|
|
|
|
|
|
|
|
Преподаватели – |
Предметы |
|
|
|
||||
1 |
|
: |
|
М |
(FK – Код_преподавателя) |
|
||
Предметы – |
Студенты |
|
|
|
||||
1 |
: |
|
М |
(FK – Код_предмета) |
|
|||
Преподаватели |
|
|
|
Предметы |
Студенты |
|||
Код_преподавателя (PK) |
|
|
|
|
№_зачётной книжки |
|
№_зачётной_книжки (PK) |
|
Фамилия_преподавателя |
|
|
|
|
Код_предмета (PK) |
|
Код_предмета (FK) |
|
Имя_преподавателя |
|
|
|
|
Код_преподавателя (FK) |
|
Фамилия_студента |
|
Отчество_преподавателя |
|
|
|
|
Фамилия_студента |
|
Имя_студента |
|
Должность |
|
|
|
|
Имя_студента |
|
Отчество_студента |
|
Учёная_степень |
|
|
|
|
Отчество_студента |
|
Пол |
|
|
|
|
|
|
Пол |
|
|
Группа |
|
|
|
|
|
Группа |
|
|
|
|
|
|
|
|
Предмет |
|
|
|
|
|
|
|
|
Количество_часов |
|
|
|
Отношение находится в 2 НФ.
Проверка транзитивных зависимостей: транзитивных зависимостей нет. БД не требует 3 НФ.
Вывод: БД нормализована.
