Aller au contenu principal

Requêtes faciles (bibliotheque)

Écrire des requêtes SQL pour répondre aux questions que se pose la documentaliste du CDI (Centre de Documentation et d'Information).

Petite vérification​

Avant de commencer, vérifiez si vous savez...

  1. sur la base bibliotheque, exécuter INSERT INTO auteurs (nom, prenom, bibliographie) VALUES ('Test', 'Test', ''); puis SELECT * FROM auteurs; et vérifier que la ligne Test Test apparaît bien dans le résultat
  2. exécuter DELETE FROM auteurs WHERE nom = 'Test' AND prenom = 'Test'; puis SELECT * FROM auteurs; et vérifier que la ligne Test Test a bien disparu
  3. expliquer ce qui se passerait si l'on exécutait DELETE FROM auteurs; sans clause WHERE
📌 Réponse attendue

Fichier SQL​

bibliotheque.sql

MCD (Modèle Conceptuel de Données)​

Le MCD est aussi appelé Schéma Entité-Association.

MCD_bibliotheque.png

Télécharger le MCD

MLD (Modèle Logique de Données)​

Le MLD représente les tables et les relations entre les tables

MLD_bibliotheque.png

  • AUTEURS (idauteur, nom, prenom, datenaissance, datedeces, bibliographie, #idlivre)
  • EDITEURS (idediteur, nom, adresse, codepostal, ville, pays, telephone, fax, #idlivre)
  • EMPRUNTEURS (idemprunteur, nom, prenom, adresse, codepostal, ville, telephone, sexe, datenaissance, nbretards)
  • EMPRUNTS (idemprunt, datepret, daterendu, #idlivre, #idemprunteur)
  • LIVRES (idlivre, isbn, titre, nbpages, dateparu, prix, theme, format, #idauteur, #idediteur)

Questions​

Consigne

A partir du schéma « Modèle Conceptuel de Données » MCD représenté ci-dessus, écrire les requêtes SQL pour répondre aux questions suivantes.

1. Comment afficher la liste des éditeurs (toutes les données sur les éditeurs) ?​


2. Comment afficher (uniquement) les noms des éditeurs triés par ordre alphabétique ?​


3. Comment afficher la liste des emprunteurs (toutes les données sur les emprunteurs) ?​


4. Comment afficher les prénoms et noms des emprunteurs triés par ordre alphabétique des noms ?​

Bonne pratique - ORDER BY

Utilisez ORDER BY pour trier les résultats d'une requête SQL.
Par défaut, le tri est ascendant (ASC). Ajoutez DESC pour un tri descendant.
Vous pouvez trier sur plusieurs colonnes : ORDER BY nom, prenom.


5. Comment afficher les titres des livres dont le prix est supérieur à 10 euros, triés par prix descendant ?​


6. Comment afficher les auteurs nés après 1900, avec prénom et nom, triés par date de naissance ?​

Bonne pratique - Comparaison de dates

En SQL, les dates sont comparées sous forme de chaînes au format 'AAAA-MM-JJ' (norme ISO 8601).
Exemple : WHERE datenaissance > '1900-01-01' sélectionne les enregistrements dont la date est postérieure au 1er janvier 1900.


7. Comment afficher le nombre total de livres dans la base de données ?​

Bonne pratique - COUNT

La fonction d'agrégation COUNT(*) compte le nombre total de lignes dans une table.
Utilisez AS pour donner un nom lisible à la colonne résultat : COUNT(*) AS nombre_livres.
D'autres fonctions d'agrégation utiles : SUM(), AVG(), MIN(), MAX().

📌 Une solution