Вторая нормальная форма (2НФ)

Чтобы рассмотреть вопрос приведения отношений ко второй нормальной форме (2НФ), необходимо дать пояснения к таким понятиям, как функциональная зависимость и полная функциональная зависимость.

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

Так, в сущности «Студент», (см. табл. 3.1.1) атрибуты «Фамилия», «Имя», «Отчество» и пр. находятся в функциональной зависимости от ключевого реквизита «Номер личного дела».

Функциональная зависимость реквизитов означает, что для каждого экземпляра сущности значению его ключевого атрибута соответствует только одно значение описательного атрибута.

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

В случае наличия в таблице составного ключа вводится понятие функционально-полной зависимости.

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

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

Таким образом, если отношение имеет простой ключ и находится в 1НФ, то требования 2НФ удовлетворяются автоматически. А в случае составного ключа надо проверить наличие полной функциональной зависимости.

Рассмотрим пример. Таблица «Оценки студента», приведенная на рис. 3.1.6 находится в первой нормальной форме и имеет составной ключ: «Номер ЛД» + «Дисциплина». Это отношение не находится во второй нормальной форме, так как атрибуты «Фамилия», «Имя», «Отчество» зависят только от номера личного дела и не зависят от дисциплины.

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

Рис. 3.1.6. Зависимость атрибутов от составного ключа

Приведение таблицы (отношения) к 2НФ осуществляется по следующим правилам:

ÿ атрибуты, зависящие от части составного ключа, и сама эта часть выносятся в отдельную (новую) таблицу и исключаются из исходной;

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

ÿ между новой и исходной таблицами устанавливается связь типа 1:М.

Приведение к 2НФ позволяет выявить в модели упущенные сущности и связи и, кроме того, устранить избыточность данных в исходной модели.

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

Рис. 3.1.7. Приведение к 2НФ


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



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