logo

Normalisering

En stor database definert som en enkelt relasjon kan resultere i dataduplisering. Denne gjentakelsen av data kan resultere i:

  • Gjør relasjonene veldig store.
  • Det er ikke lett å vedlikeholde og oppdatere data da det vil innebære å søke i mange poster i forhold.
  • Sløsing og dårlig utnyttelse av diskplass og ressurser.
  • Sannsynligheten for feil og inkonsekvenser øker.

Så for å håndtere disse problemene, bør vi analysere og dekomponere relasjonene med redundante data til mindre, enklere og velstrukturerte relasjoner som tilfredsstiller ønskelige egenskaper. Normalisering er en prosess for å dekomponere relasjonene til relasjoner med færre attributter.

Hva er normalisering?

  • Normalisering er prosessen med å organisere dataene i databasen.
  • Normalisering brukes til å minimere redundansen fra en relasjon eller et sett med relasjoner. Den brukes også til å eliminere uønskede egenskaper som innsettings-, oppdaterings- og slettingsanomalier.
  • Normalisering deler den større tabellen i mindre og kobler dem ved hjelp av relasjoner.
  • Normalformen brukes for å redusere redundans fra databasetabellen.

Hvorfor trenger vi normalisering?

Hovedårsaken til å normalisere relasjonene er å fjerne disse anomaliene. Unnlatelse av å eliminere anomalier fører til dataredundans og kan forårsake dataintegritet og andre problemer etter hvert som databasen vokser. Normalisering består av en rekke retningslinjer som hjelper deg med å lage en god databasestruktur.

Datamodifikasjonsavvik kan kategoriseres i tre typer:

    Anomali ved innsetting:Insertion Anomaly refererer til når man ikke kan sette inn en ny tuppel i et forhold på grunn av mangel på data.Slettingsavvik:Slettingsavviket refererer til situasjonen der sletting av data resulterer i utilsiktet tap av andre viktige data.Oppdateringsavvik:Oppdateringsavviket er når en oppdatering av en enkelt dataverdi krever at flere rader med data oppdateres.

Typer normale former:

Normalisering fungerer gjennom en rekke stadier som kalles normale former. Normalformene gjelder for individuelle relasjoner. Relasjonen sies å være i særlig normal form hvis den tilfredsstiller begrensninger.

Følgende er de forskjellige typene normale former:

DBMS-normalisering
Normal form Beskrivelse
1NF En relasjon er i 1NF hvis den inneholder en atomverdi.
2NF En relasjon vil være i 2NF hvis den er i 1NF og alle ikke-nøkkelattributter er fullt funksjonelle avhengige av primærnøkkelen.
3NF En relasjon vil være i 3NF hvis den er i 2NF og ingen overgangsavhengighet eksisterer.
BCNF En sterkere definisjon av 3NF er kjent som Boyce Codds normale form.
4NF En relasjon vil være i 4NF hvis den er i Boyce Codds normale form og ikke har noen avhengighet med flere verdier.
5NF En relasjon er i 5NF. Hvis den er i 4NF og ikke inneholder noen join-avhengighet, bør joining være tapsfri.

Fordeler med normalisering

  • Normalisering bidrar til å minimere dataredundans.
  • Større samlet databaseorganisasjon.
  • Datakonsistens i databasen.
  • Mye mer fleksibel databasedesign.
  • Håndhever begrepet relasjonell integritet.

Ulemper med normalisering

  • Du kan ikke begynne å bygge databasen før du vet hva brukeren trenger.
  • Ytelsen forringes ved normalisering av relasjonene til høyere normalformer, dvs. 4NF, 5NF.
  • Det er svært tidkrevende og vanskelig å normalisere relasjoner av høyere grad.
  • Uforsiktig dekomponering kan føre til dårlig databasedesign, noe som kan føre til alvorlige problemer.