1NF contra 2NF vs 3NF
La normalització és un procés que es realitza per minimitzar les redundàncies que hi ha a les dades de les bases de dades relacionals. Aquest procés dividirà principalment taules grans en taules més petites amb menys redundància. Aquestes taules més petites es relacionaran entre si mitjançant relacions ben definides. En una base de dades ben normalitzada, qualsevol alteració o modificació de les dades requerirà modificar només una taula. La primera forma normal (1NF), la segona forma normal (2NF) i la tercera forma normal (3NF) va ser introduïda per Edgar F. Codd, que també és l'inventor del model relacional i del concepte de normalització.
Què és 1NF?
1NF és la primera forma normal, que proporciona el conjunt mínim de requisits per normalitzar una base de dades relacional. Una taula que compleix amb 1NF assegura que realment representa una relació (és a dir, no conté cap registre que es repeteixi), però no hi ha una definició universalment acceptada per a 1NF. Una propietat important és que una taula que compleixi amb 1NF no podria contenir cap atribut que tingui valor relacional (és a dir, tots els atributs haurien de tenir valors atòmics).
Què és 2NF?
2NF és la segona forma normal utilitzada a les bases de dades relacionals. Perquè una taula compleixi amb 2NF, s'ha de complir amb 1NF i qualsevol atribut que no formi part de cap clau candidata (és a dir, atributs no principals) hauria de dependre completament de qualsevol de les claus candidates de la taula.
Què és 3NF?
3NF és la tercera forma normal utilitzada en la normalització de bases de dades relacionals. Segons la definició de Codd, es diu que una taula està en 3NF, si i només si, aquesta taula està en la segona forma normal (2NF), i tots els atributs de la taula que no pertanyen a una clau candidata haurien de dependre directament. a cada clau candidata d'aquesta taula. El 1982 Carlo Zaniolo va produir una definició expressada de manera diferent de 3NF. Les taules que compleixen la 3NF generalment no contenen anomalies que es produeixin en inserir, suprimir o actualitzar registres a la taula.
Quina diferència hi ha entre 1NF i 2NF i 3NF?
1NF, 2NF i 3NF són formes normals que s'utilitzen a les bases de dades relacionals per minimitzar les redundàncies a les taules. 3NF es considera una forma normal més forta que la 2NF, i es considera una forma normal més forta que 1NF. Per tant, en general, l'obtenció d'una taula que compleixi amb la forma 3NF requerirà descompondre una taula que es troba a la 2NF. De la mateixa manera, obtenir una taula que compleixi amb la 2NF requerirà descompondre una taula que es troba a la 1NF. Tanmateix, si una taula que compleix amb 1NF conté claus candidates que només estan formades per un únic atribut (és a dir, claus candidates no compostes), aquesta taula compliria automàticament amb 2NF. La descomposició de taules donarà lloc a operacions d'unió addicionals (o productes cartesians) en executar consultes. Això augmentarà el temps de càlcul. D' altra banda, les taules que compleixen les formes normals més fortes tindrien menys redundància que les taules que només compleixen les formes normals més febles.