Разница между BCNF и 3NF

BCNF против 3NF

Нормальная форма Бойса-Кодда (также известная как BCNF) - это нормальная форма, то есть форма, которая предоставляет критерии для определения степени уязвимости таблицы к логическим несоответствиям и аномалиям. Эта нормальная форма используется при нормализации базы данных. Это немного сильнее, чем его предшественник, третья нормальная форма (также известный как 3NF). Считается, что таблица находится в BCNF тогда и только тогда, когда для каждого из ее нетривиальных функциональных зависимостей - это граница, которая устанавливается между двумя наборами атрибутов в отношении, взятом из базы данных, - это суперключ (набор атрибуты реляционной переменной, которая постулирует, что во всех отношениях, назначенных этой конкретной переменной, нет двух отдельных строк, содержащих одинаковое значение для атрибутов в этом конкретном наборе). BCNF постулирует, что любая таблица, которая не соответствует критериям, которые должны быть отнесены к BNCF, уязвима для логических несоответствий.

3NF - это нормальная форма, которая также используется для нормализации базы данных. Предполагается, что таблица находится в 3NF, если и только если 1) таблица находится во второй нормальной форме (или 2NF, которая является первым нормальным кодом, или 1NF, которая удовлетворяет критериям для превращения в 2NF), и 2) каждый непростой атрибут таблицы не транзитивно зависит от каждого ключа таблицы (то есть он не зависит напрямую от каждого ключа). Существует еще один постулат 3NF, который также используется для определения различий между 3NF и BCNF..

Эта теорема была задумана Карло Заниоло в 1982 году. В ней говорится, что таблица находится в 3NF тогда и только тогда, когда для каждой функциональной зависимости, где X â A, должно выполняться хотя бы одно из трех условий: либо X â † A, X является суперключем, или A является основным атрибутом (что означает, что A содержится в ключе-кандидате или минимальный суперключ для этого отношения). Это более новое определение отличается от теоремы BCNF тем, что последняя модель просто устранит последнее условие. Даже несмотря на то, что он действует как более новая версия теоремы 3NF, существует теорема Заниоло. Оно утверждает, что X â † 'A нетривиально. Если это так, пусть A будет атрибутом полуденного ключа, а также Y будет ключом R. Если это так, то Y â † 'X. Это означает, что A не является транзитивно зависимой от Y тогда и только тогда, когда X † † 'Y (или если X суперключ.

Резюме:

1. BCNF - это нормальная форма, в которой для каждой из нетривиальных функциональных зависимостей таблицы используется суперключ; 3NF - это нормальная форма, в которой таблица находится в 2NF, и каждый непростой атрибут не транзитивно зависит от каждого ключа в таблице.