Pitäisikö minun normalisoida tietokantaani?

Normalisointi todellisessa maailmassa

Tietokannan normalisointi on yksi sovellusten kehittämisen pyhistä lehmistä. Jokainen suorittamasi peruskurssi, jonka olet lukenut tai olet lukenut, ennustaa säännöllisesti, että tietokannat normalisoidaan .

On aika haastaa tämä ajattelu. Joskus on OK irrottaa tietokannasi!

Milloin sinun pitäisi normalisoida?

Tietokannan normalisointi suojaa tietosi eheyttä. Se on hyvä idea monissa tapauksissa, ja sinun pitäisi aloittaa minkä tahansa tietokannan suunnittelun pyrkimys normalisoinnin mielessä. Jos voit normalisoida tietokannasi, mene siihen! Itse asiassa tässä on joitain käytännön ohjeita siitä, miten tietokantaasi voidaan normalisoida tällä sivustolla:

Tärkeintä on, että sinun pitäisi normalisoida tietokantaasi, ellei sinulla ole todella hyvää syytä olla tekemättä. Normalisointi on tavallisesti äänisuunnittelukäytäntö. Se vähentää tarpeetonta tietoa, optimoi suorituskykyä ja pienentää todennäköisyyttä, että sinulla on tietoturvakysymyksiä, jotka johtuvat siitä, että samat tiedot säilytetään tietokannan eri kulmissa.

Joitakin hyviä syitä ei normalisoida

Sanotaan, että on olemassa hyviä syitä olla tietokannan normalisoimiseksi. Katsotaan muutamia:

  1. Liittymät ovat kalliita . Tietokannan normalisointiin liittyy usein paljon taulukoita. Itse asiassa voit helposti päätyä siihen, minkä mielestäsi pitäisi olla yksinkertainen kysely, joka kattaa viisi tai 10 taulukkoa. Jos olet yrittänyt tehdä viiden pöydän liittymän, tiedät, että se toimii periaatteessa, mutta se on käytännössä hidasta. Jos rakennat verkkosovellusta, joka perustuu useisiin liittyviin kyselyihin suuria pöytiä vastaan, saatat löytää itsesi ajattelemaan, "Jos vain tätä tietokantaa ei normalisoitu!" Kun kuulet tämän ajatuksen päässänne, on hyvä aika harkitse denormalisointia. Jos pystyt tarttumaan kaikkiin kyselyn käyttämiin tietoihin yhdeksi taulukoksi vaarantamatta tietosi eheyttä, mene siihen! Ole kapinallinen ja hylkää tietokantaasi. Et katso takaisin!
  2. Normalisoidut mallit ovat vaikeita . Jos työskentelet monimutkaisen tietokantamallin avulla, luultavasti löytää itsesi pudottamalla päänsi pöydälle normaalin monimutkaisuuden vuoksi. Yksinkertaisena peukalosääntönä, jos vietät koko päivän yrittää selvittää, miten siirryt neljänteen tavalliseen muotoon, saatat joutua liian pitkälle normalisoimaan. Astu takaisin ja kysy itseltäsi, jos se kannattaa jatkaa.
  1. Nopea ja likainen pitäisi olla nopea ja likainen . Jos kehität prototyyppiä, tee vain mikä toimii nopeasti. Todella. Se on okei. Nopea sovellusten kehittäminen on joskus tärkeämpää kuin tyylikäs muotoilu. Muista vain palata ja katsoa suunnittelusi huolellisesti, kun olet valmis siirtymään prototyyppivaiheen ulkopuolelle. Hinta, jonka maksat nopeasta ja likainen tietokannasta, on, että saatat joutua heittämään sen ja aloittamaan sen alusta, kun on aika rakentaa tuotantoon.
  2. Jos käytät NoSQL-tietokantaa , perinteinen normalisointi ei ole toivottavaa. Sen sijaan suunnittele tietokanta BASE- mallilla, joka on paljon anteeksiantava. Tämä on hyödyllistä, kun tallennat rakenteettomia tietoja, kuten sähköpostiviestejä, kuvia tai videoita.

Jotkut varoituksen sanat

Tietokannan normalisointi on yleensä hyvä idea. Sinun pitäisi yrittää noudattaa normalisoinnin periaatteita, kun se tuntuu kohtuulliselta. Mutta jos kaikki indikaattorit osoittavat, että normalisointi on liian monimutkaista toteutettavaksi, harkitse lähestymistapaa, joka saa työn, mutta suojaa tietojasi.

Lopuksi - jos päätät häivyttää normaalin toiminnan säännöt, ole varovainen siitä, miten noudatat tietokannan eheyttä. Jos tallennat tarpeettomia tietoja, aseta laukaisimet ja muut hallintalaitteet varmistaaksesi, että tiedot pysyvät yhdenmukaisina.