Andmebaaside normaliseerimine
Andmebaaside normaliseerimine on lähenemine andmebaaside projekteerimisele, mille võttis kasutusele Edgar F. Codd 1970. aastatel. Teatavad andmebaasid, mida nimetatakse relatsioonilisteks andmebaasideks, võimaldavad andmeid salvestada eraldi gruppidena. Iga rühma nimetatakse tavaliselt tabeliks. Kasuliku teabe saamiseks on need rühmad omavahel seotud. Näiteks võib õpilasi salvestada ühes rühmas ja klassid teises rühmas. Selleks, et näidata, et õpilane on klassis, luuakse "suhe" ühest rühmast teise. Õpilasel võib olla suhe paljude klassidega, millest igaühes ta on sisse kirjutatud, samas kui klassil on suhe paljude õpilastega.
Traditsiooniline alternatiiv on "lamefaili andmebaas", kus kõik andmed on rühmitatud kokku nagu tabelis. Probleem lamefaili andmebaaside puhul on see, et neis võib olla palju tühikuid ja iga kirje puhul tuleb palju teavet korrata. See tähendab, et andmebaas on suurem, kui ta peaks olema, ja see muudab tõenäolisemaks, et andmebaas sisaldab vigu. Relatsioonilised andmebaasid, mis jagavad andmed rühmadesse, vähendavad vigade tekkimise võimalust ja ei võta rohkem ruumi kui vaja. Kuid selleks, et see toimiks, peab see olema hästi kavandatud.
Andmebaaside normaliseerimine on meetod heade relatsiooniliste andmebaaside kujundamiseks. On olemas mitu "normaalvormi", millest igaühel on reeglid, millele andmebaas peaks vastama. Codd määratles algselt kolm kriteeriumide kogumit, millele erinevad andmebaasid peavad vastama: esimene, teine ja kolmas normaalvorm.
Kui seos (või "andmebaasi tabel") vastab teatavale normaalvormile, ei ole see haavatav teatud muudatuste suhtes, mis mõjutavad andmete terviklikkust. Sellele kriteeriumile vastavuse puuduseks on tavaliselt see, et teatud andmete päring andmebaasist muutub keerulisemaks.
Küsimused ja vastused
K: Mis on andmebaaside normaliseerimine?
V: Andmebaaside normaliseerimine on lähenemisviis andmebaaside projekteerimisele, mille võttis 1970. aastatel kasutusele Edgar F. Codd. See hõlmab andmete jagamist eraldi gruppidesse, mida nimetatakse tabeliteks, ja nende vaheliste seoste loomist, et anda kasulikku teavet.
K: Mis on lamefaili andmebaas?
V: Lamefaili andmebaas on andmebaas, kus kõik andmed on rühmitatud kokku nagu arvutustabelis. See võib põhjustada palju tühikuid ja korduvat teavet, mis muudab vigade tekkimise tõenäolisemaks.
K: Kuidas vähendavad relatsioonilised andmebaasid vigade tekkimise võimalust?
V: Relatsioonilised andmebaasid jagavad andmed rühmadesse, vähendades vigade tekkimise võimalust ja vältides ruumi hõivamist rohkem kui vaja.
K: Mis on normaalvormid?
V: Normaalvormid on kriteeriumid, millele erinevad andmebaasid peavad vastama, et nad oleksid hästi kavandatud relatsioonilised andmebaasid. On olemas mitu "normaalvormi", millest igaühel on oma reeglistik, millele andmebaas peaks vastama.
K: Millised on teatud kriteeriumikogumite täitmisega seotud puudused normaalvormide puhul?
V: Sellistele kriteeriumide kogumile vastavuse puuduseks on tavaliselt see, et teatud andmete päring andmebaasist muutub keerulisemaks.