Introducció

La desnormalització és el procés invers a la normalització. Mentre que la normalització busca eliminar la redundància i assegurar la integritat de les dades, la desnormalització introdueix redundància per millorar el rendiment de les consultes. En aquesta secció, explorarem els conceptes clau de la desnormalització, els seus avantatges i desavantatges, i quan és apropiat utilitzar-la.

Conceptes Clau

Què és la Desnormalització?

  • Definició: La desnormalització és el procés de combinar taules normalitzades en una base de dades relacional per reduir la complexitat de les consultes i millorar el rendiment.
  • Objectiu: Millorar el rendiment de les consultes a costa d'introduir redundància en les dades.

Avantatges de la Desnormalització

  1. Millora del Rendiment de les Consultes: Redueix el nombre de joins necessaris per obtenir dades, accelerant les consultes.
  2. Simplificació de Consultes: Les consultes es tornen més senzilles perquè les dades necessàries es troben en una sola taula.
  3. Reducció de la Càrrega de Processament: Menys operacions de join redueixen la càrrega de processament del servidor de bases de dades.

Desavantatges de la Desnormalització

  1. Redundància de Dades: La duplicació de dades pot portar a inconsistències si no es gestiona correctament.
  2. Manteniment Complex: Les actualitzacions i eliminacions de dades es tornen més complicades i poden requerir més temps.
  3. Augment de l'Espai d'Emmagatzematge: La redundància de dades augmenta la quantitat d'espai necessari per emmagatzemar la base de dades.

Quan Utilitzar la Desnormalització

Escenaris Comuns

  1. Aplicacions de Lectura Intensiva: Quan les aplicacions realitzen moltes més operacions de lectura que d'escriptura, la desnormalització pot millorar significativament el rendiment.
  2. Consultes Complexes i Freqüents: Si les consultes requereixen múltiples joins i són freqüents, la desnormalització pot simplificar aquestes consultes i millorar el temps de resposta.
  3. Bases de Dades de Gran Volum: En bases de dades molt grans, la desnormalització pot ajudar a gestionar millor el rendiment.

Exemples Pràctics

Exemple 1: Desnormalització d'una Base de Dades de Vendes

Taules Normalitzades:

  • Clients: client_id, nom, adreça
  • Productes: producte_id, nom, preu
  • Comandes: comanda_id, client_id, data
  • Detalls de Comanda: comanda_id, producte_id, quantitat

Taula Desnormalitzada:

  • Comandes: comanda_id, client_id, nom_client, adreça_client, producte_id, nom_producte, preu_producte, quantitat, data

Avantatge: Les consultes per obtenir informació completa d'una comanda són més ràpides perquè no necessiten múltiples joins.

Exemple 2: Desnormalització en una Base de Dades de Llibres

Taules Normalitzades:

  • Autors: autor_id, nom
  • Llibres: llibre_id, títol, autor_id

Taula Desnormalitzada:

  • Llibres: llibre_id, títol, autor_id, nom_autor

Avantatge: Les consultes per obtenir informació del llibre i el seu autor són més ràpides i senzilles.

Exercici Pràctic

Exercici 1: Desnormalització d'una Base de Dades d'Empleats

Taules Normalitzades:

  • Empleats: empleat_id, nom, departament_id
  • Departaments: departament_id, nom_departament

Tasques:

  1. Desnormalitza les taules anteriors en una sola taula.
  2. Escriu una consulta SQL per obtenir el nom de l'empleat i el nom del departament.

Solució:

Taula Desnormalitzada:

  • Empleats: empleat_id, nom, departament_id, nom_departament

Consulta SQL:

SELECT nom, nom_departament
FROM Empleats;

Conclusió

La desnormalització és una tècnica poderosa per millorar el rendiment de les consultes en bases de dades relacionals, especialment en aplicacions de lectura intensiva. Tot i això, cal utilitzar-la amb precaució per evitar problemes de redundància i manteniment. En aquesta secció hem explorat els conceptes clau, avantatges, desavantatges i exemples pràctics de desnormalització, així com un exercici per aplicar els coneixements adquirits.

Amb això, hem completat el tema de la desnormalització i els seus usos. En el següent mòdul, ens centrarem en exercicis pràctics per reforçar els conceptes apresos fins ara.

© Copyright 2024. Tots els drets reservats