Normaliziranje vaše baze podataka: prvi standardni oblik

Ta dva jednostavna pravila pomoći će normalizaciji baze podataka

Prvi normalni obrazac (1NF) postavlja osnovna pravila za organiziranu bazu podataka:

Što ova pravila znače prilikom razmatranja praktičnog dizajna baze podataka? Zapravo je vrlo jednostavno.

1. Eliminirajte umnožavanje

Prvo pravilo diktira da ne smijemo duplicirati podatke unutar istog retka tablice. Unutar zajednice baze podataka, ovaj koncept se naziva atomicitet tablice. Tablice koje se pridržavaju ovog pravila navode se kao atomske. Pogledajmo ovo načelo klasičnim primjerom: tablicom unutar baze podataka o ljudskim resursima koja pohranjuje odnos upravitelja i podređenog. U svrhu našeg primjera, nametat ćemo pravilo poslovanja da svaki upravitelj može imati jednog ili više podređenih dok svaki podređeni može imati samo jednog upravitelja.

Intuitivno, prilikom izrade popisa ili proračunske tablice za praćenje tih informacija možemo izraditi tablicu sa sljedećim poljima:

Međutim, podsjetite se na prvo pravilo koje je nametnula 1NF: izbrišite duplicirane stupce iz iste tablice. Jasno je da su stupci Podređeni1-Podređeni4 duplicirani. Odvojite trenutak i razmislite o problemima koje je postavio ovaj scenarij. Ako upravitelj ima samo jedan podređeni, stupci Podređeni2-Podređeni4 jednostavno su istrošeni prostor za pohranu (dragocjena robna baza podataka). Nadalje, zamislite slučaj gdje menadžer već ima 4 podređenih - što se događa ako preuzme drugog zaposlenika? Cijela struktura tablice zahtijevala bi izmjenu.

U ovom trenutku, druga sjajna ideja obično se javlja novozima baze podataka: Ne želimo imati više od jednog stupca i želimo dopustiti fleksibilnu količinu pohrane podataka. Pokušajmo nešto ovako:

Polje Podređeni sadržavat će više unosa u obliku "Mary, Bill, Joe".

Ovo rješenje je bliže, ali također nedostaje oznaka. Stupac podređenih je još uvijek dupliciran i ne-atomska. Što se događa kada trebamo dodati ili ukloniti podređenog? Moramo čitati i napisati cijeli sadržaj tablice. To nije velika stvar u ovoj situaciji, ali što ako jedan menadžer ima stotinu zaposlenika? Također, komplicira proces odabira podataka iz baze podataka u budućim upitima.

Evo tablice koja zadovoljava prvo pravilo 1NF:

U tom slučaju, svaki podređeni ima jedan unos, ali upravitelji mogu imati više unosa.

2. Utvrdite primarni ključ

Sada, što je s drugom pravilom: prepoznati svaki redak s jedinstvenim stupcem ili skupom stupaca ( primarnom ključu )? Možete pogledati gornju tablicu i predložiti upotrebu podređenog stupca kao primarnog ključa. Zapravo, podređeni stupac dobar je kandidat za primarnu ključnu činjenicu zbog činjenice da su naša poslovna pravila naznačila da svaki podređeni može imati samo jednog upravitelja. Međutim, podaci koje smo odabrali za pohranu u našu tablicu čine to manje od idealnog rješenja. Što se događa ako zaposli drugog zaposlenika po imenu Jim? Kako pohraniti njegov upraviteljski podređeni odnos u bazu podataka?

Najbolje je upotrijebiti doista jedinstvenog identifikatora (kao što je ID zaposlenika) kao primarnog ključa . Naš konačni stol bi izgledao ovako:

Sada, naš stol je u prvom normalnom obliku! Ako želite nastaviti učiti o normalizaciji, pročitajte ostale članke u ovoj seriji: