Неполная функциональная зависимость и вторая нормальная форма

Определение. Пусть в отношении R заданы наборы атрибутов А и В. Зависимость R.A ® R.B называется полной (full functional dependence), если В не зависит функ­цио­на­льно ни от какого поднабора С Ì А, не содержащего В. На рис. справа атрибут "Аудитория" зависит неполно от набора атрибутов "Преподаватель, "Группа", "Предмет".

Отношение "Лекции" содержит аномалии по отношению к операциям манипули­рования. Эти аномалии основываются на следующем тезисе.

Тезис. Если в предметной области имеется функциональная зависи­мость А ® В, то это свидетельствует, что в ПО имеется класс сущнос­тей, состоящих из атрибутов (А,В), причем группа атрибутов А выступает в качестве уникального иденти­фи­ка­тора сущностей из этого класса (ключ), а В – свойства сущностей.

Так как атрибут "Аудитория" функционально зависит от "Предмет", то в нашей предметной области, согласно выдвинутому тезису, существует самостоятельный класс сущносей, определенных на этой паре атрибутов. Однако мы не сможем самостоятельно манипулировать сущностями этого класса, так как при этом возникают следующие аномалии.

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

Аномалия удаления. Удаляя строку в отношении "Лекции" мы можем удалить единственную в своем роде информацию о том, что какой-то предмет читается в конкретной аудитории.

Аномалия обновления. В общем случае одно и то же значение "Аудитория" для данного предмета повторяется много раз. Эта избыточность вызывает проблему обновления. Если предмет стал читаться в другой аудитории, то необходимо просмотреть все строки отношения Лекции на предмет замены аудитории.

С понятием полной функциональной зависимости связана вторая нормальная форма.

Определение. Отношение находится во второй нормальной форме (second normal form – 2NF), если оно нахо­дит­ся в первой нормальной форме и все его непервичные атрибуты функционально полно зависят от возможного ключа.

Очевидно, что вторая нормальная форма снимает аномалии, связанные с неполными функциональными зависимос­тя­ми. Как приводить отношение ко второй нормальной форме? Очевидно, что это можно достигнуть только с помощью разбиения отношения на (по крайней мере) два других. Причем, при таком разбиении необходимо, чтобы были выполнены следующие условия:

· результирующие отношения являются проекциями исходного;

· исходное отношение можно было бы восстановить из результирующих с помощью операции естественного соеди­не­ния (соединение без потерь);

· при таком разбиении не теряются функциональные зависимости (то есть зависимости исходного и результи­рую­щих отношений должны быть эквивалентными).

Путь решения этой проблемы дает следующая теорема Хита.

Теорема (Хита). Отношение R с наборами атрибутов А, В, С, где R.A ® R.B, является естественным соединением проекций R[A, B] и R[A, C].

Таким образом, алгоритм приведения к 2NF следующий. Пусть задано отношение R со множеством атрибутов M. Если в R имеется неполная функциональная зависимость R.A ® R.B неключевого ат­ри­бута B от возможного ключа А, то отношение R разбивается на следующие два отношения: R[A, B] и R[M - B]. Если результирующие отношения все еще не находятся во второй нормальной форме, то к ним опять применяется этот алгоритм.

Так, например, для приведенного выше отношения "Лекции" алгоритм нормализации приведет к следующим двум отношениям: Лекции(Преподаватель, Группа, Предмет, Пара, День) и Что-Где(Предмет, Аудитория)

Процесс приведения отношений ко второй нормальной форме в ряде случаев не является однозначным. В связи с этим вводится следующее понятие.

Определение. Приведение отношения во вторую нормальную форму называется оптимальным (оптимальная вто­рая нормальная форма), если создается минимальный набор результирующих отношений среди всех возможных.


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




Подборка статей по вашей теме: