Отношение находится в 2НФ, если оно находится в 1НФ и каждый неключевой атрибут функционально полно зависит от первичного ключа (составного).
Для устранения частичной зависимости и перевода отношения в 2НФ необходимо, используя операцию проекции, разложить его на несколько отношений следующим образом (рис.2.):
- построить проекцию без атрибутов, находящихся в частичной функциональной зависимости от первичного ключа;
- построить проекции на части составного первичного ключа и атрибуты, зависящие от этих частей.
R1
ФИО | Предм | Группа | ВидЗан | ||
Иванов И.М. | СУБД | Практ | |||
Иванов И.М. | ПЛ/1 |
| |||
Петров М.И. | СУБД | Лекция | |||
Петров М.И. | Паскаль | Практ | |||
Сидоров Н.Г. | ПЛ/1 | Лекция | |||
Сидоров Н.Г. | Паскаль | Лекция | |||
Егоров В.В. | ПЭВМ |
|
R2
ФИО | Долж | Оклад | Стаж | Д_Стаж | Каф |
Иванов И.М. | Преп. | ||||
Петров М.И. | Ст.преп | ||||
Сидоров Н.Г. | Преп. | ||||
Егоров В.В. | Преп |
|
|
Рис.2. Отношения во 2 нормальной форме
Исследование отношений R1 и R2 показывает, что переход к 2НФ позволил исключить явную избыточность данных в таблице R2 – повторение строк со сведениями о преподавателях. В R2 по–прежнему имеет место неявное дублирование данных.
Для дальнейшего совершенствования отношения необходимо преобразовать его в 3НФ.