Mis on Boyce-Coddi normaalvorm (BCNF)?
Boyce-Coddi normaalvormi eesmärk on suurendada andmete terviklikkus korraldades relatsiooniandmebaasi veerge ja tabeleid, et saavutada andmebaasi normaliseerimine. Andmebaasi normaliseerimine tekib siis, kui tabelite vahel on loodud seosed ja kui tabelites on määratletud reeglid andmebaasi paindlikumaks muutmiseks ja andmete säilitamiseks.
Andmebaasi normaliseerimise eesmärk on kõrvaldada üleliigsed andmed ja tagada andmete sõltuvuste mõte. Andmebaas normaliseeritakse, kui samu andmeid ei salvestata rohkem kui ühte tabelisse ja ainult siis seotud andmed on salvestatud tabelisse.
Boyce-Coddi normaalvormi päritolu
Juhiste seeria järgimine tagab andmebaaside normaliseerimise. Neid juhiseid nimetatakse normaalsed vormid ja on nummerdatud ühest viieni. Relatsiooniandmebaasi kirjeldatakse kui normaliseeritud kui see vastab kolmele esimesele vormile: 1NF, 2NF ja 3NF.
BCNF-i lõid 1974. aastal kolmanda tavavormi ehk 3NF laiendusena Raymond Boyce ja Edgar Codd. Mehed töötasid selle nimel, et luua andmebaasiskeeme, mis vähendaksid koondamist eesmärgiga vähendada arvutusaega. Kolmas tavavorm eemaldab lisaks esimese ja teise tavavormi juhistele ka veerud, mis ei sõltu primaarvõtmest. BCNF, mida mõnikord nimetatakse 3.5NF-ks, vastab kõigile 3NF-i nõuetele ja nõuab, et kandidaatvõtmed ei sõltuks tabeli muudest atribuutidest.
BCNF-i loomise ajal oli Boyce üks peamisi struktureeritud inglise keele päringukeele arendajaid, mis hiljem standardiseeriti SQL-ina, mis parandas andmete otsimist Coddi relatsioonimudeli abil. Selles mudelis väitis Codd, et andmebaaside struktuurilist keerukust saab vähendada, mis tähendas, et päringud võivad olla võimsamad ja paindlikumad.
Kasutades oma relatsiooniandmebaasi teadmisi, määratles Codd juhised 1NF, 2NF ja 3NF. Ta tegi koostööd Boyce'iga, et määratleda BCNF.
Kandidaadi võtmed ja BCNF
A kandidaadi võti on tabeli veerg või veergude kombinatsioon, mis moodustab andmebaasis ainulaadse võtme. Atribuutide kombinatsioon identifitseerib andmebaasikirje ilma muudele andmetele viitamata. Iga tabel võib sisaldada mitut kandidaatvõtit, millest igaüks võib kvalifitseeruda primaarvõtmeks. Tabel sisaldab ainult ühte primaarvõtit.
Kandidaadi võtmed peavad olema kordumatud.
Seos on BCNF-is, kui iga determinant on kandidaatvõti. Kaaluge andmebaasi tabelit, mis salvestab töötajate teavet ja millel on atribuudid >,, , ja
Selles tabelis määrab väli
Töötaja ID | Eesnimi | Viimane id="mntl-sc-block_1-0-25"> Selle andmebaasi kandidaatvõti on sellepärast, et see on ainus väärtus, mida ei saa kasutada mõni teine rida. KKK
|