La normalització implica organitzar les columnes (atributs) i les taules (relacions) d'una base de dades per garantir que les seves dependències s'apliquin correctament mitjançant les restriccions d'integritat de la base de dades. S'aconsegueix aplicant algunes regles formals, ja sigui mitjançant un procés de síntesi (creant un nou disseny de base de dades) o de descomposició (millorant un disseny de base de dades existent).[2]
Un objectiu bàsic de la primera forma normal definida per Codd el 1970 era permetre que les dades fossin consultades i manipulades mitjançant un "subllenguatge de dades universal" basat en la lògica de primer ordre. Un exemple d'aquest llenguatge és SQL, tot i que Codd el considerava un llenguatge amb greus defectes.
Els objectius de la normalització més enllà de la 1FN (primera forma normal) van ser establerts per Codd com:
Alliberar la col·lecció de relacions de dependències d'inserció, actualització i eliminació no desitjades.
2. Reduir la necessitat de reestructurar la col·lecció de relacions, a mesura que s'introdueixen nous tipus de dades, i així augmentar la vida útil dels programes d'aplicació.
3. Fer que el model relacional sigui més informatiu per als usuaris.
4. Fer que la col·lecció de relacions sigui neutral respecte a les estadístiques de consulta, on aquestes estadístiques poden canviar amb el pas del temps.
— E.F. Codd, "Normalització addicional del model relacional de la base de dades"
Una anomalia d'inserció. Fins que el nou membre del professorat, el Dr. Newsome, no sigui assignat per impartir almenys un curs, no es poden registrar les seves dades.
Quan s'intenta modificar (actualitzar, inserir o suprimir) una relació, poden sorgir els següents efectes secundaris indesitjables en relacions que no s'han normalitzat prou:
Anomalia d'inserció
Hi ha circumstàncies en què certs fets no es poden registrar en absolut. Per exemple, cada registre d'una relació "Professorat i els seus cursos" pot contenir un ID de professorat, un nom del professorat, una data de contractació del professorat i un codi de curs. Per tant, es poden registrar les dades de qualsevol membre del professorat que imparteixi almenys un curs, però no es pot registrar un membre del professorat recentment contractat que encara no ha estat assignat per impartir cap curs, excepte establint el Codi del curs com a nul.
Una anomalia d'actualització. L'empleat 519 es mostra amb adreces diferents en registres diferents.Anomalia d'actualització
La mateixa informació es pot expressar en diverses files; per tant, les actualitzacions de la relació poden provocar inconsistències lògiques. Per exemple, cada registre d'una relació "Habilitats dels empleats" pot contenir un ID d'empleat, una adreça d'empleat i una habilitat; per tant, un canvi d'adreça per a un empleat concret pot haver de ser aplicat a diversos registres (un per a cada habilitat). Si l'actualització només té èxit parcial (l'adreça de l'empleat s'actualitza en alguns registres però no en d'altres), la relació queda en un estat inconsistent. Concretament, la relació proporciona respostes contradictòries a la pregunta de quina és l'adreça d'aquest empleat en particular.
Una anomalia d'eliminació. Tota la informació sobre el Dr. Giddens es perd si deixen de ser assignats temporalment a algun curs.Anomalia d'eliminació
En determinades circumstàncies, l'eliminació de dades que representen certs fets requereix l'eliminació de dades que representen fets completament diferents. La relació "Professorat i els seus cursos" descrita a l'exemple anterior pateix aquest tipus d'anomalia, ja que si un membre del professorat deixa temporalment d'estar assignat a qualsevol curs, s'ha d'eliminar l'últim dels registres en què apareix aquest membre del professorat, eliminant també efectivament el membre del professorat, tret que el camp Codi del curs estigui definit com a nul.
Minimitzar el redisseny en ampliar l'estructura de la base de dades
Una base de dades totalment normalitzada permet ampliar la seva estructura per adaptar-se a nous tipus de dades sense canviar massa l'estructura existent. Com a resultat, les aplicacions que interactuen amb la base de dades es veuen mínimament afectades.
Les relacions normalitzades, i la relació entre una relació normalitzada i una altra, reflecteixen conceptes del món real i les seves interrelacions.
Informalment, una relació de base de dades relacional sovint es descriu com a "normalitzada" si compleix la tercera forma normal.[4] La majoria de les relacions 3FN estan lliures d'anomalies d'inserció, actualització i eliminació.
Les formes normals (de la menys normalitzada a la més normalitzada) són:
La normalització és una tècnica de disseny de bases de dades que s'utilitza per dissenyar una taula de base de dades relacional fins a una forma normal superior.[5] El procés és progressiu i no es pot aconseguir un nivell més alt de normalització de la base de dades si no s'han complert els nivells anteriors.[6]
Això vol dir que, tenint dades en forma no normalitzada (la menys normalitzada) i intentant aconseguir el nivell més alt de normalització, el primer pas seria assegurar-se que es compleix la primera forma normal, el segon pas seria assegurar-se que es compleix la segona forma normal, i així successivament en l'ordre esmentat anteriorment, fins que les dades s'ajustin a la sisena forma normal.
Tanmateix, les formes normals més enllà de la 4NF són principalment d'interès acadèmic, ja que els problemes que existeixen per resoldre rarament apareixen a la pràctica.[7]