DY

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.

Spirou Camera

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.

Movies UML Database Scheme
Diagramme UML de la base de données de films

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

  1. Lister les nom et idenfitiant de chaque catégorie.
  2. Combien de catégorie comporte la base, faites apparaître le résultat sous le nom total_category.
  3. Lister les nom, prénom et identifiant des personnes dont le nom commence par S.
  4. Lister les nom, prénom et identifiant des personnes dont le nom finit par ing.
  5. Combien de personnes y'a t'il dans la base (total_person).
  6. Quel est l'identifiant de Steven Spielberg.
  7. 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.
  8. Combien de film y'a t'il dans la base (total_movie).
  9. Quelle est l'année de sortie des aventuries de l'arche perdue (Raiders of the Lost Ark).
  10. 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).
  11. 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 contient star et en les ordonnant par année de sortie.
  12. Quelle est la durée moyenne des films (avg_length).
  13. Quelle est la durée moyenne des films réalisé par Steven Spielberg (avg_length, director_name, director_firstname).
  14. Combien de film George Lucas a-t-il réalisé.
  15. Quelle est la durée moyenne des films par catégorie (avg_length, category).
  16. Combien de films ont reçu une récompense (total_rewarded).
  17. Combien de films ont reçu une récompense par catégorie (total_rewarded, category).
  18. 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 par total.
  19. Combien de films ont une popularité supérieur à 60 (total).
  20. Combien de films ont été réalisé par leurs acteur principal (total).