BCNF vs 4NF (4-asis normalizavimas)
Duomenų bazių normalizavimas yra metodas, susijęs su reliacinių duomenų bazių valdymo sistemomis. Duomenų klaidų galima išvengti gerai normalizuotoje duomenų bazėje. Normalizavimas naudojamas siekiant sumažinti duomenų perteklių duomenų bazėje. Tai reiškia, kad reikia įdiegti duomenų bazių lenteles ir jų ryšius, pašalinti perteklių ir nenuoseklią priklausomybę. Yra keletas iš anksto nustatytų norminimo taisyklių. Tos taisyklės vadinamos normaliomis formomis.
Pirmoji normalioji forma vadinama lentelės atomiškumu. Lentelės atomiškumą galima pasiekti dviem etapais.
Antroje įprastoje formoje bandoma sumažinti nereikalingus duomenis lentelėje, juos ištraukus ir sudėjus į atskirą lentelę. Tai galima pasiekti atlikus šiuos veiksmus.
Norėdami perkelti duomenų bazę į trečią normalią formą, jau reikia sukurti pirmą ir antrą normalias formas. Kai duomenų bazė yra 1NF ir 2NF, nėra jokių dublikatų stulpelių ir jokių pogrupių duomenų, taikomų kelioms eilutėms. Trečią normalią formą galima pasiekti pašalinus lentelių stulpelius, kurie nėra visiškai priklausomi nuo pirminio rakto.
„Boyce-Codd“ normalioji forma (BCNF arba 3.5NF)
BCNF reiškia „„Boyce-Codd“ normali forma “. Ši normali forma taip pat žinoma kaip 3.5 normalioji duomenų bazės normalizavimo forma. Norint pasiekti BCNF, duomenų bazė turi būti jau pasiekusi trečią normalią formą. Tada reikia atlikti šiuos veiksmus siekiant BCNF.
Ketvirtoji normalioji forma
Duomenų bazė turi būti trečiosios normalios formos, prieš normalizuodama ją į ketvirtąją normaliąją formą. Jei duomenų bazė jau yra trečiosios įprastos formos, kitas žingsnis turėtų būti daugiašalių priklausomybių pašalinimas. (Jei viena ar daugiau eilučių reiškia, kad toje pačioje lentelėje yra viena ar daugiau eilučių, ji vadinama daugiareikšme priklausomybe.)
Koks skirtumas tarp BCNF ir 4NF (ketvirtoji normalioji forma)? • Duomenų bazė turi būti jau sukurta 3NF, kad ji galėtų patekti į BCNF, tačiau norint pasiekti 4NF, duomenų bazė turi būti 3NF ir BCNF.. • Ketvirtoje normalioje formoje nėra daugialypių lentelių priklausomybių, tačiau BCNF lentelėse gali būti daugialypių priklausomybių duomenų.. |