TP SQL
Travaux pratiques en SQL
(cours en ligne, ou version en pdf)
Traiter au choix l’un des sujets suivants. Au démarrage, représenter le schéma relationnel de la database. Répondre aux questions. Puis créer par vous même 5 nouvelles questions sur la base de données, auxquelles vous répondrez avec l’instruction SQL correspondante. Mettez vos reponses dans un fichier
base.txtque vous placerez à la racine de votre dossierdevoirs/tixidor
Exemple: Pour la base de données ci-dessous, le schéma relationnel est:
rôle((#idFilm,int),(#idActeur,int),(nomRole,varchar))
films(idFilm,int),(titre,varchar),(annee,int),(idRealisateur,int),(resume,text),(codePays,varchar))
notes((#idFilm,int),(#email,varchar),(nom,varchar),(prenom,varchar),(#codePays,varchar))
pays((code,varchar),(nom,varchar),(langue,varchar))
artistes((idArtiste,int),(nom,varchar),(prenom,varchar),(anneeNaiss,int))
schema de la base de données films
On peut imaginer comme question sur cette base de données: Quel est l’acteur qui a joué dans les films qui ont obtenu les meilleurs notes?
Pays, villes et langues parlées
Exercice sur le langage SQL rédigés par N. Revéret sur forge.apps.education.fr. Interface en ligne.
Base de données Netflix
Exercice sur le langage SQL rédigés par N. Revéret sur forge.apps.education.fr
Murder Party à SQL City
retrouvez le meurtrier grâce aux bases de données de la police
-
Pour le TP guidé: Aller à la ressource sur mystery.knightlab.com et suivre les instructions.
-
Le fichier sql-murder-mystery.db: peut être télechargé pour une utilisation en local avec dbBrowserSQLite. Le projet peut être directement consulté sur Github .
-
Pensez à prendre des notes au fur et à mesure de votre avancée dans l’enquête.
schema de la base de données murders
Aide:
-
Observez bien le Diagramme Entité Relation de cette base de données. Vous pourrez y lire le schéma relationnel de ces tables. Les clés primaires sont indiquées avec une clé jaune et les clés étrangères avec une flèche bleue.
-
La relation entre tables est indiquée par une flèche.
-
La liste des tables peut être obtenue avec:
- Pour obtenir la liste des 10 premières entrées de la table
crime_scene_report:
-
La clause
WHEREpermet d’ajouter un filtre à votre requête. Elle est suivie d’une condition, par exemple:WHERE city = 'SQL City'. -
Lire le rappel sur les wildcards par exemple
'P%'pour obtenir les noms qui commencent parP. Remplacer alors le signe=parLIKEdans la clauseWHERE.
base de données exoplanetes.db
Principe
Nous allons utiliser un script Python pour nous connecter à la base de données exoplanetes.db et tester quelques requêtes en langage SQLite.
Nous utiliserons la librairie sqlite3 de Python.
Il est conseillé d’utiliser l’IDE Spyder pour editer et interpréter les scripts écrits en Python.
La base de données doit être téléchargée ici : exoplanetes.db
extrait de la base de données
Script de base
La suite du TP à la page: python et BDD