sio:bloc1:td3

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
sio:bloc1:td3 [2026/11/13 00:58] – créée jcheronsio:bloc1:td3 [2026/11/13 01:53] (Version actuelle) – jcheron
Ligne 3: Ligne 3:
 ===== Présentation ===== ===== Présentation =====
  
-Ce support accompagne le script ''mediatheque_pedagogique.sql'', destiné à MySQL 8.0+. Le jeu de données pédagogique décrit une médiathèque : éditeurs, adhérents, auteurs, livres, exemplaires physiques et emprunts. Les noms et données sont fictifs.+Ce support accompagne le script {{ :sio:bloc1:mediatheque_pedagogique.zip |}}, destiné à MySQL 8.0+. Le jeu de données pédagogique décrit une médiathèque : éditeurs, adhérents, auteurs, livres, exemplaires physiques et emprunts. Les noms et données sont fictifs.
  
 ===== Installation et préparation ===== ===== Installation et préparation =====
  
-  - Importez ''mediatheque_pedagogique.sql'' dans une instance MySQL 8.0+ avec un compte autorisé à créer une base et des tables. +==== 1. Installer DBeaver Community ====
-  - Le script sélectionne la base ''mediatheque_pedagogique'' et crée les tables ainsi que les données d’exercice. +
-  - **Attention :** à chaque réexécution, le script supprime puis recrée les tables de même nom dans cette base. Utilisez un environnement de pratique, et non une base contenant des données à conserver. +
-  - Ouvrez un client SQL et assurez-vous que la base ''mediatheque_pedagogique'' est sélectionnée avant de travailler. +
-  - Rédigez et exécutez vos requêtes dans votre client SQL.+
  
-===== Contexte et schéma =====+DBeaver Community est un client de base de données. Il sert à écrire et exécuter des requêtes, mais ne contient pas le serveur MySQL.
  
-Le modèle relationnel comprend les tables suivantes. Les identifiants préfixés par ''id_'' sont des clés; les liens indiqués correspondent aux clés étrangères du modèle.+  - Téléchargez l’édition Community depuis [[https://dbeaver.io/download/|le site officiel de DBeaver Community]]. Choisissez l’installateur qui correspond à votre système d’exploitation. 
 +  - Lancez l’installateur téléchargé et suivez les étapes proposées par votre système, puis ouvrez DBeaver. 
 +  - DBeaver utilise un pilote MySQL. Si DBeaver propose de télécharger ou d’installer ce pilote lors de la création de la connexion, acceptez.
  
-^ Table ^ Champs principaux ^ Rôle / relations ^ +==== 2. Installer et démarrer MariaDb Server ====
-| ''editeur'' | ''id_editeur'', ''nom'', ''ville'' | Informations sur les éditeurs. | +
-| ''livre'' | ''id_livre'', ''titre'', ''genre'', ''annee_publication'', ''id_editeur'' | Catalogue; ''id_editeur'' référence ''editeur.id_editeur''. | +
-| ''auteur'' | ''id_auteur'', ''nom'', ''prenom'' | Informations sur les auteurs. | +
-| ''livre_auteur'' | ''id_livre'', ''id_auteur'', ''ordre_auteur'' | Association entre livres et auteurs; les deux identifiants référencent leurs tables respectives. | +
-| ''exemplaire'' | ''id_exemplaire'', ''id_livre'', ''code_barres'', ''date_acquisition'' | Exemplaires physiques; ''id_livre'' référence ''livre.id_livre''. | +
-| ''adherent'' | ''id_adherent'', ''nom'', ''prenom'', ''ville'', ''date_inscription'' | Informations sur les adhérents. | +
-| ''emprunt'' | ''id_emprunt'', ''id_exemplaire'', ''id_adherent'', ''date_emprunt'', ''date_echeance'', ''date_retour'' | Historique des prêts; les identifiants d’exemplaire et d’adhérent référencent leurs tables respectives. |+
  
-''date_retour'' peut être ''NULL'' lorsqu’un emprunt n’est pas encore rendu dans les données d’exercice. Les exercices qui portent sur les retards utilisent la date de référence fixe du 15 mars 2025 afin de garder des résultats reproductibles.+MariaDB Server est un logiciel distinct de DBeaver Community. Installez MariaDB Server, puis vérifiez que le service serveur est démarré. Consultez les [[https://mariadb.com/downloads/|instructions officielles d’installation de MariaDB]] correspondant à votre système.
  
-===== A. Catalogue, filtres et tri =====+Conservez le nom d’utilisateur et le mot de passe configurés pour le serveur. Le compte utilisé pour l’exercice doit être autorisé à créer une base de données et des tables. 
 +==== 3. Connecter DBeaver à MariaDb et charger le jeu de données ====
  
-==== 1. Lister le catalogue ====+  - Dans DBeaver, démarrez l’assistant de nouvelle connexion, puis recherchez et choisissez ''MariaDb''. 
 +  - Pour une installation locale, indiquez ''localhost'' comme hôte et ''3306'' comme port, sauf si votre serveur a été configuré autrement. Saisissez le nom d’utilisateur et le mot de passe MariaDb. Vous pouvez laisser la base non renseignée pour cette première connexion. 
 +  - Testez la connexion, puis validez. Si nécessaire, laissez DBeaver télécharger le pilote JDBC MariaDb. 
 +  - Ouvrez le fichier ''mediatheque_pedagogique.sql'' dans l’éditeur SQL associé à cette connexion, puis exécutez le script complet. Le script crée et sélectionne la base ''mediatheque_pedagogique'', puis crée les tables et insère les données d’exercice. 
 +  - Pour les exercices, ouvrez un nouvel éditeur SQL sur cette connexion; le script a déjà sélectionné la base à utiliser.
  
-Afficher le titre, le genre et l’année de publication de tous les livres.+===== Schéma relationnel =====
  
-<sxh sql;title:Votre requête>+^ Table ^ Champs utiles ^ Liens ^ 
 +| ''editeur'' | ''id_editeur'', nom, ville | Référencé par ''livre.id_editeur''. | 
 +| ''adherent'' | ''id_adherent'', nom, prenom, ville, date_inscription | Référencé par ''emprunt.id_adherent''. | 
 +| ''auteur'' | ''id_auteur'', nom, prenom | Associé aux livres par ''livre_auteur''. | 
 +| ''livre'' | ''id_livre'', titre, genre, annee_publication, ''id_editeur'' | Référence ''editeur''. | 
 +| ''livre_auteur'' | ''id_livre'', ''id_auteur'', ordre_auteur | Table d’association livres-auteurs. | 
 +| ''exemplaire'' | ''id_exemplaire'', ''id_livre'', code_barres, date_acquisition | Référence ''livre''. | 
 +| ''emprunt'' | ''id_emprunt'', ''id_exemplaire'', ''id_adherent'', date_emprunt, date_echeance, date_retour | Référence ''exemplaire'' et ''adherent''. |
  
-</sxh>+Un ''date_retour'' à ''NULL'' signale un emprunt non rendu. Pour les exercices de retard, utilisez la date de référence **15 mars 2025**. Les livres 47 à 50 n’ont pas d’exemplaire.
  
-==== 2. Filtrer par genre ====+===== A. Requêtes simples, filtres et tris =====
  
-Afficher les titres de science-fiction publiés en 1950 ou après.+<WRAP todo round> 
 +=== Exercice 1 — Parcourir le catalogue ===
  
-<sxh sql;title:Votre requête>+Afficher le titre, le genre et l’année de publication de chaque livre. Trier par genre, puis par titre. 
 +=== Exercice 2 — Filtrer un genre ===
  
-</sxh>+Afficher le titre et l’année des livres de ''Science-fiction'' publiés depuis 2015 inclus.
  
-==== 3. Rechercher et trier ====+=== Exercice 3 — Recherche dans les titres ===
  
-Afficher les livres dont le titre contient « du », triés par année de publication décroissante puis par titre croissant.+Trouver les titres contenant le mot ''des''. Trier par année de publication décroissante.
  
-<sxh sql;title:Votre requête>+=== Exercice 4 — Livres d’un intervalle d’années ===
  
-</sxh>+Afficher le titre et l’année des livres publiés entre 2000 et 2010 inclus.
  
-==== 4. Filtrer par intervalle de dates ====+=== Exercice 5 — Inscriptions récentes ===
  
-Afficher les emprunts commencés entre le 1er et le 28 février 2025 inclus, du plus récent au plus ancien.+Afficher le nom, le prénom et la date d’inscription des adhérents inscrits depuis le 1er janvier 2024. Trier du plus récent au plus ancien.
  
-<sxh sql;title:Votre requête>+=== Exercice 6 — Limiter un résultat ===
  
-</sxh>+Afficher les dix livres les plus récents, du plus récent au plus ancien. 
 +</WRAP>
  
-===== B. Relations entre les tables =====+===== B. Jointures et relations ===== 
 +<WRAP todo round>
  
-==== 5. Livre et éditeur ====+=== Exercice 7 — Livres et éditeurs ===
  
-Afficher chaque titre avec le nom de son éditeur.+Pour chaque livre, afficher le titre et le nom de son éditeur. Trier par nom d’éditeur puis par titre.
  
-<sxh sql;title:Votre requête>+=== Exercice 8 — Livres et auteurs ===
  
-</sxh>+Afficher le titre de chaque livre, ainsi que le nom et le prénom de ses auteurs. Utiliser la table ''livre_auteur''. Un livre ayant plusieurs auteurs doit apparaître sur plusieurs lignes.
  
-==== 6. Emprunts, adhérents et exemplaires ====+=== Exercice 9 — Livres et exemplaires ===
  
-Lister les prêts avec le nom et le prénom de l’adhérent, le code-barres, la date d’emprunt et la date de retour. Inclure les prêts actifs.+Afficher le titre des livres et le code-barres de leurs exemplaires.
  
-<sxh sql;title:Votre requête>+=== Exercice 10 — Emprunts et adhérents ===
  
-</sxh>+Afficher chaque emprunt avec le nom, le prénom et la ville de l’adhérent, ainsi que les dates d’emprunt, d’échéance et de retour. Inclure les emprunts non rendus.
  
-==== 7. Livres et auteurs ====+=== Exercice 11 — Parcours complet d’un emprunt ===
  
-Afficher chaque titre et chacun de ses auteurs. Le livre coécrit apparaît sur deux lignes, une par auteur.+Pour chaque emprunt, afficher le titre du livre, son code-barres, le nom et le prénom de l’adhérent, ainsi que les dates d’emprunt, d’échéance et de retour.
  
-<sxh sql;title:Votre requête>+=== Exercice 12 — Livres sans exemplaire ===
  
-</sxh>+Afficher les livres qui n’ont aucun exemplaire dans la base. 
 +</WRAP> 
 +===== C. Agrégats et regroupements ===== 
 +<WRAP todo round>
  
-==== 8. Livres et nombre d’exemplaires ====+=== Exercice 13 — Effectif par ville ===
  
-Afficher tous les livres et le nombre d’exemplaires de chacun, y compris ceux qui en ont zéro.+Compter les adhérents de chaque ville et trier de l’effectif le plus important au plus faible.
  
-<sxh sql;title:Votre requête>+=== Exercice 14 — Catalogue par genre ===
  
-</sxh>+Compter le nombre de livres par genre et trier du plus grand nombre au plus petit.
  
-===== C. Comptages et regroupements =====+=== Exercice 15 — Genres avec au moins cinq titres ===
  
-==== 9. Nombre de livres par genre ====+Afficher les genres qui comptent au moins cinq livres.
  
-Afficher le nombre de livres dans chaque genre, du genre le plus représenté au moins représenté.+=== Exercice 16 — Nombre d’exemplaires par livre ===
  
-<sxh sql;title:Votre requête>+Pour chaque livre, afficher le titre et le nombre d’exemplaires. Inclure les livres qui n’en ont aucun.
  
-</sxh>+=== Exercice 17 — Emprunts par adhérent ===
  
-==== 10. Genres représentés plusieurs fois ====+Afficher chaque adhérent avec le nombre d’emprunts enregistrés, y compris ceux qui n’ont aucun emprunt.
  
-Afficher uniquement les genres comptant au moins deux livres.+=== Exercice 18 — Adhérents ayant plusieurs emprunts ===
  
-<sxh sql;title:Votre requête>+Afficher l’identifiant, le nom et le nombre d’emprunts des adhérents ayant au moins trois emprunts enregistrés. 
 +</WRAP> 
 +===== D. Dates et analyse des emprunts ===== 
 +<WRAP todo round>
  
-</sxh>+=== Exercice 19 — Emprunts actifs ===
  
-==== 11. Nombre de prêts par adhérent ====+Afficher les emprunts non rendus, avec le titre du livre, le nom de l’adhérent, la date d’emprunt et la date d’échéance.
  
-Afficher chaque adhérent et le nombre total de ses prêts enregistrés, même s’il n’en a aucun.+=== Exercice 20 — Retards au 15 mars 2025 ===
  
-<sxh sql;title:Votre requête>+À la date du 15 mars 2025, afficher les emprunts non rendus dont la date d’échéance est antérieure à cette date. Afficher également le nombre de jours de retard.
  
-</sxh>+=== Exercice 21 — Retours en retard ===
  
-==== 12. Adhérents ayant plusieurs prêts ====+Afficher les emprunts rendus après leur date d’échéance et calculer le nombre de jours séparant l’échéance du retour.
  
-Afficher les adhérents qui ont au moins deux emprunts enregistrés (historiques et actifs confondus).+=== Exercice 22 — Nombre d’emprunts par livre ===
  
-<sxh sql;title:Votre requête>+Pour chaque livre, afficher son titre et le nombre total d’emprunts enregistrés. Inclure les livres sans exemplaire et ceux dont les exemplaires n’ont jamais été empruntés.
  
-</sxh>+=== Exercice 23 — Emprunts par genre ===
  
-===== D. Prêts et analyses de dates =====+Pour chaque genre, afficher le nombre d’emprunts enregistrés pour ses livres. Inclure les genres pour lesquels aucun emprunt n’a été enregistré.
  
-==== 13. Prêts actifs ==== +=== Exercice 24 — Auteurs de plusieurs livres ===
- +
-Lister les prêts encore actifs au sens pédagogique (''date_retour'' non renseignée), avec l’adhérent et le livre concerné. +
- +
-<sxh sql;title:Votre requête> +
- +
-</sxh> +
- +
-==== 14. Retards à la date de référence ==== +
- +
-Parmi les prêts actifs au 15 mars 2025, afficher ceux dont l’échéance est dépassée et calculer le nombre de jours de retard. +
- +
-<sxh sql;title:Votre requête> +
- +
-</sxh> +
- +
-==== 15. Retours après échéance ==== +
- +
-Lister les prêts rendus après leur date d’échéance, avec le nombre de jours de retard au retour. +
- +
-<sxh sql;title:Votre requête> +
- +
-</sxh> +
- +
-==== 16. Nombre de prêts par titre ==== +
- +
-Pour chaque livre, afficher le nombre de prêts associés à ses exemplaires; inclure les livres sans exemplaire ou sans prêt. +
- +
-<sxh sql;title:Votre requête> +
- +
-</sxh>+
  
 +Afficher le nom et le prénom des auteurs associés à au moins deux livres, ainsi que le nombre de livres concernés.
 +</WRAP>
  • sio/bloc1/td3.1794527898.txt.gz
  • Dernière modification : il y a 24 heures
  • de jcheron