Énoncé de l'Exercice (BD Cinéma):
Les attributs NUM, NUM, NUMA, NUMC, NUMS sont des identifiants uniques (clés primaires) pour respectivement : FILM, PERSONNE, ACTEUR, CINÉMA, SALLE.
Un de ces attributs utilisé comme attribut d’une autre relation est une clé étrangère qui renvoie à la clé primaire de la relation correspondante, par exemple dans GÉNÉRIQUE, NUMF renvoie au NUMF de FILM et est défini sur le même domaine.
De plus, les attributs RÉALISATEUR dans FILM et NUMA dans ACTEUR sont définis sur le domaine des NUMP, et renvoient au NUMP de la personne correspondante.
Réaliser les Requêtes suivantes:
Requête 1 : Retrouver la liste de tous les films.
Requête 2 : Retrouver la liste des films dont la longueur dépasse 180 min.
Requête 3 : Donner la liste de tous les genres de film.
Requête 4 : Trouver le titre et l’année des films de science fiction dont le budget dépasse 5.000.000 $.
Requête 5 : Donner le nombre de films par genre.
Requête 6 : Donner le nombre de films de 1960 par genre.
Requête 7 : Trouver le titre des films réalisés par Roman Polanski.
Requête 8 : Quels sont les acteurs comiques (nom, prénom) qui ont joué dans un film de Spielberg.
Requête 9 : Trouver le titre et l’année du film le plus long.
Requête 10 : Nom et prénom des acteurs qui ont joué Gavroche dans les différentes versions des « Misérables » avec les dates correspondantes.
Requête 11 : Donner le nom et le prénom des réalisateurs qui ont joué dans au moins un de leurs propres films.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 |
Requête 1 : Retrouver la liste de tous les films. SELECT * FROM FILM Requête 2 : Retrouver la liste des films dont la longueur dépasse 180 min. SELECT * FROM FILM WHERE LONGUEUR > 180 Requête 3 : Donner la liste de tous les genres de film. SELECT DISTINCT GENRE FROM FILM Requête 4: Trouver le titre et l’’année des films de science fiction dont le budget dépasse 5.000.000 $. SELECT TITRE, ANNÉE FROM FILM WHERE GENRE = ‘SciFi’ ANDBUDGET > 5000000 Requête 5 : Donner le nombre de films par genre. SELECT GENRE, COUNT (*) FROM FILM GROUP BY GENRE Requête 6 : Donner le nombre de films de 1960 par genre. SELECT GENRE, COUNT (*) FROM FILM WHERE ANNÉE = 1960 GROUP BY GENRE Requête 7 Trouver le titre des films réalisés par Roman Polanski Forme plate : SELECT F.TITRE FROM FILM F, PERSONNE P WHERE F.RÉALISATEUR = P.NUMP AND P.PRÉNOM = ‘Roman’ AND P.NOM = ‘Polanski’ Forme imbriquée : SELECT TITRE FROM FILM WHERE RÉALISATEUR IN ( SELECT NUMP FROM PERSONNE WHERE PRÉNOM = ‘Roman’ AND NOM = ‘Polanski’ ) Requête 8 : Quels sont les acteurs comiques (nom, prénom) qui ont joué dans un film de Spielberg. Forme plate : SELECT PA.PRÉNOM, PA.NOM FROM PERSONNE PA, DISTRIBUTION D, FILM F, PERSONNE PR WHERE PA.NUMP = D.NUMA AND D.SPÉCIALITÉ = ‘Comique’ AND D.NUMF = F.NUMF AND F.RÉALISATEUR = PR.NUMP AND PR.NOM = ‘Spielberg’ Forme imbriquée : SELECT PRÉNOM, NOM FROM PERSONNE WHERE NUMP IN ( SELECT NUMA FROM DISTRIBUTION WHERE SPÉCIALITÉ = ‘Comique’ ANDNUMF IN ( SELECT NUMF FROMFILM WHERE RÉALISATEUR IN ( SELECT NUMP FROMPERSONNE WHERE NOM = ‘Spielberg’ ) ) ) Requête 9 : Trouver le titre et l’année du film le plus long. Forme imbriquée : SELECT TITRE, ANNÉE FROM FILM WHERE LONGUEUR = ( SELECT MAX (LONGUEUR) FROM FILM ) Requête 10 : Nom et prénom des acteurs qui ont joué Gavroche dans les différentes versions des « Misérables » avec les dates correspondantes. Forme plate : SELECT P.PRÉNOM, P.NOM, F.DATE FROM PERSONNE P, DISTRIBUTION D, FILM F WHERE P.NUMP = D.NUMA AND D.RÔLE = ‘Gavroche’ AND G.NUMF = F.NUMF AND F.TITRE = ‘Les misérables’ Forme imbriquée : SELECT P.PRÉNOM, P.NOM, F.DATE FROM PERSONNE P, FILM F WHERE F.TITRE = ‘Les misérables’ AND (P.NUMP, F.NUMF) IN ( SELECT NUMA, NUMF FROM DISTRIBUTION WHERE RÔLE = ‘Gavroche’ ) Requête 11 : Donner le nom et le prénom des réalisateurs qui ont joué dans au moins un de leurs propres films. Forme plate : SELECT DISTINCT P.PRÉNOM, P.NOM FROM PERSONNE P, FILM F, DISTRIBUTION D WHERE P.NUMP = F.RÉALISATEUR AND F.NUMF = D.NUMF AND D.NUMA = F.RÉALISATEUR Forme imbriquée SQL-92 : SELECT DISTINCT PRÉNOM, NOM FROM PERSONNE WHERE NUMP IN ( SELECT RÉALISATEUR FROM FILM WHERE (RÉALISATEUR, NUMF) IN ( SELECT NUMA, NUMF FROM DISTRIBUTION ) ) |
0 commentaires:
Enregistrer un commentaire