But de la séance. Comprendre pourquoi on a besoin d’une base de données :
repérer redondances, incohérences et anomalies (insertion, mise à jour, suppression)
dans un fichier plat « tout-en-un ».
Gestion des emprunts dans une bibliothèque
| id_eleve | nom_eleve | email_eleve | classe | titre_livre | auteur | éditeur | année_publication | date_emprunt | date_retour |
|---|---|---|---|---|---|---|---|---|---|
| 1 | Martine Durand | martine.durand@mail.com | T07 | La chance d'une vie | John Grisham | JCLattès | 2022 | 15-09-2024 | 25-09-2024 |
| 2 | Hermine Nyaleu | hermine.nyaleu@mail.com | T08 | Méditations métaphysiques | René Descartes | Flammarion | 2011 | 20-09-2024 | 30-09-2024 |
| 4 | Aïcha Djérouni | aicha.djerouni@mail.com | T07 | Les Misérables | Victor Hugo | Larousse | 2007 | 18-09-2024 | 28-09-2024 |
| 4 | Aïcha Djérouni | aicha.djerouni@mail.com | T07 | Belle Greene | Alexandra Lapierre | Flammarion | 2021 | 01-10-2024 | 10-10-2024 |
| 1 | Martine Durand | martine.durand@mail.com | T07 | Son nom sur la liste | John Grisham | JCLattès | 2023 | 01-10-2024 | 10-10-2024 |
| 1 | Martine Durand | martine.durand@mail.com | T07 | Le réseau | John Grisham | JCLattès | 2024 | 25-09-2024 | 05-10-2024 |
| 1 | Martine Durand | martine.durand@mail.com | T07 | Le réseau | John Grisham | JCLattès | 2024 | 25-09-2024 | 05-10-2024 |
| 2 | Hermine Nyaleu | hermine.nyaleu@mail.com | 108 | Jacaranda | Gaël Faye | Grasset | 2024 | 01-10-2024 | 10-10-2024 |
CSV brut
id_eleve,nom_eleve,email_eleve,classe,titre_livre,auteur,editeur,annee_publication,date_emprunt,date_retour 1,Martine Durand,martine.durand@mail.com,T07,La chance d'une vie,John Grisham,JCLattès,2022,15-09-2024,25-09-2024 2,Hermine Nyaleu,hermine.nyaleu@mail.com,T08,Méditations métaphysiques,René Descartes,Flammarion,2011,20-09-2024,30-09-2024 4,Aïcha Djérouni,aicha.djerouni@mail.com,T07,Les Misérables,Victor Hugo,Larousse,2007,18-09-2024,28-09-2024 4,Aïcha Djérouni,aicha.djerouni@mail.com,T07,Belle Greene,Alexandra Lapierre,Flammarion,2021,01-10-2024,10-10-2024 1,Martine Durand,martine.durand@mail.com,T07,Son nom sur la liste,John Grisham,JCLattès,2023,01-10-2024,10-10-2024 1,Martine Durand,martine.durand@mail.com,T07,Le réseau,John Grisham,JCLattès,2024,25-09-2024,05-10-2024 1,Martine Durand,martine.durand@mail.com,T07,Le réseau,John Grisham,JCLattès,2024,25-09-2024,05-10-2024 2,Hermine Nyaleu,hermine.nyaleu@mail.com,108,Jacaranda,Gaël Faye,Grasset,2024,01-10-2024,10-10-2024
Questions
A. Observation
- Qu’observez-vous dans ce tableau ? Listez au moins 5 constats (répétitions, différences d’écriture, trous d’information, etc.).
- Classez vos constats en 2 colonnes : « normal » / « problématique ». Justifiez en une phrase chaque élément « problématique ».
- Choisissez un exemple « problématique » et expliquez pourquoi il peut poser souci si le fichier grossit (1000 lignes, 10 000 lignes…).
B. Mises en situation
- Ajouter : vous voulez enregistrer un nouveau livre qui n’a encore été pris par personne. Montrez concrètement ce que vous écririez (ou pourquoi c’est difficile).
- Corriger : l’éditeur « JCLattès » a été mal saisi sur des lignes. Expliquez comment vous vous assurez que toutes les occurrences sont corrigées… et le risque si vous en oubliez.
- Retirer : on supprime une ligne « par erreur ». Citez une information qui peut disparaître alors qu’on voulait la garder.
C. Vers une meilleure organisation
- Proposez un découpage du fichier en 2 ou 3 tableaux plus simples (nommez les tableaux et les colonnes principales).
- Montrez comment relier ces tableaux entre eux (quel champ sert de lien ?).
- Expliquez en 3 lignes comment ce découpage évite les problèmes repérés au début.
- Constats attendus : répétitions massives des infos élève/livre, doublons exacts, incohérences de saisie (« 108 » vs « T08 »), impossibilité d’ajouter un livre sans « ligne support », correction multi-lignes, suppression qui efface des « fiches » implicites, etc.
- Découpage cible (ex.) : Élève(id, nom, email, classe), Livre(id, titre, auteur, éditeur, année), Emprunt(id_eleve, id_livre, date_emprunt, date_retour).
D. Vers une meilleure organisation
- Imaginez un découpage en 3 tables (noms des tables + colonnes principales) pour limiter les problèmes observés.
- Expliquez en 3 lignes pourquoi votre découpage réduit redondance, incohérences et anomalies.
- Redondances : mêmes coordonnées élève et mêmes métadonnées livre répétées à chaque emprunt.
- Doublon : « Le réseau » emprunté par Martine Durand deux fois à l’identique.
- Incohérence : classe « 108 » au lieu de « T08 ».
- Insertion : impossible d’ajouter un livre sans emprunt → pas de ligne à créer.
- Mise à jour : corriger l’éditeur oblige à modifier N lignes.
- Suppression : retirer la dernière ligne d’un livre efface toute trace du livre.
- Découpage : Élève(id, nom, email, classe), Livre(id, titre, id_auteur, éditeur, année), Emprunt(id_eleve, id_livre, date_emprunt, date_retour). Clés et liens réduisent les anomalies.
À retenir. Un fichier plat mélange des infos de natures différentes : il favorise
la redondance, les incohérences et des anomalies lors des insertions, mises à jour et suppressions.
Séparer par « sujets » (élèves, livres, emprunts) et relier par des clés résout l’essentiel du problème.
Quiz
- Citez deux problèmes typiques d’un fichier plat.
- Donnez un exemple d’anomalie de mise à jour sur l’extrait fourni.
- En une phrase, expliquez pourquoi séparer « élèves » et « livres » est préférable.