Partie 2 · MLD et normalisation
Les formes normales : 1NF, 2NF, 3NF
(hors cours : définitions) Le TP3 te demande d'« identifier le niveau de normalisation » d'un schéma et de détecter des violations de 1NF, 2NF, 3NF. Une dépendance fonctionnelle A → B signifie : connaître A détermine B (id_produit → nom_produit).
| Forme | Exigence | Violation typique |
|---|---|---|
| 1NF | Valeurs atomiques, pas de groupe répété | Colonne « articles » contenant « A, B, C » |
| 2NF | 1NF + aucun attribut ne dépend d'une partie de la clé composée | Clé (id_commande, id_produit) mais nom_produit dépend seulement d'id_produit |
| 3NF | 2NF + aucun attribut non-clé ne dépend d'un autre attribut non-clé | id_client → ville → code_postal... (dépendance transitive) |
Vérifie que tu as compris
Dans LIGNE (id_commande, id_produit, quantite, nom_produit), de quelle forme est violée ?
Anomalies à connaître
- Mise à jour : changer le nom d'un produit exige de modifier toutes les lignes.
- Insertion : impossible d'enregistrer un produit sans commande.
- Suppression : supprimer la dernière commande d'un produit efface le produit.
Mnémotechnique (hors cours) : « La clé, toute la clé, rien que la clé » : 1NF = atomique ; 2NF = toute la clé ; 3NF = rien que la clé. Un schéma peut ne respecter aucune forme (violation de la 1NF).
Vérifie que tu as compris
Dans CLIENT (id_client, nom, code_postal, ville) avec code_postal → ville, quelle forme est violée ?