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

emprunts_bibliotheque.csv (extrait)
id_eleve nom_eleve email_eleve classe titre_livre auteur éditeur année_publication date_emprunt date_retour
1Martine Durandmartine.durand@mail.comT07 La chance d'une vieJohn GrishamJCLattès202215-09-202425-09-2024
2Hermine Nyaleuhermine.nyaleu@mail.comT08 Méditations métaphysiquesRené DescartesFlammarion201120-09-202430-09-2024
4Aïcha Djérouniaicha.djerouni@mail.comT07 Les MisérablesVictor HugoLarousse200718-09-202428-09-2024
4Aïcha Djérouniaicha.djerouni@mail.comT07 Belle GreeneAlexandra LapierreFlammarion202101-10-202410-10-2024
1Martine Durandmartine.durand@mail.comT07 Son nom sur la listeJohn GrishamJCLattès202301-10-202410-10-2024
1Martine Durandmartine.durand@mail.comT07 Le réseauJohn GrishamJCLattès202425-09-202405-10-2024
1Martine Durandmartine.durand@mail.comT07 Le réseauJohn GrishamJCLattès202425-09-202405-10-2024
2Hermine Nyaleuhermine.nyaleu@mail.com108 JacarandaGaël FayeGrasset202401-10-202410-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

  1. Qu’observez-vous dans ce tableau ? Listez au moins 5 constats (répétitions, différences d’écriture, trous d’information, etc.).
  2. Classez vos constats en 2 colonnes : « normal » / « problématique ». Justifiez en une phrase chaque élément « problématique ».
  3. 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

  1. 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).
  2. 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.
  3. 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

  1. Proposez un découpage du fichier en 2 ou 3 tableaux plus simples (nommez les tableaux et les colonnes principales).
  2. Montrez comment relier ces tableaux entre eux (quel champ sert de lien ?).
  3. 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

  1. Imaginez un découpage en 3 tables (noms des tables + colonnes principales) pour limiter les problèmes observés.
  2. 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

  1. Citez deux problèmes typiques d’un fichier plat.
  2. Donnez un exemple d’anomalie de mise à jour sur l’extrait fourni.
  3. En une phrase, expliquez pourquoi séparer « élèves » et « livres » est préférable.