Hvad er databasegenormalisering?
Databasegenormalisering bruges i et databasestyringssystem (DBMS), specifikt med relationelle databaser, til at reducere overflødige oplysninger og derfor minimere dataaromalier. Anomalier kan opstå på grund af oplysninger, der er dårligt grupperet eller overflødige og kan forårsage en række effekter, såsom forkert indsættelse af data eller sletning af en hel datagruppe. Ved at bruge databasens normalisering undgås disse anomalier, og hukommelsen frigøres typisk, så databasen kan fungere mere effektivt. Normaliseringsfunktioner skal bruges med jævne mellemrum, cirka en gang om ugen, for at holde databasen frisk og fri for uventede problemer.
Ingen opretter en relationel database for at have overflødige data med vilje, men dette sker typisk trods databasedesigners bedste indsats. For eksempel med en medarbejderdatabase kan en medarbejder muligvis vises på flere tabeller. Når redundans forekommer i stor skala, opstår der anomalier. Databaseadministratorer kan typisk ikke fange alle de overflødige data, så databasens normalisering er den bedste måde at rette op på dette problem.
Den første opgave med database-normalisering er at slette eller flytte, gentage information. Hvis oplysningerne ikke er nødvendige, slettes de fra databasen. For data, der er nødvendige i andre tabeller, forsøger normalisering at skabe bedre relationstabeller. Normaliseringsfunktioner nedbryder store tabeller, korrigerer og forbedrer forholdet mellem dataene og isolerer information for at gøre datamodifikation lettere i databasen. Ved at trække gentagne data frigøres hukommelsen typisk, hvilket gør det muligt for databasen at køre glattere og hurtigere.
Anomalier opstår ved at nægte eller glemme at normalisere databasen, og de kan gøre informationen ubrugelig. En opdateringsanomali er, når nogen opdaterer dataene, men i stedet for at ændre de målrettede data, opretter databasen en ny post, der er meget overflødig. Med en indsættelsesanomali tilføjes en post til databasen, men intet kan tilføjes under den nye post. Sletningsanomalier vil tilfældigt slette en post. Dette er kun et par almindelige afvigelser, der opstår, hvis databasen ikke er normaliseret.
Der er ingen fast standard, der fortæller en administrator, hvornår han eller hun skal bruge normaliseringsfunktioner for at sikre databasens effektivitet. Planlægning af database-normalisering cirka en gang om ugen er normalt det bedste, fordi dette forhindrer, at alle de nye oplysninger, der tilføjes gennem ugen, oplever uregelmæssigheder. Mindre databaser kan sandsynligvis normaliseres en gang om måneden, og meget store databaser bør udføres to gange om ugen, fordi større datamængder har større risiko for afvigelser. Der er dog ingen standard, så databaseadministratoren vælger typisk en tidsplan, som han eller hun mener er bedst for databasen.