Cilj Boyce-Codd Normal Form (BCNF) je povećati integritet podataka organiziranjem stupaca i tablica relacijske baze podataka kako bi se postigla normalizacija baze podataka. Normalizacija baze podataka nastaje kada postoje uspostavljene veze između tablica i kada tablice imaju definirana pravila kako bi baza podataka bila fleksibilnija i sačuvali podatke.
Ciljevi normalizacije baze podataka su uklanjanje suvišnih podataka i osiguranje pouzdanosti podataka.
Baza podataka se normalizira kada se isti podaci ne pohranjuju u više od jedne tablice i kada su samo povezani podaci pohranjeni u tablici.
Podrijetlo normalnog oblika Boyce-Codd
Nakon niza smjernica osigurajte da su baze podataka normalizirane. Ove se smjernice nazivaju uobičajenim oblicima i broje se od jednog do pet. Relacijska baza podataka opisana je kao normalizirana ako ispunjava prva tri oblika: 1NF, 2NF i 3NF.
BCNF je nastao kao produžetak trećeg normalnog oblika, ili 3NF, 1974. Raymond Boyce i Edgar Codd. Muškarci su radili na stvaranju sheme baze podataka koje minimaliziraju viškove u cilju smanjenja računalnog vremena. Treći uobičajeni oblik uklanja stupce koji ne ovise o primarnom ključu osim što ispunjava smjernice u prvom i drugom normalnom obliku. BCNF, koji se ponekad naziva 3.5NF, ispunjava sve zahtjeve 3NF i zahtijeva da ključevi kandidata nemaju nikakvu ovisnost o drugim atributima u tablici.
U vrijeme stvaranja BCNF-a, Boyce je bio jedan od ključnih programera Strukturiranog engleskog jezika upita (SQL), koji je poboljšavao dohvaćanje podataka pomoću Coddovog relacijskog modela. U ovom modelu Codd je postavio da se strukturalna složenost baza podataka može smanjiti, što znači da bi upiti mogli biti snažniji i fleksibilniji.
Koristeći uvid u relacijske baze podataka, Codd je odredio smjernice 1NF, 2NF i 3NF. Surađivao je s Boycomom da definira BCNF.
Kandidatski ključevi i BCNF
Ključ kandidata je stupac ili kombinacija stupaca u tablici koja tvori jedinstveni ključ u bazi podataka. Kombinacija atributa može se koristiti za prepoznavanje zapisa baze podataka bez pozivanja na druge podatke. Svaka tablica može sadržavati više ključeva kandidata, od kojih se jedan može kvalificirati kao primarni ključ. Tablica sadrži samo jedan primarni ključ.
Ključni ključevi moraju biti jedinstveni.
Odnos je u BCNF ako je svaka odrednica ključ kandidata. Razmotrite tablicu baze podataka koja pohranjuje informacije o zaposlenicima i ima atribute <> >,
U ovoj tablici, polje
ID zaposlenika | Ime | Prezime | Titula |
13133 | Emily | kovač | Menadžer |
13134 | Jim | kovač | Suradnik |
13135 | Emily | Jones | Suradnik |
Ključni kandidat za ovu bazu podataka je