logo

Normalisering

En stor databas definierad som en enda relation kan resultera i dataduplicering. Denna upprepning av data kan resultera i:

  • Gör relationerna mycket stora.
  • Det är inte lätt att underhålla och uppdatera data eftersom det skulle innebära att man söker igenom många poster i relation.
  • Slöseri och dåligt utnyttjande av diskutrymme och resurser.
  • Sannolikheten för fel och inkonsekvenser ökar.

Så för att hantera dessa problem bör vi analysera och dekomponera relationerna med redundant data till mindre, enklare och välstrukturerade relationer som uppfyller önskvärda egenskaper. Normalisering är en process för att bryta ner relationerna till relationer med färre attribut.

Vad är normalisering?

  • Normalisering är processen att organisera data i databasen.
  • Normalisering används för att minimera redundansen från en relation eller en uppsättning relationer. Det används också för att eliminera oönskade egenskaper som insättnings-, uppdaterings- och raderingsavvikelser.
  • Normalisering delar upp den större tabellen i mindre och länkar dem med hjälp av relationer.
  • Den normala formen används för att minska redundans från databastabellen.

Varför behöver vi normalisering?

Det främsta skälet till att normalisera relationerna är att ta bort dessa anomalier. Underlåtenhet att eliminera anomalier leder till dataredundans och kan orsaka dataintegritet och andra problem när databasen växer. Normalisering består av en rad riktlinjer som hjälper dig att skapa en bra databasstruktur.

Datamodifieringsavvikelser kan kategoriseras i tre typer:

lägga till strängar java
    Insättningsavvikelse:Insättningsanomali hänvisar till när man inte kan infoga en ny tupel i ett förhållande på grund av brist på data.Borttagningsavvikelse:Borttagningsavvikelsen hänvisar till situationen där radering av data leder till oavsiktlig förlust av andra viktiga data.Uppdateringsavvikelse:Uppdateringsavvikelsen är när en uppdatering av ett enda datavärde kräver att flera rader med data uppdateras.

Typer av normala former:

Normalisering fungerar genom en serie stadier som kallas normala former. Normalformerna gäller individuella relationer. Relationen sägs vara i särskilt normal form om den uppfyller begränsningar.

Följande är de olika typerna av normala former:

DBMS-normalisering
Normal form Beskrivning
1NF En relation är i 1NF om den innehåller ett atomärt värde.
2NF En relation kommer att vara i 2NF om den är i 1NF och alla icke-nyckelattribut är fullt funktionella beroende av primärnyckeln.
3NF En relation kommer att vara i 3NF om den är i 2NF och inget övergångsberoende existerar.
BCNF En starkare definition av 3NF är känd som Boyce Codds normala form.
4NF En relation kommer att vara i 4NF om den är i Boyce Codds normala form och inte har något multi-värdigt beroende.
5NF En relation finns i 5NF. Om det är i 4NF och inte innehåller något anslutningsberoende, bör anslutning vara förlustfri.

Fördelar med normalisering

  • Normalisering hjälper till att minimera dataredundans.
  • Större övergripande databasorganisation.
  • Datakonsistens i databasen.
  • Mycket mer flexibel databasdesign.
  • Framtvingar begreppet relationell integritet.

Nackdelar med normalisering

  • Du kan inte börja bygga databasen innan du vet vad användaren behöver.
  • Prestandan försämras när man normaliserar relationerna till högre normala former, dvs 4NF, 5NF.
  • Det är mycket tidskrävande och svårt att normalisera relationer av högre grad.
  • Slarvig nedbrytning kan leda till en dålig databasdesign, vilket leder till allvarliga problem.