Skirtumas tarp BCNF ir 3NF

BCNF ir 3NF

„Boyce Codd“ normalioji forma (dar vadinama BCNF) yra normalioji forma - tai forma, pateikianti kriterijus lentelės pažeidžiamumo loginiams neatitikimams ir anomalijoms nustatyti. Ši įprasta forma naudojama normalizuojant duomenų bazę. Jis yra šiek tiek stipresnis nei jo pirmtakas, trečioji normalioji forma (dar žinoma kaip 3NF). Manoma, kad lentelė yra BCNF tada ir tik tada, kai kiekvienam iš jų, jei tai nėra trivialios funkcinės priklausomybės - tai yra riba, nustatoma tarp dviejų atributų aibių, paimtų iš duomenų bazės, yra superklavišas (aibė reliacinio kintamojo atributai, kurie teigia, kad visuose santykiuose, priskirtuose tam konkrečiam kintamajam, nėra dviejų aiškių eilučių, turinčių tą pačią atributų vertę tame konkrečiame rinkinyje). BCNF teigia, kad bet kuri lentelė, neatitinkanti kriterijų, kad būtų priskiriama BNCF, yra pažeidžiama dėl loginių neatitikimų.

3NF yra normali forma, kuri taip pat naudojama normalizuojant duomenų bazę. Manoma, kad lentelė yra 3NF tik tada ir tik tada, kai 1) lentelė yra antros normalios formos (arba 2NF, kuri yra pirmasis normalus kodas, arba 1NF, kuri atitiko kriterijus, norint tapti 2NF), ir 2). kiekvienas nepagrindinis lentelės atributas nėra pereinamai priklausomas nuo kiekvieno lentelės rakto (tai reiškia, kad jis nėra tiesiogiai priklausomas nuo kiekvieno rakto). Yra dar vienas 3NF postulacija, kuris taip pat naudojamas apibrėžti skirtumus tarp 3NF ir BCNF.

Šią teoremą sugalvojo Carlo Zaniolo 1982 m. Jame teigiama, kad lentelė yra 3NF tada ir tik tada, kai kiekvienai funkcinei priklausomybei, kurioje X â † 'A, turi būti bent viena iš trijų sąlygų: arba X â †' A, X yra superklas, arba A yra pagrindinis požymis (tai reiškia, kad A yra kandidato klaviše, arba minimalus to santykio superklavišas). Šis naujesnis apibrėžimas skiriasi nuo BCNF teoremos tuo, kad pastarasis modelis tiesiog pašalintų paskutinę sąlygą. Net jei ji veikia kaip naujesnė 3NF teoremos versija, egzistuoja Zaniolo teoremos išvestinė. Joje teigiama, kad X â † 'A yra ne trivialus. Jei tai tiesa, tegul A yra vidurdienio rakto atributas, taip pat tegul Y yra R raktas. Jei tai galioja, tada â † 'X. Tai reiškia, kad A nėra pereinamai priklausomas nuo Y tada ir tik tada, kai X â † 'Y (arba jei X yra super klavišas.

Santrauka:

1. BCNF yra normali forma, kurioje kiekvienos lentelės ne trivialios funkcinės priklausomybės yra superklasė; 3NF yra normali forma, kai lentelė yra 2NF, o kiekvienas neprižymus požymis nėra pereinamai priklausomas nuo kiekvieno lentelės rakto..