Requêtes

Question

Donnez, en SQL, algèbre relationnelle et calcul relationnel une requête pour trouver les noms des salles projetant un film de Hitchcock.

Solution

1
SELECT f.titre AS titre, s.salle AS cinema
2
FROM film f, seance s
3
WHERE f.idfilm = s.idfilm
4
AND f.directeur = 'Hitchcock'
5
AND s.horaire IS NOT NULL;
Remarque

Ici des alias d'attributs et de tables sont utilisés : la syntaxe AS cinema dans la clause SELECT permet de renommer la colonne en sortie, la syntaxe film f définit f comme alias de la table Film.

Algèbre :

\(\pi_{titre, salle}(\sigma_{directeur="Hitchcock"}(FILM \bowtie SEANCE))\)

Remarque

On pourrait s'interroger sur l'optimalité de la solution proposée.

Calcul :

\(res=\{titre, salle \mid \exists (idfilm, annee, horaire), FILM (idfilm, titre, "Hitchcock", annee) \wedge SEANCE (idfilm, salle, horaire)\)