Chapitre 218 minIntermédiaire
Règles de gestion et dictionnaire des données
Par Josselyn C., prof de BTS SIO. Mis à jour le .
À la fin de ce chapitre, tu sauras
- écrire des règles de gestion claires et numérotées ;
- dresser le dictionnaire des données d'un cas ;
- repérer synonymes, polysémies, données calculées et paramètres ;
- extraire les données d'un document existant.
3 exercices corrigés
Les règles de gestion sont les phrases qui décrivent le fonctionnement d'une organisation, par exemple « un exemplaire est rattaché à un seul site ». Le dictionnaire des données est le tableau qui recense, une seule fois chacune, les informations élémentaires à mémoriser, avec leur nom, leur type et leur signification. Ensemble, ils forment la matière première du MCD : ce chapitre montre comment les obtenir et comment les épurer, sur le cas du réseau de médiathèques Rivelire.
Recueillir le besoin
Avant de dessiner quoi que ce soit, il faut comprendre comment fonctionne l'organisation. Trois sources, qu'on croise toujours :
- Les entretiens avec les futurs utilisateurs : la responsable du réseau, deux bibliothécaires, l'agent d'accueil. Pose des questions concrètes (« Que se passe-t-il quand un adhérent perd un livre ? ») plutôt que générales (« De quelles données avez-vous besoin ? »).
- Les documents existants : la fiche d'inscription, le ticket de prêt, la lettre de relance, le tableur actuel. Chaque rubrique d'un document est une donnée candidate.
- Le cadre réglementaire : le règlement intérieur des médiathèques, et le RGPD pour les données personnelles (cours Droit du numérique et RGPD). Il interdit par exemple de garder l'historique des lectures d'un adhérent plus longtemps que nécessaire.
À l'examen, ce travail est déjà fait : l'énoncé te donne le contexte et les règles, souvent mêlés dans un texte. Ton travail est de les en extraire.
Les règles de gestion
Une règle de gestion est une phrase qui énonce une contrainte ou un fonctionnement de l'organisation, indépendamment de l'informatique. On les numérote (RG1, RG2…) pour pouvoir y renvoyer dans le MCD et dans le code.
On distingue quatre sortes de règles, qui n'atterrissent pas au même endroit :
| Sorte | Exemple à Rivelire | Ce qu'elle devient |
|---|---|---|
| Règle de structure | « Un exemplaire est rattaché à un seul site. » | Une association et ses cardinalités dans le MCD |
| Règle de calcul | « La date de retour prévue est la date d'emprunt plus 21 jours. » | Une donnée calculée, ou une valeur par défaut |
| Règle de contrainte | « Un adhérent ne peut pas avoir plus de dix emprunts en cours. » | Une contrainte CHECK, un trigger ou un contrôle dans le code |
| Règle d'organisation | « Les retours sont traités par l'agent d'accueil. » | Rien dans la base : elle concerne les traitements |
Une bonne règle de structure se lit dans les deux sens et dit combien : « un exemplaire est rattaché à un seul site ; un site possède zéro, un ou plusieurs exemplaires ». Si l'énoncé n'en donne qu'un sens, c'est à toi de te poser la question inverse, et de choisir l'hypothèse la plus réaliste en l'écrivant.
Voici les règles de gestion recueillies à Rivelire. Elles serviront jusqu'au chapitre 9.
RG1. Le réseau compte plusieurs sites. Chaque site a un code de trois lettres (CEN pour la médiathèque centrale), un nom, une adresse et une ville.
RG2. Chaque document du catalogue (un livre, un film ou un jeu vidéo) porte un numéro unique, un titre, une année de parution et un résumé.
RG3. Un document appartient à un seul genre (roman policier, bande dessinée, documentaire jeunesse…). Un genre, identifié par un code court, regroupe zéro, un ou plusieurs documents.
RG4. Un document peut avoir plusieurs contributeurs : auteur, illustrateur, traducteur, réalisateur, studio. Certains documents n'en ont aucun de connu. On n'enregistre un contributeur que s'il a participé à au moins un document du catalogue. Sur un document donné, un contributeur a un seul rôle.
RG5. Le réseau possède zéro, un ou plusieurs exemplaires de chaque document : zéro quand le document est commandé mais pas encore reçu. Un exemplaire est identifié par le code-barres collé sur sa couverture ; on note sa date d'acquisition et son état (neuf, bon, usé, abîmé).
RG6. Un exemplaire est rattaché à un seul site. Un site possède zéro, un ou plusieurs exemplaires.
RG7. Un adhérent est identifié par le numéro de sa carte. On enregistre son nom, son prénom, sa date de naissance, sa date d'inscription et, s'il en a une, son adresse électronique, qui ne peut pas être partagée avec un autre adhérent.
RG8. Un adhérent de moins de 14 ans doit avoir un responsable légal, lui-même adhérent. Un adhérent peut être responsable de plusieurs mineurs.
RG9. Un emprunt est fait par un seul adhérent et porte sur un seul exemplaire. On note la date d'emprunt, la date de retour prévue et la date de retour effective, vide tant que le document n'est pas rendu. Un adhérent peut emprunter plusieurs fois le même exemplaire, à des dates différentes.
RG10. La durée de prêt est de 21 jours. Un emprunt peut être prolongé une fois, de 21 jours.
RG11. Un adhérent ne peut pas avoir plus de dix emprunts en cours.
RG12. Un adhérent peut réserver un document (pas un exemplaire précis) ; on note la date de la réservation. Une réservation est supprimée quand l'adhérent emprunte le document ou qu'il l'annule.
RG13. Pour un livre, on connaît son ISBN et son nombre de pages ; pour un film, sa durée en minutes ; pour un jeu vidéo, sa plateforme et sa classification PEGI.
RG14. L'écran d'un adhérent affiche son âge et son nombre d'emprunts en cours ; celui d'un emprunt affiche son retard en jours.
Classe-les : RG1 à RG9, RG12 et RG13 sont des règles de structure (avec des données à mémoriser). RG10 est une règle de calcul, RG11 une règle de contrainte. RG8 mêle structure (un responsable est un adhérent) et contrainte (obligatoire en dessous de 14 ans). RG14 décrit des données calculées.
Le dictionnaire des données
Le dictionnaire des données est un tableau qui liste toutes les informations à mémoriser, chacune une seule fois, avec ce qu'il faut savoir pour la stocker. Il n'existe pas de format officiel ; les colonnes suivantes sont les plus courantes, et celles que tu trouveras dans les sujets et dans les logiciels de modélisation.
| Colonne | Contenu |
|---|---|
| Code (ou mnémonique) | Le nom de la donnée, court, sans espace ni accent : date_emprunt. Il deviendra le nom de la colonne. |
| Signification | Une phrase sans ambiguïté : « date à laquelle l'exemplaire est sorti de la médiathèque ». |
| Type | A (alphabétique), N (numérique), AN (alphanumérique), D (date), B (booléen). |
| Longueur | Le nombre maximal de caractères ou de chiffres. |
| Nature | E (élémentaire : saisie ou fournie) ou C (calculée à partir d'autres données). |
| Règle ou contrainte | La règle de calcul, les valeurs permises, l'unicité, la RG d'origine. |
Le type se décide sur l'usage, pas sur l'apparence. Un numéro de téléphone, un code postal ou un code-barres sont composés de chiffres, mais on ne fait jamais de calcul dessus et un zéro en tête doit être conservé : ils sont alphanumériques. Une quantité ou un nombre de pages, sur lesquels on calcule, sont numériques.
Voici le dictionnaire des données de Rivelire. Les données de la RG13, propres aux livres, aux films et aux jeux, sont regroupées à la fin : elles serviront au chapitre 7.
| Code | Signification | Type | Long. | Nature | Règle ou contrainte |
|---|---|---|---|---|---|
| code_site | Code du site | AN | 3 | E | Trois lettres majuscules, unique (RG1) |
| nom_site | Nom du site | AN | 50 | E | |
| adresse_site | Numéro et rue du site | AN | 100 | E | |
| ville_site | Ville du site | AN | 50 | E | |
| num_document | Numéro du document dans le catalogue | N | E | Unique, attribué automatiquement (RG2) | |
| titre | Titre du document | AN | 200 | E | |
| annee_parution | Année de parution | N | 4 | E | |
| resume | Résumé du document | AN | 2000 | E | Facultatif |
| code_genre | Code du genre | AN | 5 | E | Unique (RG3) |
| libelle_genre | Libellé du genre | AN | 50 | E | |
| num_contributeur | Numéro du contributeur | N | E | Unique, attribué automatiquement | |
| nom_contributeur | Nom du contributeur, ou nom du studio | AN | 80 | E | |
| prenom_contributeur | Prénom du contributeur | AN | 50 | E | Vide pour un studio |
| role | Rôle d'un contributeur sur un document | AN | 20 | E | auteur, illustrateur, traducteur, réalisateur, studio (RG4) |
| code_barre | Code-barres de l'exemplaire | AN | 13 | E | Unique (RG5) |
| date_acquisition | Date d'entrée de l'exemplaire dans le fonds | D | E | ||
| etat | État de l'exemplaire | AN | 10 | E | neuf, bon, usé, abîmé (RG5) |
| num_adherent | Numéro de la carte d'adhérent | N | E | Unique (RG7) | |
| nom_adherent | Nom de l'adhérent | AN | 50 | E | |
| prenom_adherent | Prénom de l'adhérent | AN | 50 | E | |
| date_naissance | Date de naissance de l'adhérent | D | E | ||
| Adresse électronique de l'adhérent | AN | 100 | E | Facultative, unique (RG7) | |
| date_inscription | Date d'inscription de l'adhérent | D | E | ||
| num_emprunt | Numéro de l'emprunt | N | E | Unique, attribué automatiquement | |
| date_emprunt | Date de sortie de l'exemplaire | D | E | (RG9) | |
| date_retour_prevue | Date limite de retour | D | E | date_emprunt + 21 jours, + 21 jours si prolongé (RG10) | |
| date_retour | Date de retour effective | D | E | Vide tant que l'exemplaire n'est pas rendu (RG9) | |
| date_reservation | Date de la réservation | D | E | (RG12) | |
| isbn | ISBN du livre | AN | 13 | E | Livres seulement (RG13) |
| nb_pages | Nombre de pages du livre | N | 4 | E | Livres seulement |
| duree_min | Durée du film en minutes | N | 3 | E | Films seulement |
| plateforme | Plateforme du jeu | AN | 30 | E | Jeux seulement |
| pegi | Classification PEGI du jeu | N | 2 | E | 3, 7, 12, 16 ou 18 (jeux seulement) |
Trois remarques sur ce tableau. date_retour_prevue suit une règle de calcul, mais elle est stockée (nature E) : une prolongation la modifie, on ne pourrait donc pas la recalculer à coup sûr. Le responsable légal de la RG8 n'ajoute aucune donnée : c'est un adhérent, déjà décrit, et le lien entre un mineur et son responsable sera une association. Enfin, les données de la RG14 n'y figurent pas, pour une raison expliquée juste après.
Épurer le dictionnaire
Une liste brute de données, tirée des documents et des entretiens, contient toujours des intrus. Avant de modéliser, on la nettoie.
Les synonymes. Deux noms pour la même information. La carte d'adhérent parle de « n° de lecteur », le ticket de prêt de « n° d'adhérent » : c'est la même donnée, on n'en garde qu'une, num_adherent.
Les polysémies. Un seul nom pour plusieurs informations. « Nom » désigne le nom d'un adhérent, d'un site ou d'un contributeur ; « date » peut être la date d'emprunt, de retour ou d'inscription. On les distingue par un code précis : nom_adherent, nom_site, date_emprunt, date_retour.
Les données calculées. L'âge d'un adhérent se calcule à partir de sa date de naissance et de la date du jour ; le nombre d'emprunts en cours se compte ; le retard d'un emprunt se calcule à partir de la date de retour prévue. On ne les stocke pas : une valeur stockée vieillit (l'âge devient faux le jour de l'anniversaire) et peut contredire les données dont elle dérive. Le SQL les calcule à la demande, dans une requête ou une vue. Certains dictionnaires les gardent avec la nature C et leur règle de calcul, pour mémoire ; elles disparaissent ensuite du MCD.
Les paramètres. La durée de prêt (21 jours) et le nombre maximal d'emprunts (dix) sont les mêmes pour tous les adhérents. Les recopier sur chaque ligne serait de la redondance. On les écrit dans le code, ou mieux, dans une petite table de paramètres que l'administrateur peut modifier sans toucher au programme.
Les données composées. Une adresse « 12 rue des Tanneurs 25000 Besançon » mélange trois informations. Si l'on doit chercher ou trier par ville, il faut la découper : adresse_site et ville_site ici. Une donnée doit être atomique au sens de l'usage qu'on en fait, ce que la première forme normale exigera aussi.
Partir d'un document : le ticket de prêt
Les documents de l'organisation sont la meilleure source de données, à condition de les lire avec méthode. Voici le ticket qu'imprime aujourd'hui l'accueil de la médiathèque centrale.
RIVELIRE - Médiathèque centrale (CEN)
12 rue des Tanneurs, Valbourg
Ticket de prêt du 04/11/2026
Adhérent n° 20418 - DURAND Inès
------------------------------------------------------
3700001234567 La Ville sous la neige à rendre le 25/11/2026
3700009876543 Mon premier atlas à rendre le 25/11/2026
------------------------------------------------------
Emprunts en cours : 4 sur 10 autorisés
Rubrique par rubrique :
| Rubrique du ticket | Donnée | Remarque |
|---|---|---|
| Médiathèque centrale, CEN, adresse | nom_site, code_site, adresse_site, ville_site | |
| Date du ticket | date_emprunt | Polysémie évitée : c'est la date de chaque emprunt |
| N° 20418, DURAND Inès | num_adherent, nom_adherent, prenom_adherent | |
| 3700001234567 | code_barre | Identifie l'exemplaire, pas le document |
| La Ville sous la neige | titre | Donnée du document, retrouvée par l'exemplaire |
| À rendre le 25/11/2026 | date_retour_prevue | Stockée, car une prolongation la modifie |
| 4 | Calculée : le nombre d'emprunts sans date de retour | |
| 10 | Paramètre, identique pour tous |
Une ligne du ticket concerne un exemplaire, avec sa propre date de retour : c'est le signe qu'un ticket regroupe plusieurs emprunts, chacun avec ses données. Le ticket lui-même n'est qu'une édition ; on ne le stocke pas.
Le dictionnaire à l'examen et dans ton dossier E6
Les sujets d'examen fournissent parfois un dictionnaire des données à côté du schéma relationnel, sous la forme d'un tableau « colonne, type, contraintes, description » ; le chapitre 1 du cours SQL en montre un. Lis-le avant d'écrire une requête : il dit quelles colonnes acceptent une valeur vide et quelles valeurs sont permises.
Dans ton dossier d'E6 SLAM, un dictionnaire des données à jour est une preuve simple et appréciée de la compétence « Concevoir ou adapter une base de données ». Quand tu fais évoluer ta base pendant l'épreuve, mets-le à jour en même temps que le MLD : la commission vérifie que la documentation suit le code.
Exercices
Exercice 1 sur 3 Classer des règles de gestion Réussi À revoir
Une salle d'escalade informatise ses abonnements. Pour chaque règle, dis si c'est une règle de structure, de calcul, de contrainte ou d'organisation.
- « Un grimpeur peut souscrire plusieurs abonnements au fil du temps ; un abonnement concerne un seul grimpeur. »
- « Le prix d'un abonnement annuel est celui de douze mois, moins 15 %. »
- « Un grimpeur de moins de 16 ans ne peut pas réserver un créneau après 20 h. »
- « Les inscriptions aux cours sont validées par le moniteur chaque lundi. »
- « Un créneau de cours accueille au plus douze grimpeurs. »
- « Chaque voie est classée dans une seule cotation (4a, 6b+…). »
Voir la réponseMasquer la réponse de l'exercice 1
- Structure : une association entre GRIMPEUR et ABONNEMENT, cardinalités 0,n et 1,1.
- Calcul : le prix annuel se calcule à partir du prix mensuel.
- Contrainte : une condition à vérifier au moment de la réservation (trigger ou code).
- Organisation : elle dit qui fait quoi et quand ; rien à stocker.
- Contrainte : un maximum de 12, qu'une cardinalité « n » ne sait pas exprimer. On le vérifie par un trigger ou dans le code.
- Structure : une association entre VOIE et COTATION, cardinalité 1,1 du côté de la voie.
Tu avais trouvé ?
Exercice 2 sur 3 Le dictionnaire d'un bon d'intervention Réussi À revoir
Le service informatique d'une PME remplit ce bon après chaque dépannage :
BON D'INTERVENTION n° 2026-0412
Date : 12/10/2026 Technicien : T07 - Moussa DIALLO
Demandeur : Julie LEFÈVRE, service Comptabilité, poste 214
Matériel : PC-0031, portable Dell Latitude 5440, acheté le 03/02/2025
Problème : écran noir au démarrage
Durée : 45 min Taux horaire : 40 € Montant facturé au service : 30 €
- Dresse la liste des données à mémoriser, avec un code pour chacune.
- Repère une polysémie, une donnée calculée et un paramètre.
- Quel type donnes-tu à « PC-0031 » et au numéro du bon ?
Voir la réponseMasquer la réponse de l'exercice 2
num_bon,date_intervention,code_technicien,nom_technicien,prenom_technicien,nom_demandeur,prenom_demandeur,libelle_service,tel_poste,num_inventaire,type_materiel,marque,modele,date_achat,description_probleme,duree_min.- Polysémie : le mot « poste » désigne ici le numéro de téléphone interne (214), alors qu'en informatique un poste est souvent l'ordinateur (PC-0031). On lève l'ambiguïté avec deux codes :
tel_posteetnum_inventaire. Donnée calculée : le montant, égal à la durée en heures multipliée par le taux (0,75 × 40 = 30 €). On ne le stocke pas. Paramètre : le taux horaire de 40 €, le même pour toutes les interventions ; il va dans une table de paramètres. S'il pouvait changer dans le temps et qu'on voulait refacturer d'anciens bons au tarif de l'époque, il faudrait l'historiser (chapitre 7). - Alphanumérique pour les deux : « PC-0031 » contient des lettres et un tiret, et le numéro « 2026-0412 » contient un tiret et n'est jamais utilisé dans un calcul.
Tu avais trouvé ?
Exercice 3 sur 3 Trouver les erreurs d'un dictionnaire Réussi À revoir
Voici un extrait du dictionnaire d'une auto-école. Trouve cinq erreurs ou maladresses.
| Code | Signification | Type | Nature |
|---|---|---|---|
| num_eleve | Numéro de l'élève | N | E |
| nom | Nom | AN | E |
| adresse | Adresse complète de l'élève | AN | E |
| tel_eleve | Téléphone de l'élève | N | E |
| age_eleve | Âge de l'élève | N | E |
| nb_lecons | Nombre de leçons suivies par l'élève | N | E |
| num_candidat | Numéro de l'élève | N | E |
| prix_lecon | Prix d'une leçon (le même pour tous) | N | E |
Voir la réponseMasquer la réponse de l'exercice 3
nomest polysémique : nom de l'élève, du moniteur ? Il fautnom_eleve.adressen'est pas atomique si l'on veut trier les élèves par ville ou par code postal : il faut au moinsrue,code_postaletville.tel_elevedoit être alphanumérique : le zéro initial serait perdu en numérique, et on ne calcule jamais sur un téléphone.age_eleveetnb_leconssont calculés (à partir de la date de naissance, en comptant les leçons) : à retirer, ou à marquer C. Il faut ajouterdate_naissancesi elle manque.num_candidatest un synonyme denum_eleve(même signification) : à supprimer.
En prime, prix_lecon est un paramètre s'il est le même pour tous : il n'a pas sa place dans une entité, mais dans une table de paramètres.
Tu avais trouvé ?