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)\)