06 Silence, moteur, action
Ce TP basé sur un extrait d'un dataset de films a pour but de récapituler l'ensemble des notions vus jusqu'à aujourd'hui ensemble. A savoir création d'une base de donnée, insertion de données et requêtage.
Structure de la base de données
La base de données est orientée autour d'une table Movie
qui contient l'ensemble des informations d'un film. À savoir son titre, sa catégorie, sa durée, son année de sortie, s'il a été récompensé, sa popularité mais aussi son directeur, son acteur et actrice principaux.
La table Category
contient le nom de la catégorie et la table Person
, qui servira aussi bien pour les acteurs/actrices que pour les directeurs contient le nom et le prénom de la personne.
Bien évidemment chaque table posséde un champ id
.
Création du schéma de la base de données
En vous aidant des informations ci-dessus créer le schéma de base de données via DB Browser for SQLite (penser au clé étrangére).
Insertion des données
Insérer les données dans les tables Category
, Person
et Movie
grâce à trois requêtes d'insertion et en vous servant du fichier de données disponible ici.
Requêtes
- Lister les nom et idenfitiant de chaque catégorie.
- Combien de catégorie comporte la base, faites apparaître le résultat sous le nom
total_category
. - Lister les nom, prénom et identifiant des personnes dont le nom commence par
S
. - Lister les nom, prénom et identifiant des personnes dont le nom finit par
ing
. - Combien de personnes y'a t'il dans la base (
total_person
). - Quel est l'identifiant de
Steven Spielberg
. - Lister les films (titre, année de sortie, durée, identifiant) dont le titre contient
star
et en les ordonnant par année de sortie. - Combien de film y'a t'il dans la base (
total_movie
). - Quelle est l'année de sortie des aventuries de l'arche perdue (
Raiders of the Lost Ark
). - Lister l'ensemble des films (titre, nom de la catégorie, durée, popularité et récompense) réalisé par
Steven Spielberg
(attention il s'agit de faire une jointure entre les tables person et movie et non d'utiliser directement l'identifiant). - Lister les films; titre, année de sortie, durée, identifiant, nom de la catégorie, nom et prénom du réalisteur (
director_name
,director_firstname
), nom et prénom de l'acteur et de l'actrice principaux (main_actor_name
,main_actor_firstname
,main_actress_name
,main_actress_firstname
); dont le titre contientstar
et en les ordonnant par année de sortie. - Quelle est la durée moyenne des films (
avg_length
). - Quelle est la durée moyenne des films réalisé par
Steven Spielberg
(avg_length
,director_name
,director_firstname
). - Combien de film
George Lucas
a-t-il réalisé. - Quelle est la durée moyenne des films par catégorie (
avg_length
,category
). - Combien de films ont reçu une récompense (
total_rewarded
). - Combien de films ont reçu une récompense par catégorie (
total_rewarded
,category
). - Lister le nombre de films réalisé par directeur (
total
,director_name
,director_firstname
) dont le total est supérieur à 10 et ordonné décroissant partotal
. - Combien de films ont une popularité supérieur à 60 (
total
). - Combien de films ont été réalisé par leurs acteur principal (
total
).