Accueil > Supports pédagogiques > Exercices > Algèbre relationnelle > Faire du cinéma > Faire du cinéma - Corrigé
On considère les deux relations suivantes où les clés sont soulignées et les clés étrangères sont en caractères gras :
* LESFILMS(TITRE, PAYS, ANNEE, REALISATEUR, DUREE)
* LESACTEURS(TITRE,ACTEUR)
projection(titre, année, réalisateur;
sélection(pays='France', LESFILMS)
Q2: Donnez les années de sortie des films tournés par GABIN.
projection(année; jointure(LESFILMS.titre=LESACTEURS.titre, LESFILMS;sélection(acteur='Gabin'; LESACTEURS)))
Q3: Trouver les acteurs qui ont tourné avec TRUFFAUT comme réalisateur.
projection(acteur, jointure(LESFILMS.titre=LESACTEURS.titre; LESACTEURS;Q4: Trouver tous les acteurs qui ont été partenaires de DENEUVE.sélection(réalisateur='Truffaut'; LESFILMS)))
LESACTEURS1 := sélection(acteur='Deneuve';LESACTEURS)Q5: Liste des films où le réalisateur est aussi acteurRES := projection(LESACTEURS.acteur,
sélection(LESACTEURS1.titre=LESACTEURS.titre;
sélection(acteur!='Deneuve';LESACTEURS) X LESACTEURS1)))
projection(LESFILMS.titre; sélection(acteur=réalisateur;jointure(LESFILMS.titre=LESACTEURS.titre;
LESFILMS; LESACTEURS)))Q6: Réalisateurs ayant joué comme acteurs dans des films qu'ils ne réalisaient pas eux-mêmes.
RES1 := projection(acteur;Q7: Réalisateurs qui ne jouent pas dans un de leur propre film.sélection(acteur!=réalisateur;
jointure(LESFILMS.titre=LESACTEURS.titre; LESFILMS; LESACTEURS)))
RES1 donne les acteurs d'un film qui n'ont pas réalisé ce film.
RES2 := projection(LESFILMS; réalisateur)
RES2 donne les réalisateurs
RES := RES1 INTERSECTION RES2
RES donne les réalisateurs ayant joué comme acteurs dans des films qu'ils ne réalisaient pas eux-mêmes.
RES1 := projection(réalisateur; LESFILMS) intersectionQ8: Donnez les acteurs qui jouent dans tous les films de Truffaut.projection(acteur; LESACTEURS)
RES1 donne les réalisateurs / acteurs.
RES2 := projection(LESFILMS.réalisateur;
sélection(acteur=réalisateur;
jointure(LESFILMS.titre=LESACTEURS.titre;
LESFILMS; LESACTEURS)))
RES2 donne les réalisateurs qui sont acteurs dans leur propre film.
RES := RES1 - RES2
RES donne les réalisateurs qui ne jouent pas dans un de leurs propres films.
LESACTEURS / projection(titre; sélection(réalisateur='Truffaut;LESFILMS))