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
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:
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.