Різниця між 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 нетривіально. Якщо це правда, нехай А є атрибутом ключового полудня, а також нехай Y є ключем R. Якщо це справедливо, то Y â † X. Це означає, що A не є транзитивно залежним від Y тоді і лише тоді, коли X â † 'Y (або якщо X - це суперлюдина.

Підсумок:

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