Дело в том, что при определении нормальной формы мы должны выражать ее в общем виде как свойство всех функциональных зависимостей, содержащих определенное отношение.
Вместокогда мы рассуждаем о конкретной схеме отношений, мы обычно имеем только подмножество всех функциональных зависимостей (поскольку их число может быть слишком большим, возможно, экспоненциальным с количеством атрибутов).Конкретный набор используемых зависимостей, обычно обозначаемый буквой F, обладает особым свойством: это покрытие всех зависимостей, содержащихся в отношении, то есть из него мы можем получить все зависимостиотношение, применяя всеми возможными способами набор аксиом, называемых аксиомами Армстронга.
F, набор зависимостей, указанных вместе с атрибутами в реляционной схеме, можно задавать различными способами: например,в упражнении они могут быть предоставлены в качестве входных данных для упражнения, в реальном дизайне базы данных они могут описать набор ограничений, которые считаются важными для моделирования определенной области реального слова и т. д.
, даже если они извлечены иззнания о ситуации, которая будет смоделирована с помощью базы данных, они могут содержать зависимости, подразумеваемые другими уже предоставленными, или, возможно, могут содержать избыточные атрибуты и т. д.
По этим причинам это считается важным первым шагом в нормализации кнайти каноническийпокрытие заданного набора зависимостей, то есть покрытие, составленное из набора зависимостей, которые: а) имеют только один атрибут в правой части;б) не имеют лишних атрибутов в левой части (то есть атрибутов, которые можно удалить, сохраняя свойство быть прикрытием);c) не имеют избыточных зависимостей (то есть зависимостей, которые могут быть получены из других через аксиомы Армстронга).
Теперь давайте рассмотрим общее определение BCNF:
Схема отношений Rнаходится в BCNF тогда и только тогда, когда для каждой нетривиальной зависимости X → Y F + , X является суперключем.
Обратите внимание, что речь идет о зависимостях вF + , который является замыканием для F, другими словами, который содержит all зависимостей, содержащихся в R и полученных каким-либо образом из F. Так что еслиотношение R имеет ключ-кандидат X K , очевидно, не только X K → T, например, имеет место, но для всех надмножеств S X K мыбудет иметь то, что S → T выполняется, и поэтому определение нормальной формы должно разрешить эти зависимости.
Теперь, из общего определения BCNF, можно доказать следующееТеорема, которая каким-то образом упрощает ее (и делает эффективным тест, проверяющий, есть ли отношение в BCNF):
Теорема: схема отношений Rнаходится в BCNF тогда и только тогда, когда для каждой нетривиальной зависимости X → Y от F суперключ имеет значение X.
Видите разницу?Сейчас мы говорим о F, а не о F + .
И эта теорема имеет следующее следствие:
Следствие: схема отношений R, в котором F является каноническим покрытием , находится в BCNF тогда и только тогда, когда для каждой нетривиальной зависимости X → A от F, X является ключом-кандидатом.
Посколькузависимости в каноническом покрытии не имеют лишних атрибутов, если отношение находится в BCNF, то каждый определитель (левая часть функциональной зависимости), очевидно, является ключом-кандидатом (а не универсальным суперключом), и это объясняет разницу между определением ипримеры, которые иногда встречаются в книгах.