Faire du Cinéma

[30 minutes]

On considère les deux relations suivantes :

1
FILMS (titre:string, pays:string, année:integer(4), réalisateur:string, durée:integer(3))
2
ACTEURS (titre:string, acteur:string)

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 ci-après.

Question

Lister les films français (titre, année, réalisateur).

Solution

1
R1 = Restriction(FILMS, FILMS.pays='France')
2
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

1
R1 = Restriction (ACTEURS, ACTEURS.acteur='Gabin')
2
R2 = Jointure (R1, FILMS, R1.titre=FILMS.titre)
3
R = Projection(R2, R2.année)

Question

Trouver les acteurs qui ont tourné avec François Truffaut comme réalisateur.

Solution

1
FilmsDeTruffaut = Restriction (FILMS, FILMS.réalisateur='Truffaut')
2
ActeursDesFilmsDeTruffaut = Jointure (FilmsDeTruffaut, ACTEURS, FilmsDeTruffaut.titre=ACTEURS.titre)
3
Resultat = Projection (ActeursDesFilmsDeTruffaut, ActeursDesFilmsDeTruffaut.acteur)

Question

Lister les films dans lesquels le réalisateur est aussi acteur.

Solution

1
R1 = Jointure (FILMS, ACTEURS, FILMS.titre=ACTEURS.titre)
2
R2 = Restriction (R1, R1.acteur=R1.realisateur)
3
R = Projection (R2, R2.titre) 

Question

Trouver tous les acteurs qui ont été partenaires de l'actrice Catherine Deneuve.

Solution

1
R1 = Restriction (ACTEURS, ACTEURS.acteur<>'Deneuve')
2
R2 = Restriction (ACTEURS, ACTEURS.acteur='Deneuve')
3
4
RES1 = Jointure (R1, R2, R1.titre=R2.titre)
5
R = Projection (RES1, RES1.acteur)

Question

Lister les réalisateurs n'ayant joué comme acteurs que dans des films qu'ils ne réalisaient pas eux-mêmes.

Solution

1
R1 = Projection (ACTEURS, ACTEURS.acteur)
2
R2 = Projection (FILMS, FILMS.réalisateur)
3
4
RES1 = Intersection (R1, R2)

RES1 donne les réalisateurs qui sont aussi des acteurs.

1
R3 = Jointure (FILMS, ACTEURS, FILMS.titre=ACTEURS.titre AND FILMS.realisateur=ACTEURS.acteur)
2
RES2 = Projection (R3, R3.acteur)

RES2 donne les acteurs qui ont joué dans des films qu'ils ont réalisés.

1
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

1
R1 = Jointure (FILMS, ACTEURS, FILMS.titre=ACTEURS.titre)
2
R2 = Restriction (R1, R1.acteur<>R1.realisateur)
3
4
RES1 = Projection (R2, R2.acteur)

RES1 représente tous les acteurs qui jouent dans des films qu'ils n'ont pas réalisés.

1
RES2 = Projection (FILMS, FILMS.réalisateur)

RES2 représente tous les réalisateurs.

1
R = Intersection (RES1, RES2)

Question

Donnez les acteurs qui jouent dans tous les films de François TRUFFAUT.

Solution

1
R1 = Restriction (FILMS, FILMS.réalisateur='Truffaut')
2
R2 = Projection(R1, R1.titre)
3
R = Division (ACTEURS, R2)