Aller au contenu principal

Requêtes pour le CDI

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

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 (les informations sur les éditeurs) ?


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


3. Comment afficher la liste des emprunteurs (les informations 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