NORMALISATION
Catégorie : conception
Processus de structuration d'une base de données pour éliminer les redondances et les anomalies d'insertion, mise à jour et suppression. Elle se fait par étapes (formes normales : 1FN, 2FN, 3FN, etc.).
📝 Syntaxe
N/A (Concept de modélisation)💡 Exemples
Table NON normalisée : Commandes(id, client_nom, client_adresse, produit1, prix1, produit2, prix2...)→ Redondance des infos client, limite du nombre de produits.
Tables NORMALISÉES : Clients(id, nom, adresse), Commandes(id, client_id), Lignes_Commande(commande_id, produit_id, quantite), Produits(id, nom, prix)→ Pas de redondance, structure flexible.
🎯 Exercice
Une table 'Cours_Eleves' contient : (eleve_id, eleve_nom, cours_id, cours_nom, professeur). Quelle anomalie peut survenir ? Proposez une normalisation en 1FN et 3FN.
Voir la solution
Anomalie : si le nom d'un cours change, il faut le modifier sur toutes les lignes des élèves inscrits. 1FN : déjà respectée si valeurs atomiques. 3FN : séparer en Élèves(id, nom), Cours(id, nom, professeur_id), Professeurs(id, nom), Inscriptions(eleve_id, cours_id).⚠️ Pièges courants
- Sur-normaliser (trop de tables, jointures complexes qui nuisent aux performances).
- Ne pas normaliser assez (données redondantes, incohérences).
