Normalizacija (normalna oblika)

Submitted by oki on Pon, 03/07/2022 - 12:13

Normalizacija je formalen način, da zagotovimo, da imajo naše tabele dobro strukturo, to je, da ima vsaka tabela ustrezne atribute.

Ponovimo: podatki v bazah podatkov so zapisani v tabelah, tabele so med seboj povezane s ključi. Vsaka tabela mora imeti stolpec (polje ali atribut) za zapis primarnega ključa. Primarni ključ je enolični zapis podatkov v vrstici (zapis). Tuj ključ v tabeli je zapis primarnega kjuča druge tabele- tako podatke povežemo med seboj .

Normalizacija je postopek učinkovitega organiziranja podatkov v podatkovni bazi.

Rešuje tri probleme:

 
Problemi Neučinkovita organizacija podatkov Učinkovita organizacija podatkov
problem vstavljanja podatkov eni te isti podatke se vpisujejo večkrat podatki se vpisujejo samo enkrat
problem brisanja podatkov brisanje zapisa podatkov v eni tabeli pripelje do izbrisa podatkov v drugih tabelah brisanje podatkov v eni tabeli ne izbriše podatkov iz drugih tabel
problem posodabljanja podatkov podatke je potrebno posodobit povsod tam, kjer so zapisani posodabljanje ni oteženo, ker so podatki zapisani samo enkrat in so samo na enem mestu

Pri kreiranju tabel moramo biti pozorni:

  1. Tabela ne sme vsebovati več vrednosti za en del informacije, tako v polju kot v stolpcih tabele. Primer je tabela Avtorji, kateri smo dodajali polja za naslov knjige..., glej: http://www.kazeta.si/node/6. V tabeli Avtorji smo uporabili več atributov za vpis knjig (Naslov knjige1, Naslov knjige 2, Naslov knjige3), katere smo pripisali enemu tipu informacije- to je avtorju knjige. Primarni ključ v tabeli nam mora identificirati točno določeno informacijo. V tem primeru, nam primarni ključ Avtorja ne da en naslov knjige, temveč več naslovov.
    Tabela avtorji
    Ali lahko s primarnim ključem (ID avtorja) v zgornji tabeli pridemo do naslova samo ene knjige. Ne moremo!

  2. Tabele ne smejo vsebovati ponavljajočih podatkov drugih vsebin, predmetov ali snovi. V spodnji tabeli vidimo, da se nam ponavljajo podatki o založbi.
    Tabela knjige
    V takšnih primerih naredimo novo tabelo Založba:

Tabeli Knjige in Založba

Tip relacije 1:N.