Terminale NSI - 2022/2023

TP sur le langage SQL n°2 : utilisation de Python


Téléchargez tout d'abord la base de données SQLite db_livres_auteurs.db (clic-droit sur ce lien, puis enregistrer-sous...) et ouvrez la avec le logiciel DB Browser for SQLite.

Travail à faire :

Vous mettrez au point les 10 requêtes SQL, les rassemblerez dans un fichier texte qui devra être nommé votrenom.sql

Vous concevrez ensuite un programme Python votrenom.py permettant d'afficher (en soignant la présentation), les résultats de ces dix requêtes SQL. Voir un exemple ici.

Liste des requêtes SQL à mettre au point :

  1. Affichage des titres des romans d'Asimov présents dans la base de données
  2. Affichage du nom et du prénom de l'auteur du roman "De la terre à la lune", avec l'année de publication
  3. Affichage du nombre de romans écrits en français présents dans la base de données
  4. Affichage du nombre total de romans dont les auteurs sont nés entre 1900 et 1925
  5. Affichage de la moyenne des notes des romans de K.Dick
  6. Affichage des titres des romans écrits en anglais, avec le nom de leur auteur
  7. Affichage des noms des auteurs qui ont un seul roman dans la base de données
  8. Affichage du nombre de chaque note, avec la note (le nombre de 7 , le nombre de 8, etc.)
  9. Affichage des noms d'auteurs anglais avec leurs moyennes, triés par moyennes décroissantes
  10. Affichage des titres de romans, avec le nom de leur auteur et leur note, ayant une note strictement inférieure à 9, triés par ordre alphabétique du nom des auteurs

Aide :

Pour importer votre base de données dans DB Browser for SQLite, il suffit de lancer le logiciel puis de cliquer sur le bouton Ouvrir une base de données, et ensuite de sélectionner le fichier db_livres_auteurs.db.

Vous aurez à utiliser GROUP BY et HAVING. Reportez-vous à la documentation en ligne.

Voici les résultats attendus (captures d'écrans de DB Browser for SQLite) :

Requête n° 1 : réponse 1

Requête n° 2 : réponse 2

Requête n° 3 : réponse 3

Requête n° 4 : réponse 4

Requête n° 5 : réponse 5

Requête n° 6 : réponse 6

Requête n° 7 : réponse 7

Requête n° 8 : réponse 8

Requête n° 9 : réponse 9

Requête n°10 : réponse 10