Normalizacija vaše baze podatkov: prvi običajni obrazec

Ta dva preprosta pravila vam bodo pomagala normalizirati svojo zbirko podatkov

Prva normalna oblika (1NF) določa osnovna pravila za organizirano bazo podatkov:

Kaj pomenijo ta pravila pri razmišljanju o praktičnem oblikovanju baze podatkov? Pravzaprav je precej preprosto.

1. Odpravite podvajanje

Prvo pravilo določa, da ne smemo podvajati podatkov v isti vrstici tabele. V skupini baz podatkov je ta koncept označen kot atomičnost tabele. Tabel, ki so v skladu s tem pravilom, naj bi bile atomske. Raziščimo to načelo s klasičnim primerom: tabela v podatkovni bazi človeških virov, ki hrani razmerje manager-podrejeni. Za namene našega primera bomo uvedli poslovno pravilo, da ima vsak upravitelj eno ali več podrejenih, medtem ko ima lahko vsak podrejenec samo enega upravitelja.

Intuitivno, ko ustvarjamo seznam ali preglednico za sledenje tem informacijam, lahko ustvarimo tabelo z naslednjimi polji:

Vendar pa se spomnite prvega pravila, ki ga je uvedel 1NF: odstranite podvojene stolpce iz iste tabele. Jasno je, da so stolpci podrejene1-podrejene4 podvojeni. Vzemite si trenutek in razmislite o težavah, ki jih povzroča ta scenarij. Če ima upravitelj samo eno podrejeno, so stolpci Subordinate2-Subordinate4 preprosto zapravljeni prostor za shranjevanje (dragocena baza podatkov). Nadalje, predstavljam primer, ko ima upravitelj že 4 podrejene - kaj se zgodi, če vzame drugega zaposlenega? Celotna struktura mize bi zahtevala spremembo.

Na tej točki se ponavadi pojavi nova svetla ideja za novice baz podatkov: ne želimo imeti več stolpcev in želimo omogočiti prilagodljivo količino shranjevanja podatkov. Poskusimo nekaj takega:

In polje Podrejeni bi vsebovali več vnosov v obliki "Mary, Bill, Joe."

Ta rešitev je bližja, vendar pa tudi ne ustreza znamki. Stolpec podrejenih je še vedno duplikativen in neatomičen. Kaj se zgodi, ko moramo dodati ali odstraniti podrejenega? Prebrati in napisati celotno vsebino tabele. V tej situaciji to ni veliko, toda, kaj če bi imel en upravnik sto zaposlenih? Prav tako otežuje postopek izbiranja podatkov iz baze podatkov v prihodnjih poizvedbah.

Tukaj je tabela, ki izpolnjuje prvo pravilo 1NF:

V tem primeru ima vsak podrejeni en sam vnos, vendar lahko upravitelji vsebujejo več vnosov.

2. Določite primarni ključ

Kaj pa drugo pravilo: določite vsako vrstico z edinstvenim stolpcem ali nizom stolpcev ( primarni ključ )? Lahko si ogledate zgornjo tabelo in predlagate uporabo podrejenega stolpca kot primarnega ključa. Dejansko je podrejeni stolpec dober kandidat za primarni ključ, ker so naša poslovna pravila določila, da ima lahko vsak podrejenec samo enega upravitelja. Vendar pa podatki, ki smo jih izbrali za shranjevanje v naši tabeli, naredijo to manj kot idealno rešitev. Kaj se zgodi, če najemamo drugega zaposlenega z imenom Jim? Kako shranjujemo njegovo poslovodno-podrejeno razmerje v bazo podatkov?

Najbolje je, da uporabite resnično edinstven identifikator (kot je ID za zaposlene) kot primarni ključ . Naša zadnja tabela bo izgledala takole:

Zdaj je naša miza v prvi normalni obliki! Če želite nadaljevati učenje o normalizaciji, preberite druge članke iz te serije: