Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Белобжеский_Лекции_по_ББД.doc
Скачиваний:
3
Добавлен:
01.07.2025
Размер:
5.5 Mб
Скачать

Третья нормальная форма (знф)

Хотя 2НФ-отношения в меньшей степени обладают избыточностью данных, чем 1НФ-отношения, они все еще могут страдать от аномалий обновления. Эти аномалии обновления вызываются транзитивной зависимостью, присутствующей в данном отношении. Она может быть устранена путем приведения отношения к третьей нор­мальной форме, В этом разделе транзитивные зависимости рассматриваются вместе с третьей нормальной формой.

Транзитивная зависимостьесли для атрибутов А, В и С некоторого отношения существуют зависимости вида А→В и В→С, то говорят, что атрибут С транзитивно зависит от атрибута А через атрибут В (при условии, что атрибут А функционально не зависит ни от атрибута В, ни от атрибута С).

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

А→В и В→С.

В данном случае транзитивная зависимость А→С осуществляется через атрибут В. Это утверждение справедливо только в том случае, если атрибут А функционально не зависит от атрибутов В и С. Например, рассмотрим следующие функциональные зависимости внутри отношения КОНСУЛЬТАНТ, представленного на рисунках 19 и 20.

Сном→Кном и Сном→Тном

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

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

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

Примеры рассмотрим позже, когда будем проводить нормализацию (декомпозицию) БД «КОНСУЛЬТАНТ».

Нормальная форма Бойса-Кодда (нфбк)

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

Нормальная форма Бойса-Кодда (НФБК) учитывает функциональные зависимо­сти, в которых участвуют все потенциальные ключи отношения, а не только его первичный ключ. Для отношения с единственным потенциальным ключом его ЗНФ и НФБК являются эквивалентными.

Нормальная форма Бойса-Кодда (НФБК) – отношение находится в НФБК тогда и только тогда, когда каждый его детерминант является потенциальным ключом.

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

Различие между ЗНФ и НФБК заключается в том, что функциональная зависимость А→В допускается в ЗНФ-отношении, если атрибут В является первичным клю­чом, а атрибут А не обязательно является потенциальным ключом. Тогда как в НФБК-отношении эта зависимость допускается только тогда, когда атрибут А является потенциальным ключом. Следовательно, нормальная форма Бойса-Кодда является жесткой версией формы ЗНФ, поскольку каждое НФБК-отношение является ЗНФ-отношением, но не всякое ЗНФ-отношение является НФБК-отношением.

Любое отношение, которое не находится в НФБК, можно декомпозировать с образованием НФБК-отношений, однако делать это иногда нежелательно. Например, декомпозиция будет нежелательна, если в результате ее выполнения утрачивается некоторая функциональная зависимость (т.е. детерминант и определяемые им атрибуты помещаются в разные отношения). В этой ситуации будет трудно обеспечить исходную функциональную зависимость отношения и важное ограничение может быть утрачено. Если имеет место упомянутая ситуация, то лучше закончить процесс нормализации на этапе образования ЗНФ-отношений, в которых все требуемые зависимости всегда сохраняются.