Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лекции к урокам 2007.doc
Скачиваний:
90
Добавлен:
23.12.2018
Размер:
3.44 Mб
Скачать

Третья нормальная форма (3нф)

Отношение находится в 3НФ, если оно находится во 2НФ и нем отсутствуют транзитивные зависимости неключевых атрибутов от ключа. 3НФ освобождает от избыточности и аномалии выполнения операции включения, удаления, обновления (изменения), если отношение имеет один ключ и другие зависимости, в т.ч. многозначные, в нем отсутствуют. Но если при этом имеются другие зависимости, кроме зависимости от ключа, то 3НФ не обеспечивает отсутствия аномалий операций. В этом случае применяют усиленную 3НФ.

В нашем примере, разобранном выше, получим отношения:

Преподаватель

Личный номер

Фамилия

Должность

Кафедра

201

Фролов

Доцент

ЭВМ

202

Костин

Доцент

ЭВМ

301

Бойко

Профессор

АСУ

401

Глазов

Ассистент

ТЭФ

Должность

Должность

Оклад

Доцент

3800

Доцент

3800

Профессор

5200

Ассистент

2700

Кафедра

Кафедра

Телефон

ЭВМ

4-89

ЭВМ

4-89

АСУ

4-89

ТЭФ

4-12

Усиленная 3нф Нормальная форма Бойса-Кодда (нфбк).

Пусть имеется отношение Курс _ Проект (преподаватель, предмет, студент), отражающее руководство преподавателями курсовых проектов, выполненных студентами:

Курс _ Предмет

Преподаватель

Предмет

Студент

ПР1

П1

СТ1

ПР2

П1

СТ2

ПР3

П1

СТ3

ПР1

П2

СТ4

ПР2

П2

СТ5

ПР2

П3

СТ6

ПР3

П3

СТ7

Курсовой проект ведут несколько преподавателей, и каждый студент закреплен за одним из них. Причем студент выполняет только один проект, и в то же время, один и тот же проект могут выполнять несколько студентов, но у разных преподавателей.

На роль ключа в этом отношении претендуют два атрибута «преподаватель» и «предмет».

Ообъединим их пока в составной ключ. Между атрибутами отношения существуют функциональные зависимости:

Преподаватель, Предмет → Студент (зависимость от ключа)

Студент → Предмет

Отношение Курс _ Предмет находится в 3НФ, поскольку в нем отсутствуют частичные и транзитивные функциональные зависимости неключевых атрибутов от ключа. Однако в отношении присутствуют два факта (о руководстве преподавателя проектом и о выполнении студентом проекта) и наблюдается зависимость части «Предмет» составного ключа от неключевого атрибута «Студент». Такая зависимость приводит к аномалиям:

1. существует проблема контроля непротиворечивости данных, т.к. замена студента требует просмотра всего отношения с целью поиска и изменения кортежей, содержащих данные о его преподавателе;

2. данные о студенте и его проекте не могут быть занесены в БД до тех пор, пока не назначен руководитель, и наоборот, если необходимо удалить преподавателя, то будут удалены данные и о руководимом им студенте.

Устранение этих аномалий достигается устранением функциональной зависимости части составного ключа от неключевого атрибута, т.е. зависимости: студент → предмет.

Для этого отношения Курс _ Проект разложим на два отношения, находящиеся в НФБК

Руководство

Преподаватель

Предмет

ПР1

П1

ПР2

П1

ПР3

П1

ПР1

П2

ПР2

П2

ПР2

П3

ПР3

П3

Выполнение

Студент

Предмет

СТ1

П1

СТ2

П1

СТ3

П1

СТ4

П2

СТ5

П2

СТ6

П3

СТ7

П3

Отношение находится в НФБК, если оно находится в 3НФ и нем отсутствуют зависимости ключей от неключевых атрибутов