Tietokannan normalisoinnin perusteet

Tietokannan normalisointi

Jos olet työskennellyt tietokantojen kanssa jonkin aikaa, olette kuullut termin normalisoinnin. Ehkä joku kysyi sinulta "Onko tietokanta normalisoitu?" tai "Onko se BCNF: ssä ?" Normalisointia harjaantuu usein ylellisyydeksi, jonka vain tutkijoilla on aikaa. Tietäen kuitenkin, että periaatteet normalisoida ja soveltaa niitä päivittäisessä tietokannan suunnittelutehtävissä ei todellakaan ole niin monimutkaisia ​​ja se voisi merkittävästi parantaa DBMS: n suorituskykyä.

Tässä artikkelissa esitellään normalisoinnin käsite ja tarkastellaan lyhyesti tavallisimpia tavallisia muotoja.

Mikä on normalisointi?

Normalisointi on prosessi, jolla tietokannan tietoja järjestetään tehokkaasti. Normalisointiprosessin kaksi päämäärää: eliminoimalla tarpeettomia tietoja (esimerkiksi tallentamalla samat tiedot useammalle kuin yhdelle taulukolle) ja varmistamalla, että datayhteydet ovat järkeviä (vain tallennetaan vastaavat tiedot taulukkoon). Molemmat ovat arvokkaita tavoitteita, koska ne vähentävät tietokannan tilan määrää ja varmistavat tietojen loogisen tallennuksen.

Normaalit lomakkeet

Tietokantayhteisö on kehittänyt useita suuntaviivoja tietokantojen normalisoitumisen varmistamiseksi. Näitä kutsutaan tavallisiksi muodoiksi ja ne on numeroitu yhdestä (alhaisin normalisointimuoto, jota kutsutaan ensimmäiseksi normaaliksi muodoksi tai 1 NF) viiden (viidennen normaalin muodon tai 5 NF: n) kautta. Käytännön sovelluksissa näet usein 1NF, 2NF ja 3NF sekä satunnainen 4NF. Viides normaali muoto on hyvin harvoin nähtävissä, eikä sitä käsitellä tässä artikkelissa.

Ennen kuin aloitamme keskustelun normaaleista muodoista, on tärkeää huomata, että ne ovat vain suuntaviivoja ja ohjeita. Joskus on välttämätöntä ohjata heitä vastaamaan käytännön liiketoiminnan vaatimuksiin. Kuitenkin, kun muutokset tapahtuvat, on äärimmäisen tärkeää arvioida mahdollisia haavoittuvuuksia, joita heillä voisi olla järjestelmäänne ja mahdolliset epäjohdonmukaisuudet. Sanotaan, tutkia tavallisia muotoja.

Ensimmäinen normaali muoto (1NF)

Ensimmäinen normaali muoto (1NF) asettaa hyvin perussäännöt järjestettyyn tietokantaan:

Toinen normaali muoto (2NF)

Toinen normaalimuoto (2NF) käsittelee lisäksi päällekkäisten tietojen poistamisen käsitettä:

Kolmas normaali lomake (3NF)

Kolmas normaali muoto (3NF) menee yksi iso askel edelleen:

Boyce-Codd-normaalimuoto (BCNF tai 3.5NF)

Boyce-Codd Normal Form, jota kutsutaan myös "kolmanneksi ja puoliksi (3.5) normaaliksi lomakkeeksi", lisää vielä yhden vaatimuksen:

Neljäs normaali lomake (4NF)

Lopuksi neljäs normaalimuoto (4NF) on yksi lisävaatimus:

Muista, että nämä normalisointiohjeet ovat kumulatiivisia. Jos tietokanta on 2NF, sen on ensin täytettävä kaikki 1NF-tietokannan kriteerit.

Pitäisikö minun normalisoida?

Vaikka tietokannan normalisointi on usein hyvä idea, se ei ole ehdoton edellytys. Itse asiassa on joitain tapauksia, joissa normaalistamisen sääntöjen rikkominen tahallaan on hyvää käytäntöä. Lisätietoja tästä aiheesta, lue minun pitäisi normalisoida tietokantaani?

Jos haluat varmistaa tietokannan normalisoinnin, aloita oppimalla tietokannan sijoittaminen ensimmäiseksi tavalliseksi lomakkeeksi .