double arrow

Третья нормальная форма. Нормализация избавляется от избыточности

Нормальная форма (2NF)

Нормализация избавляется от избыточности.

Информационный объект находится в первой нормальной форме, когда все его атрибуты имеют единственное значение. Если в каком либо атрибуте есть повторное значение, то объект не находится в первой нормальной форме.

Пр.Предмет (Код предмета, Название, Цикл, Объём часов, Преподаватель)

Эта таблица не находится в первой нормальной форме, т.к. атрибут Преподаватель подразумевает присутствие несколько фамилий преподавателей в записи, относящиеся к какому либо предмету.

Приведём атрибут с повторяющимися значениями в новую сущность, назначим ей первичный ключ (Код преподавателя) и свяжем с исходной ссылкой на первичный ключ (Код предмета). В результате получим два информационных объекта, причем в информационном объекте «Преподаватель» мы добавляем характеристики его атрибутов.

Таблица находится во второй нормальной форме, если она находится в первой нормальной форме и все её поля, не входящие в первичный ключ связаны с полной функциональной зависимостью с первичным ключом.

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

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

Пр.Предмет (Код предмета, Название, Объём часов, Код цикла)

Цикл (Код цикла, Название цикла)

Преподаватели (Код преподавателя, Ф.И.О., Должность, Оклад, Адрес)

Предмет (Код предмета, Код преподавателя)

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

В примере не ключевые поля, должность и оклад. Несколько человек могут работать в одной и той же должности, поэтому следует создать таблицу «Должность».

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

Пример: Предмет (Код предмета, Название, Объём, Код цикла)

Цикл (Код цикла, Название цикла)

Преподаватель (Код преподавателя, Ф.И.О., Код должности, Адрес)

Должность (Код должности, Название должности, Оклад)


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