Вторая нормальная форма

 

Как видно, на рис. 7.3 отсутствуют FD, не являющиеся минимальными. Наличие таких FD на рис. 7.1 вызывало аномалии обновления. Проблема заключалась в том, что атрибут СЛУЖ_УРОВотносился к сущности служащий, в то время как первичный ключ идентифицировал сущность задание_служащего_в_проекте.

Определение 7.1. Вторая нормальная форма

Переменная отношения находится во второй нормальной форме (2NF) тогда и только тогда, когда она находится в первой нормальной форме, и каждый неключевой атрибут* минимально функционально зависит от первичного ключа.** Конец определения.

 

Переменные отношений СЛУЖ и СЛУЖ_ПРО_ЗАДАН обе находятся в 2NF (все неключевые атрибуты отношений минимально зависят от первичных ключей СЛУ_НОМи {СЛУ_НОМ, ПРО_НОМ} соответственно). Переменная отношения СЛУЖАЩИЕ_ПРОЕКТЫ_ЗАДАНИЯне находится в 2NF (например, FD {СЛУ_НОМ, ПРО_НОМ} ® СЛУ_УРОВне является минимальной). Любая переменная отношения, находящаяся в 1NF, но не находящаяся в 2NF, может быть приведена к набору переменных отношений, находящихся в 2NF. В результате декомпозиции мы получаем набор проекций исходной переменной отношения, естественное соединение значений которых воспроизводит значение исходной переменной отношения (т.е. это декомпозиция без потерь). Для переменных отношений СЛУЖ и СЛУЖ_ПРО_ЗАДАН исходное отношение СЛУЖАЩИЕ_ПРОЕКТЫ_ЗАДАНИЯвоспроизводится их естественным соединением по общему атрибуту СЛУ_НОМ.

Заметим, что допустимое значение переменной отношения СЛУЖможет содержать кортежи, информационное наполнение которых выходит за пределы допустимых значений переменной отношения СЛУЖАЩИЕ_ПРОЕКТЫ_ЗАДАНИЯ.Например, в теле отношения СЛУЖможет находиться кортеж с данными о служащем с номером 2938, который еще не участвует ни в одном проекте. Наличие такого кортежа не влияет на результат естественного соединения, тело которого все равно будет совпадать с телом допустимого значения переменной отношения СЛУЖАЩИЕ_ПРОЕКТЫ_ЗАДАНИЯ.