Faire du Cinéma
[30 minutes]
On considère les deux relations suivantes :
FILMS (titre, pays, année, réalisateur, durée)
ACTEURS (titre, acteur)
où les attributs ont les significations et les types suivants :
titre : titre d'un film (chaîne 50 caractères)
pays : pays d'où un film est originaire (chaîne 10 caractères)
annee : année de sortie du film (entier 4 chiffres)
realisateur : nom du réalisateur du film (chaîne 20 caractères)
duree : durée du film en minutes (entier 3 chiffres)
acteur : nom d'acteur (chaîne 20 caractères)
La relation FILMS donne pour chaque film, identifié par son titre, le pays, l'année de sortie, réalisateur et la durée.
La relation ACTEURS donne pour chaque film l'ensemble des principaux acteurs.
À l'aide de l'algèbre relationnelle, exprimer les requêtes suivantes :
Question
Lister les films français (titre, année, réalisateur).
Solution
R1 = Restriction(FILMS, FILMS.pays='France')
R = Projection(R1, R1.titre, R1.année, R1.réalisateur)
Question
Donnez les années de sortie des films dans lesquels l'acteur Jean GABIN a joué.
Solution
R1 = Restriction (ACTEURS, ACTEURS.acteur='Gabin')
R2 = Jointure (R1, FILMS, R1.titre=FILMS.titre)
R = Projection(R2, R2.année)
Question
Trouver les acteurs qui ont tourné avec François Truffaut comme réalisateur.
Solution
R1 = Restriction (FILMS, FILMS.réalisateur='Truffaut')
R2 = Jointure (R1, ACTEURS, R1.titre=ACTEURS.titre)
R = Projection (R2, R2.acteur)
Question
Trouver tous les acteurs qui ont été partenaires de l'actrice Catherine Deneuve.
Solution
R1 = Restriction (ACTEURS, ACTEURS.acteur<>'Deneuve')
R2 = Restriction (ACTEURS, ACTEURS.acteur='Deneuve')
RES1 = Jointure (R1, R2, R1.titre=R2.titre)
R = Projection (RES1, RES1.acteur)
Question
Lister les films dans lesquels le réalisateur est aussi acteur.
Solution
R1 = Jointure (FILMS, ACTEURS, FILMS.titre=ACTEURS.titre)
R2 = Restriction (R1, R1.acteur=R1.realisateur)
R = Projection (R2, R2.titre)
Question
Lister les réalisateurs n'ayant joué comme acteurs que dans des films qu'ils ne réalisaient pas eux-mêmes.
Solution
R1 = Projection (ACTEURS, ACTEURS.acteur)
R2 = Projection (FILMS, FILMS.réalisateur)
RES1 = Intersection (R1, R2)
RES1 donne les réalisateurs qui sont aussi des acteurs.
R3 = Jointure (FILMS, ACTEURS, FILMS.titre=ACTEURS.titre AND FILMS.realisateur=ACTEURS.acteur)
RES2 = Projection (R3, R3.acteur)
RES2 donne les acteurs qui ont joué dans des films qu'ils ont réalisés.
R = Difference (RES1, RES2)
Question
Lister les réalisateurs ayant joué comme acteurs dans des films qu'ils ne réalisaient pas eux-mêmes.
Solution
R1 = Jointure (FILMS, ACTEURS, FILMS.titre=ACTEURS.titre)
R2 = Restriction (R1, R1.acteur<>R1.realisateur)
RES1 = Projection (R2, R2.acteur)
RES1 représente tous les acteurs qui jouent dans des films qu'ils n'ont pas réalisés.
RES2 = Projection (FILMS, FILMS.réalisateur)
RES2 représente tous les réalisateurs.
R = Intersection (RES1, RES2)
Question
Donnez les acteurs qui jouent dans tous les films de François TRUFFAUT.
Solution
R1 = Restriction (FILMS, FILMS.réalisateur='Truffaut')
R2 = Projection(R1, R1.titre)
R = Division (ACTEURS, R2)