Soit la Base de données hôtel qui contient 3 Tables " Chambre", "Client" et "Réservation" qui sont définis comme suit:
Chambre (Num_Chambre, Prix, Nbr_Lit, Nbr_Pers, Confort, Equ)
Client (Num_Client, Nom, Prenom, Adresse)
Reservation ( Num_Client#, Num_Chambre#, Date_Arr, Date_Dep)
Table Chambre | |||||
Num_Chambre | Prix | Nbr_Lit | Nbr_Pers | Confort | Equ |
10 | 80 | 01 | 02 | WC | Non |
20 | 100 | 02 | 02 | Douche | Non |
25 | 180 | 03 | 03 | Bain | TV |
... | ... | ... | ... | ... | ... |
Table Client | |||
Num_Client | Nom | Prenom | Adresse |
1000 | Denez | Desmond | Marseille |
1001 | Noua | Ghislaine | Paris |
... | ... | ... | ... |
Table Réservation | |||
Num_Client | Num_Chambre | Date_Arr | Date_Dep |
1000 | 20 | 09/02/2004 | 21/02/2004 |
1001 | 10 | 31/06/2005 | |
... | ... | ... | ... |
Exprimer les requêtes suivantes en SQL :
- Les numéros de chambres avec TV.
- Les numéros de chambres et leurs capacités.
- La capacité théorique d'accueil de l'hôtel.
- Le prix par personne des chambres avec TV.
- Les numéros des chambres et le numéro des clients ayant réservé des chambres pour le 09/02/2004.
- Les numéros des chambres coûtant au maximum 80 Euro ou ayant un bain et volant au maximum 120 Euro.
- Les Nom, Prénoms et adresses des clients dans le noms commencent par "D".
- Le nombre de chambres dont le prix est entre 85 et 120 Euro.
- Les noms des clients n'ayant pas fixé la date de départ.
Correction De l'exercice
1. Select Num_Chambre From Chambre Where Confort = 'TV' ;
2. Select Num_Chambre, Nbr_Pers From Chambre ;
3. Select Sum(Nbr_Pers) From Chambre;
4. Select Prix/Nbr_Pers, Num_Chambre From Chambre Where Equ = 'TV' ;
5. Select Num_Chambre, Num_Client From Reservation Where Date_Arr <= '09/02/2004' And (Date_Dep > '09/02/2004 OR Date_Dep is Null) ;
6. Select Num_Chambre From Chambre Where Prix <= OR (Confort='Bain' And Prix <='120') ;
7. Select Nom From Client Where Nom Like = 'D%' ;
8. Select Count(Num_Chambre) From Chambre Where Prix between 85 and 120;
9. Select Nom, From Reservation R, Client C Where Date_Dep is null And R.Num_Client = R.Num_Client