Les notes des 250 meilleures séries selon IMDB⚓︎
Le jeu de données disponible ici recense les notes attribuées par les utilisateurs du site IMDB à 250 séries.
Les deux fichiers CSV disponibles sur le site ont été réorganisés en trois fichiers :
-
shows.csv: contient les informations décrivant chacune des série (son code et son titre, l'un et l'autre au format texte) -
global_ratings.csv: contient les notes attribuées à chaque série ainsi que le nombre de votants. Les séries sont désignées par un code faisant référence au code utilisé dans le fichier précédent. Les notes sont des nombres décimaux et le nombre de votants des entiers. -
episode_ratings.csv: contient les notes attribuées à chaque épisode de chaque saison de chaque série. Là encore, les séries sont désignées par le code utilisé dans le fichiershows.csv. Les numéros de saison, d'épisode sont des entiers. Les notes sont des nombres décimaux.
La base de données imdb_ratings est déjà créée. Elle ne contient pour l'instant aucune table.
-
Combien faut-il créer de tables ?
- Une
- Deux
- Trois
- ❌ Une
- ❌ Deux
- ✅ Trois. Il faut créer une table par fichier
csv.
[Spoiler Alert] La ou les table(s) à utiliser
Les tables utilisées dans la suite de l'exercice sont les suivantes :
-
showsreprend les attributs et le contenu du fichiershows.csv; -
globalreprend les attributs et le contenu du fichierglobal_ratings.csv -
episodesreprend les attributs et le contenu du fichierepisode_ratings.csv
-
Quelle est la clé primaire de la table
showscorrespondant au fichiershow.csv?- L'attribut
code - L'attribut
title - Les deux attributs couplés
- L'un ou l'autre des deux attributs...
- ❌ L'attribut
code - ❌ L'attribut
title - ❌ Les deux attributs couplés
- ✅ L'un ou l'autre des deux attributs...
- L'attribut
-
Quelle est la clé primaire de la table
globalcorrespondant au fichierglobal_ratings.csv?- L'attribut
code - L'attribut
rating - L'attribut
rating_count
- ✅ L'attribut
code - ❌ L'attribut
rating - ❌ L'attribut
rating_count
- L'attribut
-
Quelle est la clé primaire de la table
episodescorrespondant au fichierepisode_ratings.csv?- L'attribut
code - L'attribut
season - L'attribut
episode - L'attribut
rating - Il faut utiliser une clé multiple
- ❌ L'attribut
code - ❌ L'attribut
season - ❌ L'attribut
episode - ❌ L'attribut
rating - ✅ Il faut utiliser une clé multiple. La clé est formée des attributs
(code, season, episodes)
- L'attribut
-
Quelles sont les clés étrangères présentes dans cette base de données ? (on désigne les attributs au format
table.attribut)- L'attribut
shows.codefait référence àglobal.code - L'attribut
global.codefait référence àshows.code - L'attribut
global.ratingfait référence àepisodes.rating - L'attribut
episodes.codefait référence àshows.code
- ❌ L'attribut
shows.codefait référence àglobal.code - ✅ L'attribut
global.codefait référence àshows.code - ❌ L'attribut
global.ratingfait référence àepisodes.rating - ✅ L'attribut
episodes.codefait référence àshows.code
- L'attribut
-
Créer la table
shows.Votre réponse
Solution
🗂️ Requête SQLCREATE TABLE shows ( code TEXT, title TEXT, PRIMARY KEY(code) ); -
Créer la table
global.Votre réponse
Solution
🗂️ Requête SQLCREATE TABLE global ( code TEXT, rating REAL, rating_count INTEGER, PRIMARY KEY (code), FOREIGN KEY(code) REFERENCES shows (code) ); -
Créer la table
episodes.Votre réponse
Solution
🗂️ Requête SQLCREATE TABLE episodes ( code TEXT, season INTEGER, episode INTEGER, rating REAL, PRIMARY KEY(code, season, episode), FOREIGN KEY(code) REFERENCES shows (code) ); -
Importer les dix premières séries dans dans la table
shows.Votre réponse
Solution
🗂️ Requête SQLINSERT INTO shows VALUES ("tt0995832", "Generation Kill"), ("tt0080306", "Yes Minister"), ("tt7259746", "Queer Eye"), ("tt0397150", "Garth Marenghi's Darkplace"), ("tt0459159", "The Thick of It"), ("tt9544034", "The Family Man"), ("tt0314979", "Battlestar Galactica"), ("tt0112159", "Neon Genesis Evangelion"), ("tt8289930", "Formula 1: Drive to Survive"), ("tt0877057", "Death Note"); -
Supprimer la série « Yes Minister » de la table
shows:Votre réponse
Solution
🗂️ Requête SQLDELETE FROM shows WHERE title = "Yes Minister"