Préparer les questions et choisir les données nécessaires
Objectif : Traduire trois demandes de suivi en critères de résultat et repérer les tables et colonnes nécessaires.
Un suivi utile commence par une question précise. Si vous choisissez les tables avant de clarifier ce que le résultat doit montrer, vous risquez de produire une liste inutilisable ou de conclure à partir d’une donnée absente.
Vous avez déjà appris à lire le schéma et à agréger des lignes ; ici, vous allez vous en servir pour cadrer trois demandes avant d’écrire les requêtes de suivi. Pour chacune, définissez les lignes attendues, les informations à afficher et les colonnes qui permettront de calculer ou de filtrer le résultat.
Partir de résultats vérifiables
Une demande métier décrit souvent une intention, pas encore une requête. Pour la rendre exploitable, reformulez-la en résultat attendu : quelle entité représente une ligne, quelles colonnes doivent être visibles et quel critère distingue les lignes à conserver ? Cette étape permet également de repérer les informations manquantes avant de commencer le SQL.
| Demande de suivi | Une ligne représente… | Données nécessaires | Critère de résultat |
|---|---|---|---|
| Quels adhérents ont au moins deux emprunts ? | Un adhérent | adherents.id_adherent, adherents.nom, adherents.prenom ; emprunts.id_emprunt, emprunts.id_adherent | Retenir les adhérents dont le nombre d’emprunts est au moins égal à 2. |
| Quelles œuvres ont au moins deux exemplaires ? | Une œuvre | oeuvres.id_oeuvre, oeuvres.titre ; exemplaires.id_exemplaire, exemplaires.id_oeuvre | Retenir les œuvres associées à au moins 2 exemplaires. |
| Quels retards sont associés à des emprunts, et quels frais leur sont liés ? | Un retard | retards.id_retard, retards.id_emprunt, retards.jours_retard, retards.frais ; emprunts.id_emprunt, emprunts.id_adherent, emprunts.id_exemplaire | Afficher les retards enregistrés et leurs frais, avec l’identifiant de l’emprunt correspondant. |
Vérifier le schéma avant de conclure
Dans la première demande, la ligne finale doit représenter un adhérent, et non un emprunt individuel. Les identifiants relient les deux tables ; le nombre d’emprunts sert ensuite à décider si l’adhérent atteint le seuil demandé. Si vous affichez seulement les noms, vérifiez qu’ils suffisent à distinguer les personnes : conserver l’identifiant évite de confondre deux adhérents portant le même nom.
Pour le nombre d’exemplaires par œuvre, partez de la table qui décrit les œuvres et repérez les exemplaires qui lui sont associés. Le seuil porte sur le nombre d’exemplaires, pas sur le nombre d’œuvres ni sur le nombre d’emprunts. Cette distinction doit rester explicite dans vos critères, même si la requête qui les appliquera sera écrite dans la leçon suivante.
La troisième demande concerne les lignes déjà inscrites dans retards. La table emprunts apporte le lien vers l’adhérent et l’exemplaire si le suivi doit donner davantage de contexte ; les tables adherents et exemplaires, puis oeuvres, ne sont nécessaires que si vous devez afficher les personnes ou les titres plutôt que des identifiants. Choisissez donc les tables selon les colonnes réellement attendues, sans ajouter de jointures inutiles.
Préparer la suite du projet
Avant de coder, relisez chaque demande avec trois questions : une ligne correspond-elle à la bonne entité, toutes les colonnes nécessaires existent-elles, et le critère est-il mesurable à partir de ces colonnes ? Si une réponse manque, précisez la demande ou signalez la limite au lieu de fabriquer une hypothèse silencieuse.
À cette étape, vous préparez les spécifications des requêtes ; vous ne modifiez pas encore les fichiers du projet. Dans la prochaine leçon, vous traduirez ces choix en requêtes commentées dans requetes.sql, en réutilisant les tables et les critères identifiés ici.
À retenir
- Formulez la demande sous la forme d’un résultat attendu : entité par ligne, colonnes à afficher et critère de sélection.
- Associez chaque information aux tables et colonnes qui la contiennent, en suivant les identifiants de liaison.
- Exprimez les seuils sans ambiguïté : au moins deux signifie un compte supérieur ou égal à 2.
- Vérifiez que le schéma contient réellement les données nécessaires ; signalez toute limite avant d’interpréter le résultat.