TP2 – Les Requêtes SQL sous Oracle 21c
L’objectif de ce TP est l’initiation au langage SQL sous l'environnement Oracle 21c. Cette première
partie est consacrée au Langage de Manipulation de Données (LMD), à travers la création de
requêtes simples de sélection, de projection et de restriction, en exploitant les opérateurs logiques et
arithmétiques de la plateforme.
Soit le schéma relationnel de la base de données « AgenceVoyage » Suivante :
▪ CLIENT (CodeClient, Sexe, NomClient, PrenomClient, DateNaissance, Email, Ville)
▪ DESTINATION (CodeDest, LibelleDest, DureeSejour)
▪ RESERVATION (#CodeClient, #CodeDest, DateReservation, TypeFormule, Prix)
Partie 1 : Initialisation de l'Espace de Travail
Dans Oracle, la création d'une "base de données" passe par la définition d'un Utilisateur
(Schéma) dédié à l'application.
1. Lancez SQL Developer et créez une connexion administrateur (utilisateur : system).
2. Exécutez le script suivant pour créer l'utilisateur TP2_VotreNom qui accueillera vos
tables :
-- 1. Vérifier le container actuel
SHOW CON_NAME ;
-- 2. Basculer vers la PDB (indispensable pour les données utilisateurs)
ALTER SESSION SET CONTAINER = XEPDB1;
-- 3. Créer l'utilisateur du TP
CREATE USER TP2_ VotreNom IDENTIFIED BY 1234;
-- 4. Octroi des privilèges et gestion du stockage
GRANT CONNECT, RESOURCE TO TP2_ VotreNom;
ALTER USER TP2_ VotreNom QUOTA UNLIMITED ON USERS;
[Link] Ladieh 1/5
Partie 2 : Création des Tables et insertion des données
L'objectif est de mettre en place une structure solide en respectant les contraintes d'unicité (clés
primaires) et d'intégrité référentielle (clés étrangères).
1. Table CLIENT
Table CLIENT
CodeClient Sexe NomClient PrenomClient DateNaissance Email Ville
C1 M Mohamed Barkat 01/01/1999 [Link]@[Link] Djibouti
C2 M Elmi Amine 10/10/1998 [Link]@[Link] Djibouti
C3 F Nasser Imane 10/10/2000 [Link]@[Link] Ali Sabieh
C4 F Nour Hibo 15/01/2000 [Link]@[Link] Tadjourah
C5 M Aden Yassin 20/08/1999 [Link]@[Link] Ali Sabieh
C6 F Youssouf Ayan 05/05/1995 [Link]@[Link] Dikhil
C7 M Osman Mustapha 25/03/1994 osmanmustapha@[Link] Tadjourah
2. Table PRODUIT
Table DESTINATION
CodeDest LibelleDest DureeSejour
D-001 Paris 6
D-002 Rome 2
D-003 Madrid 2
D-004 Londres 1
D-005 Lisbonne 1
D-006 Berlin 1
D-007 New York 4
[Link] Ladieh 1/5
3. Table RESERVATION
Table RESERVATION
CodeClient CodeDest DateReservation TypeFormule Prix
C1 D-001 15/03/2020 Classique 5500
C1 D-002 16/03/2020 Pack 6000
C1 D-003 18/03/2020 Express 3000
C2 D-001 15/03/2020 Pack 4000
C3 D-003 18/03/2020 Express 2000
C4 D-002 16/03/2020 Pack 4500
Partie 3 : Ecrire en langage SQL les requêtes permettant d’afficher :
1. La liste de tous les clients.
2. Les libellés des destinations avec leur durée de séjour.
3. La liste des clients triée par nom décroissant.
4. La liste des destinations dont la durée est supérieure à 2 jours.
5. Le nom, prénom, date de naissance et email des clientes féminins.
6. La liste des clients hommes triés par date de naissance ascendante.
7. La liste des réservations effectuées entre le 01/01/2025 et le 30/05/2025.
8. La liste des réservations de type « Pack » triée par date croissante.
9. La liste des réservations triée par type décroissant puis par date croissante.
10. Les codes des destinations et les prix des réservations faites par le client ‘C1’.
11. Les codes et prix des réservations de ‘C1’ dont le prix est supérieur ou égal à 5000.
12. Les clients habitant à Ali Sabieh, Obock ou Djibouti.
13. Les prénoms des clients se terminant par la lettre ‘e’.
14. Les noms et prénoms des clients dont le nom finit par ‘i’ et le prénom par ‘e’.
15. Les clients dont le nom contient la lettre ‘u’.
[Link] Ladieh 1/5
16. Les noms des clients dont la 2ᵉ lettre est ‘a’.
17. Les noms des clients dont la 2ᵉ lettre n’est pas ‘a’.
18. Les clientes de Ali Sabieh dont le nom commence par ‘N’ et le prénom ne contient pas la
lettre ‘H’.
19. La liste des types de formules de réservation.
[Link] Ladieh 1/5