Разлика между BCNF и 3NF

BCNF срещу 3NF

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