Skip to main content

Kas yra Boyce-Codd normalioji forma (BCNF)?

Anonim

Boyce-Codd normalaus formos (BCNF) tikslas - padidinti duomenų vientisumą, organizuojant reliacinės duomenų bazės stulpelius ir lenteles, kad būtų galima pasiekti duomenų bazės normalizavimą. Duomenų bazės normalizavimas įvyksta tada, kai nustatomi santykiai tarp lentelių ir kai lentelėse nustatytos taisyklės, kuriomis siekiama, kad duomenų bazė būtų lankstesnė ir išsaugotų duomenis.

Duomenų bazės normalizavimo tikslai - pašalinti nereikalingus duomenis ir užtikrinti duomenų priklausomybę.

Duomenų bazė normalizuojama, kai tie patys duomenys nėra saugomi daugiau nei vienoje lentelėje ir kai tik susiję duomenys saugomi lentelėje.

Boyce-Codd normos forma

Vadovaujantis gairėmis, užtikrinama, kad duomenų bazės būtų normalizuotos. Šios gairės vadinamos įprastomis formomis ir yra sunumeruoti nuo vieno iki penkių. Reliacinė duomenų bazė yra apibūdinama kaip normalizuota, jei ji atitinka pirmąsias tris formas: 1NF, 2NF ir 3NF.

BCNF buvo sukurtas kaip trečios normos formos pratęsimas, arba 3NF, 1974 m. Raymondo Boyce ir Edgaro Codd. Vyrai dirbo kuriant duomenų bazių schemas, kurios minimalizuotų atleidimą iš darbo, siekiant sumažinti skaičiavimo laiką. Trečioji normalioji forma pašalina stulpelius, kurie nepriklauso nuo pirminio raktinio žodžio, be to, kad jie atitiktų pirmosios ir antrosios įprastų formų gaires. BCNF, kuris kartais vadinamas 3.5NF, atitinka visus 3NF reikalavimus ir reikalauja, kad kandidatų raktai nebūtų priklausomi nuo kitų lentelėje esančių požymių.

BCNF sukūrimo metu Boyce buvo vienas iš pagrindinių struktūrizuotų anglų kalbos užklausų kalbos (SQL) kūrėjų, kurie pagerino duomenų paiešką naudojant "Codd" reliacinį modelį. Šiame modelyje Codd teigė, kad gali būti sumažintas struktūrinis duomenų bazių sudėtingumas, o tai reiškia, kad užklausos gali būti didesnės ir lankstesnės.

Naudodamasis savo reliacinės duomenų bazės įžvalgomis, "Codd" apibrėžė 1NF, 2NF ir 3NF gaires. Jis bendradarbiavo su Boyce, norėdamas apibrėžti BCNF.

Kandidatiniai klavišai ir BCNF

Kandidatinis raktas yra lentelės stulpelis arba derinys, kuris sudaro unikalų raktą duomenų bazėje. Atributų derinys gali būti naudojamas duomenų bazės įrašui identifikuoti nenurodant jokio kito duomenų. Kiekvienoje lentelėje gali būti keli klavišai kandidatų, bet kuris iš jų gali būti pagrindinis raktas. Lentelėje yra tik vienas pirminis raktas.

Kandidatūros raktas turi būti unikalus.

Santykis yra BCNF, jei kiekvienas determinantas yra kandidato raktas. Apsvarstykite duomenų bazės lentelę, kurioje saugoma informacija apie darbuotojus ir turi atributus <> >, , , ir .

Šioje lentelėje laukas nustato Pirmas vardas ir pavardė . Panašiai ir tuple ( , ) nustato .

Darbuotojo IDPirmas vardasPavardėPavadinimas
13133EmilyKalvisVadybininkas
13134DžimasKalvisBendradarbis
13135EmilyJonesasBendradarbis

Šios duomenų bazės kandidato raktas yra nes tai vienintelė vertė, kurios negalima naudoti kitoje eilutėje.