-
Requête 1.1 :
- (1 point) Les noms des personnes qui se trouvent à l'hôtel
'Château de Barive' le '15/07/2000'?
Solution :
| pPNom(Personnes |><| s |
| |
| HNom = ``Chateau de Barive''Ù Debut <= '15/07/2000'
Ù Fin >= '15/07/2000' |
|
Reservations ) |
select distinct PNom
from Personnes, Réservations
where Personnes.PNom = Réservations.PNom
and HNom = 'Château de Barive'
and Début <= '15/07/2000'
and Fin >= '15/07/2000';
- Requête 1.2 :
- (1 point) Les noms des personnes qui ont réservé une chambre dans un hôtel
du département où ils habitent?
Solution :
pHNom(sPDept = HDept(Personnes |><| Reservations |><|
Hotels))
select PNom
from Personnes, Réservations, Hôtels
where Personnes.PNom = Réservations.PNom
and Hôtels.HNom = Réservations.HNom
and PDept = HDept;
- Requête 1.3 :
- (1 point) Les hôtels qui n'ont pas de clients Parisiens?
Solution :
pHNom(Hotels) - pHNom(Reservations |><|
sPVille='Paris'Personnes)
select HNom
from Hôtels
where not exists (select *
from Personnes, Réservations
where Personnes.PNom = Réservations.PNom
and Hôtels.HNom = Réservations.HNom
and PVille = 'Paris')
- Requête 1.4 :
- (1 point) Les hôtels qui n'ont que des clients Parisiens?
Solution :
pHNom(Hotels) - pHNom(Reservations |><|
sPVille<>'Paris'Personnes)
select HNom
from Motels
where not exists (select *
from Personnes, Réservations
where Personnes.PNom = Réservations.PNom
and Hôtels.HNom = Réservations.HNom
and PVille <> 'Paris')
- Requête 1.5 :
- (1 point) La requête précédente en calcul relationnel (domaine ou n-uplet)?
Solution :
| { h.HNom |
| |
Hotels(h) Ù ¬ $p, r: (Personnes(p)
Ù Reservations(r) Ù |
| |
|
p.PNom = r.PNom Ù h.HNom = r.HNom
Ù p.PVille <> 'Paris' )} |
Écrire les requêtes suivantes