BCNF и 3NF

Anonim

BCNF против 3NF

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

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

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

Резюме:

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