logo

Normalisointi

Suuri tietokanta, joka on määritelty yhdeksi suhteeksi, voi johtaa tietojen päällekkäisyyteen. Tämä tietojen toistaminen voi johtaa:

  • Suhteiden tekeminen erittäin suuriksi.
  • Tietojen ylläpito ja päivittäminen ei ole helppoa, koska se vaatisi useiden tietueiden etsimistä suhteessa.
  • Levytilan ja resurssien hukkaa ja huono käyttö.
  • Virheiden ja epäjohdonmukaisuuksien todennäköisyys kasvaa.

Joten näiden ongelmien käsittelemiseksi meidän pitäisi analysoida ja hajottaa suhteet redundanttisella tiedolla pienemmiksi, yksinkertaisemmiksi ja hyvin jäsennellyiksi suhteiksi, jotka täyttävät toivotut ominaisuudet. Normalisointi on prosessi, jossa suhteet hajotetaan suhteiksi, joilla on vähemmän attribuutteja.

merkkijonon muuntaminen json-objektiksi

Mitä on normalisointi?

  • Normalisointi on prosessi, jossa tiedot järjestetään tietokannassa.
  • Normalisointia käytetään minimoimaan relaatiosta tai relaatiojoukosta johtuva redundanssi. Sitä käytetään myös poistamaan ei-toivottuja ominaisuuksia, kuten lisäys-, päivitys- ja poistovirheitä.
  • Normalisointi jakaa suuremman taulukon pienempiin ja linkittää ne suhteiden avulla.
  • Normaalia muotoa käytetään vähentämään tietokantataulukon redundanssia.

Miksi tarvitsemme normalisointia?

Pääsyy suhteiden normalisointiin on näiden poikkeavuuksien poistaminen. Poikkeavuuksien poistaminen johtaa tietojen redundanssiin ja voi aiheuttaa tietojen eheyden ja muita ongelmia tietokannan kasvaessa. Normalisointi koostuu joukosta ohjeita, jotka auttavat sinua luomaan hyvän tietokantarakenteen.

java int char

Tietojen muutospoikkeamat voidaan luokitella kolmeen tyyppiin:

    Asennuspoikkeama:Lisäyspoikkeama viittaa siihen, kun uutta monikkoa ei voida lisätä suhteeseen tiedon puutteen vuoksi.Poistopoikkeama:Poistopoikkeama viittaa tilanteeseen, jossa tietojen poistaminen johtaa joidenkin muiden tärkeiden tietojen tahattomaan katoamiseen.Päivityspoikkeama:Päivityspoikkeama on, kun yksittäisen tietoarvon päivitys edellyttää useiden tietorivien päivittämistä.

Normaalimuotojen tyypit:

Normalisointi toimii sarjan vaiheiden kautta, joita kutsutaan normaalimuodoiksi. Normaalit muodot koskevat yksilöllisiä suhteita. Suhteen sanotaan olevan erityisen normaalimuotoinen, jos se täyttää rajoitukset.

Seuraavassa on erityyppisiä normaalimuotoja:

DBMS:n normalisointi
Normaali muoto Kuvaus
1NF Relaatio on 1NF:ssä, jos se sisältää atomiarvon.
2NF Relaatio on 2NF:ssä, jos se on 1NF:ssä ja kaikki ei-avainattribuutit toimivat täysin ensisijaisesta avaimesta riippuen.
3NF Relaatio on 3NF:ssä, jos se on 2NF:ssä eikä siirtymäriippuvuutta ole olemassa.
BCNF 3NF:n vahvempi määritelmä tunnetaan Boyce Coddin normaalimuotona.
4NF Relaatio on 4NF:ssä, jos se on Boyce Coddin normaalimuodossa eikä sillä ole moniarvoista riippuvuutta.
5NF Suhde on 5NF:ssä. Jos se on 4NF:ssä eikä sisällä liitosriippuvuutta, liitoksen tulee olla häviötöntä.

Normalisoinnin edut

  • Normalisointi auttaa minimoimaan tietojen redundanssin.
  • Suurempi yleinen tietokantaorganisaatio.
  • Tietojen yhtenäisyys tietokannassa.
  • Paljon joustavampi tietokantasuunnittelu.
  • Vahvistaa suhteen eheyden käsitettä.

Normalisoinnin haitat

  • Et voi aloittaa tietokannan rakentamista ennen kuin tiedät, mitä käyttäjä tarvitsee.
  • Suorituskyky heikkenee normalisoitaessa suhteita korkeampiin normaalimuotoihin, eli 4NF, 5NF.
  • On erittäin aikaa vievää ja vaikeaa normalisoida suhteita korkeammalla tasolla.
  • Huolimaton hajottaminen voi johtaa huonoon tietokannan suunnitteluun, mikä johtaa vakaviin ongelmiin.