Vad är databasnormalisering?

Databasnormalisering används i ett databashanteringssystem (DBMS), speciellt med relationsdatabaser, för att minska redundant information och därför minimera dataavvikelser. Avvikelser kan uppstå från information som är dåligt grupperad eller överflödig och kan orsaka en rad effekter, såsom felaktig datainfogning eller radering av en hel grupp data. Genom att använda databasnormalisering undviks dessa anomalier och minnet frigörs vanligtvis så att databasen kan fungera mer effektivt. Normaliseringsfunktioner bör användas med jämna mellanrum, ungefär en gång i veckan, för att hålla databasen fräsch och fri från oväntade problem.

Ingen gör en relationsdatabas för att ha redundant data med avsikt, men detta händer vanligtvis trots databasdesigners bästa ansträngning. Till exempel, med en anställd databas, kan en anställd listas i flera tabeller. När redundans uppstår i stor skala uppstår anomalier. Databasadministratörer kan vanligtvis inte fånga all redundant data, så databasnormalisering är det bästa sättet att åtgärda problemet.

Den första uppgiften med databasnormalisering är att radera, eller flytta, upprepad information. Om informationen är onödig kommer den att raderas från databasen. För data som behövs i andra tabeller försöker normalisering skapa bättre relationstabeller. Normaliseringsfunktioner kommer att bryta ner stora tabeller, korrigera och förbättra relationerna mellan data och kommer att isolera information för att göra datamodifiering enklare i databasen. Genom att subtrahera återkommande data frigörs vanligtvis minne, vilket gör att databasen kan köras smidigare och snabbare.

Anomalier uppstår genom att vägra eller glömma att normalisera databasen, och de kan göra informationen värdelös. En uppdateringsavvikelse är när någon uppdaterar data, men istället för att ändra måldata kommer databasen att skapa en ny post som är mycket redundant. Med en insättningsavvikelse läggs en post till i databasen, men ingenting kan läggas till under den nya posten. Borttagningsavvikelser kommer att radera en post slumpmässigt. Detta är bara några vanliga avvikelser som uppstår om databasen inte är normaliserad.

Det finns ingen fast standard som talar om för en administratör när han eller hon ska använda normaliseringsfunktioner för att säkerställa databasens effektivitet. Att schemalägga databasnormalisering ungefär en gång i veckan är vanligtvis det bästa eftersom detta hindrar all ny information som läggs till under veckan från att uppleva avvikelser. Mindre databaser kan troligen normaliseras en gång i månaden, och mycket stora databaser bör göras två gånger i veckan eftersom större mängder data medför en större risk för anomalier. Det finns dock ingen standard, så databasadministratören kommer vanligtvis att välja ett schema som han eller hon tycker är bäst för databasen.