- Les noms des clients qui visitent le parc Kruger au cours de
voyages à moins de 5000 francs? (1 point)
Solution:
piNomC(Clients join (sigmaPrix < 5000(Voyages)) join
(sigmaEndV = 'parc Kruger'(Visites)))
select NomC
from Clients, Voyages, Visites
where Prix < 5000
and EndV = 'parc Kruger'
and Clients.NumV = Voyages.NumV
and Visites.NumV = Voyages.NumV;
- Les endroits visités le même jour par des clients de deux voyages
différents? (2 points)
Solution:
piEndV(sigmaNumV2 <> NumV(rhoNumV/NumV2(Visites) join
Visites))
select A.EndV
from Visites A, Visites B
where A.NumV <> B.NumV
and A.DatV = B.DatV
and A.EndV = B.EndV;
- Les nombre de clients de l'agence qui vont visiter les chutes
Victoria le 13/10/98?
Solution:
algèbre impossible
select count(distinct NomC)
from Visites, Clients
where Visites.NumV = Clients.NumV
and Visites.EndV = 'chutes Victoria'
and Visites.DatV = '13/10/98';
- Les endroits les plus visités de l'agence
(chaque visite d'un client est comptabilisée)? (2 points)
Solution:
algèbre impossible
select EndV
from Visites, Clients
where Visites.NumV = Clients.NumV
group by EndV
having (count(NomC)) = (select max(count(NomC))
from Visites, Clients
where Visites.NumV = Clients.NumV
group by EndV);