Vad är databasnormalisering?
Databasnormalisering används i ett databashanteringssystem (DBMS), specifikt med relationella databaser, för att minska redundant information och därför minimera datainomalier. Avvikelser kan uppstå från information som är dåligt grupperad eller redundant och kan orsaka en rad effekter, såsom felaktig infogning av data eller radering av en hel grupp av data. Genom att använda databasnormalisering undviks dessa avvikelser och minnet frigörs vanligtvis så att databasen kan fungera mer effektivt. Normaliseringsfunktioner bör användas periodvis, ungefär en gång i veckan, för att hålla databasen fräsch och fri från oväntade problem.
Ingen skapar en relationsdatabas för att ha överflödiga uppgifter med avsikt, men detta händer vanligtvis trots databasdesignerens 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 upp alla överflödiga data, så databasnormalisering är det bästa sättet att korrigera problemet.
Den första uppgiften med databasnormalisering är att radera eller flytta, upprepa information. Om informationen inte behövs raderas den från databasen. För data som behövs i andra tabeller försöker normalisering skapa bättre relationstabeller. Normaliseringsfunktioner kommer att dela upp stora tabeller, kommer att korrigera och förbättra relationerna mellan data och kommer att isolera information för att underlätta datamodifiering i databasen. Genom att subtrahera upprepade data frigörs minnet vanligtvis, vilket gör att databasen kan köras jämnare och snabbare.
Avvikelser 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 uppgifterna, men istället för att ändra de riktade uppgifterna kommer databasen att skapa en ny post som är mycket överflödig. Med en infogningsavvikelse läggs en post till databasen, men ingenting kan läggas till under den nya posten. Raderingsavvikelser raderar en post slumpmässigt. Det här är bara några få vanliga avvikelser som uppstår om databasen inte är normaliserad.
Det finns ingen fast standard som säger en administratör när han eller hon ska använda normaliseringsfunktioner för att säkerställa databaseffektivitet. Schemaläggning av databasnormalisering ungefär en gång i veckan är vanligtvis bäst eftersom det hindrar all ny information som läggs till under hela veckan från att uppleva avvikelser. Mindre databaser kan antagligen normaliseras en gång i månaden, och mycket stora databaser bör göras två gånger i veckan eftersom högre datamängder medför en större chans för avvikelser. Det finns dock ingen standard, så databasadministratören väljer vanligtvis ett schema som han eller hon tycker är bäst för databasen.