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 :
-
shows
reprend les attributs et le contenu du fichiershows.csv
; -
global
reprend les attributs et le contenu du fichierglobal_ratings.csv
-
episodes
reprend les attributs et le contenu du fichierepisode_ratings.csv
-
Quelle est la clé primaire de la table
shows
correspondant 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
global
correspondant 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
episodes
correspondant 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.code
fait référence àglobal.code
- L'attribut
global.code
fait référence àshows.code
- L'attribut
global.rating
fait référence àepisodes.rating
- L'attribut
episodes.code
fait référence àshows.code
- ❌ L'attribut
shows.code
fait référence àglobal.code
- ✅ L'attribut
global.code
fait référence àshows.code
- ❌ L'attribut
global.rating
fait référence àepisodes.rating
- ✅ L'attribut
episodes.code
fait référence àshows.code
- L'attribut
-
Créer la table
shows
.Votre réponse
Réponse
🗂️ Requête SQLCREATE TABLE shows ( code TEXT, title TEXT, PRIMARY KEY(code) );
-
Créer la table
global
.Votre réponse
Réponse
🗂️ 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
Réponse
🗂️ 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
Réponse
🗂️ 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
Réponse
🗂️ Requête SQLDELETE FROM shows WHERE title = "Yes Minister"