Нормалната форма на Boyce Codd (известна още като 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 и всеки атрибут, който не е основен, зависи непреходно от всеки ключ в таблицата.

Препратки