Diferència entre normalització i desnormalització

Diferència entre normalització i desnormalització
Diferència entre normalització i desnormalització

Vídeo: Diferència entre normalització i desnormalització

Vídeo: Diferència entre normalització i desnormalització
Vídeo: El REPORTAJE (Diferencias entre el reportaje y la noticia👌👌) 2024, Juliol
Anonim

Normalització versus desnormalització

Les bases de dades relacionals estan formades per relacions (taules relacionades). Les taules estan formades per columnes. Si les taules són dues grans (és a dir, massa columnes en una taula), es poden produir anomalies de la base de dades. Si les taules són dues petites (és a dir, la base de dades està formada per moltes taules més petites), seria ineficient per a la consulta. La normalització i la desnormalització són dos processos que s'utilitzen per optimitzar el rendiment de la base de dades. La normalització minimitza les redundàncies que hi ha a les taules de dades. La desnormalització (invers de la normalització) afegeix dades redundants o dades de grup.

Què és la normalització?

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 (anomenades "Formes normals"). 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) van ser introduïdes per Edgar F. Codd. Boyce-Codd Normal Form (BCNF) va ser introduït el 1974 per Codd i Raymond F. Boyce. S'han definit formes normals superiors (4NF, 5NF i 6NF), però s'utilitzen poques vegades.

Una taula que compleix amb 1NF assegura que realment representa una relació (és a dir, no conté cap registre que es repeteixi) i no conté cap atribut que tingui valor relacional (p.e. tots els atributs haurien de tenir valors atòmics). 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 totalment de qualsevol de les claus candidates de la taula. 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 de cada clau candidata d'aquesta taula. BCNF (també conegut com a 3.5NF) captura algunes de les anomalies que no s'aborden amb la 3NF.

Què és la desnormalització?

La desnormalització és el procés invers al procés de normalització. La desnormalització funciona afegint dades redundants o agrupant dades per optimitzar el rendiment. Tot i que afegir dades redundants sembla contraproduent, de vegades la desnormalització és un procés molt important per superar algunes de les deficiències del programari de bases de dades relacionals que poden comportar greus penalitzacions de rendiment amb bases de dades normalitzades (fins i tot ajustades per a un rendiment superior). Això es deu al fet que unir diverses relacions (que són resultats de la normalització) per produir un resultat a una consulta de vegades pot ser lent depenent de la implementació física real dels sistemes de bases de dades.

Quina diferència hi ha entre la normalització i la desnormalització?

– La normalització i la desnormalització són dos processos completament oposats.

– La normalització és el procés de dividir taules més grans en taules més petites per reduir les dades redundants, mentre que la desnormalització és el procés d'afegir dades redundants per optimitzar el rendiment.

– La normalització es realitza per evitar anomalies de les bases de dades.

– La desnormalització es realitza normalment per millorar el rendiment de lectura de la base de dades, però a causa de les restriccions addicionals que s'utilitzen per a la desnormalització, les escriptures (és a dir, les operacions d'inserció, actualització i supressió) poden ser més lentes. Per tant, una base de dades desnormalitzada pot oferir un rendiment d'escriptura pitjor que una base de dades normalitzada.

– Sovint es recomana "normalitzar fins que faci mal, desnormalitzar fins que funcioni".

Recomanat: