Normalisation d’une base de données – d’une table plate à la 3FN, avec diagrammes entité-association
InformatiqueFichiers, stockage et bases de données16–17 ans
Chargement…
Connectez-vous pour lancerPartez d’une table plate pleine de données répétées, déclenchez des anomalies de mise à jour, d’insertion et de suppression, puis avancez par la 1FN, la 2FN et la 3FN : la table se divise, les clés primaires et étrangères apparaissent, les dépendances partielles et transitives disparaissent. Un diagramme entité-association (ER) en notation « pattes de corbeau » change à chaque étape, un graphique compte les valeurs stockées et les copies répétées, et une requête SQL avec JOIN reconstruit les lignes d’origine pour montrer qu’aucune information n’est perdue.
Leçon : Conception de bases de données relationnelles : dépendances fonctionnelles, normalisation en 1FN, 2FN et 3FN, anomalies, diagrammes entité-association et associations un-à-un, un-à-plusieurs et plusieurs-à-plusieurs
Ce qu’elle montre
Une table plate qui stocke tout au même endroit répète les mêmes faits de nombreuses fois : une modification doit être faite sur plusieurs lignes (anomalie de mise à jour), un fait nouveau ne peut pas être enregistré tant qu’aucun enregistrement ne l’utilise (anomalie d’insertion) et supprimer un enregistrement peut détruire d’autres faits (anomalie de suppression). La normalisation découpe la table étape par étape : la 1FN supprime les groupes répétitifs, la 2FN les dépendances partielles envers une partie d’une clé composée, la 3FN les dépendances transitives entre colonnes non clés. Les clés étrangères relient les tables et les JOIN reconstruisent les lignes sans perte.
Mode d’emploi
Choisissez le Jeu de données et le nombre d’Enregistrements, puis cliquez sur 1FN, 2FN et 3FN (ou Retour et Suivant) pour voir la table se diviser. Cochez Dépendances pour voir quelle dépendance viole chaque forme normale. Choisissez une Anomalie et cliquez sur Essayer pour modifier, ajouter ou supprimer des données ; Annuler les rétablit. Basculez le Diagramme ER entre Logique et Conceptuel, touchez une entité pour surligner sa table et utilisez Filtre pour interroger un seul enregistrement.
Paramètres modifiables
- Jeu de données Commandes d’un magasin, Inscriptions d’élèves aux matières
- Étape de normalisation Non normalisée (FNN), Première forme normale (1FN), Deuxième forme normale (2FN), Troisième forme normale (3FN)
- Nombre d’enregistrements (commandes ou élèves) 3–8 enregistrements
- Anomalie à tester Aucune, Anomalie de mise à jour, Anomalie d’insertion, Anomalie de suppression
- Niveau du diagramme ER Logique (avec table d’association), Conceptuel (plusieurs-à-plusieurs)
- Afficher les dépendances fonctionnelles
Questions à explorer
- Pourquoi la table en 1FN contient-elle plus de copies répétées des mêmes faits que la table non normalisée ?
- En 2FN, pourquoi ne peut-on toujours pas enregistrer un nouveau client qui n’a encore rien commandé ?
- Pourquoi l’association plusieurs-à-plusieurs entre commandes et produits doit-elle être remplacée par une table d’association ?