double arrow

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

Однако 3НФ также может иметь недостатки, связанные с ключевыми атрибутами. В приведенном выше примере полученная 3НФ не вызывает аномалий при обработке данных, так как в результирующих декомпозиционных подсхемах отсутствуют зависимости одних ключевых атрибутов от других ключевых атрибутов. Если это условие нарушается (это бывает при составных ключах), то возможны аномалии обработки данных. Например, отношение R = ABC с множеством функциональных зависимостей

F = {AC ® B, B ® C} содержит два возможных первичных ключа K1 = AB и K2 = AC, так как AB+ = ABC и AC+ = ABC, но A+ = A ABC, B+ = BC ABC, C+ = C ABC. Таким образом, все атрибуты схемы R являются ключевыми, и по определению третьей нормальной формы отношение R находится в 3НФ. Но в нем имеются зависимости между ключевыми атрибутами, что может привести к аномалиям обработки. Так, определить пару атрибутов BC можно только тогда, когда определен атрибут A. На практике для разрешения коллизий в этом случае поддерживают еще и отношение BC.

Дейт [2] указал следующие условия, для которых данное Коддом определение третьей нормальной формы является не всегда корректным:

- отношение имеет два или более потенциальных (альтернативных, возможных) ключа;

- два потенциальных ключа являются составными;

- потенциальные ключи имеют хотя бы один общий атрибут.

Поэтому определение Кодда впоследствии было заменено более строгим определением Бойса – Кодда [6].

Отношение R с множеством зависимостей F находится в НФБК, если левая часть каждой зависимости (X ® A) Î F, где A Ï X, есть первичный или возможный (потенциальный, альтернативный) первичный ключ.

Например, отношение R = ABCD с множеством функциональных зависимостей

F = {AB ® C, AB ® D, BC ® A} находится в НФБК, так как AB и BC - ключи

(AB+ = ABCD и BC+ = BCAD).

Можно строго доказать [4], [1], что отношение, находящееся в НФБК, находится и в 3НФ. Обратное утверждение в общем случае неверно. Так, отношение R = ABC с множеством зависимостей F = {AC ® B, B ® C} находится в 3НФ, но не в НФБК, так как атрибут B не является ключом, а отношения R11, R12 и R2, полученные в предыдущих разделах, находятся не только в третьей нормальной форме, но и в нормальной форме Бойса-Кодда.

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


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



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