0% ont trouvé ce document utile (0 vote)
3 vues4 pages

Guide PL/SQL pour Gestion des Vols

Le document présente une base de données pour la gestion des vols, incluant des tables pour les avions, pilotes, passagers, vols, réservations et escales. Il fournit également des instructions pour créer des tables, insérer des données, et écrire des procédures PL/SQL, ainsi que des exercices sur les fonctions, procédures, et déclencheurs. Enfin, il aborde des concepts tels que la vérification des vols retour et la gestion des réservations en fonction de la capacité des avions.

Transféré par

Hanen ghazouani
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
3 vues4 pages

Guide PL/SQL pour Gestion des Vols

Le document présente une base de données pour la gestion des vols, incluant des tables pour les avions, pilotes, passagers, vols, réservations et escales. Il fournit également des instructions pour créer des tables, insérer des données, et écrire des procédures PL/SQL, ainsi que des exercices sur les fonctions, procédures, et déclencheurs. Enfin, il aborde des concepts tels que la vérification des vols retour et la gestion des réservations en fonction de la capacité des avions.

Transféré par

Hanen ghazouani
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

SUPTECH

TP PL/SQL
Tables de la base :
Avion :
Numav Capacite Type Entrepo
t
14 25 A400 Garches
345 75 B200 Maubeuge

Pilote :
Matricu Nom Ville Ag Salai
le e re
1 Figue Cannes 45 28004
2 Lavande Touquet 24 11758
Passager :
Numab Nomab
1 Nifance
Vol : 8 Téarice

Numv Heure_depa Heure_arriv Ville_depa Ville_arriv


ol rt ee rt ee
AF118 08:30 10:57 Paris Athens
AF212 09:21 14:10 Paris Moscow
AF178 12:56 14:15 Paris London
TA215 08:00 10:10 Tunis Paris
OA005 14:20 17:00 Athens Paris
SA854 22:00 10:14 Singapore Athens
AA111 15:45 21:10 Beijing Singapore
AF218 21:12 09:16 Beijing Paris
SA012 07:57 11:26 Sydney Singapore
AF109 07:39 14:10 Tahiti Sydney
AA517 23:57 07:12 Honolulu Tokyo
JA014 15:35 19:00 Tokyo Beijing
AF002 15:52 00:12 Tokyo Paris
JA115 21:26 10:10 Los Angeles Tokyo
AA015 20:50 07:00 New York Lima
AA515 07:20 12:38 New York Los Angeles
Depart :
AF010 07:53 14:19 Paris New York
AF012 07:58 20:10 Paris Los Angeles
Numvol
AA118 Date_dep
07:15 Numav
13:10 New YorkMatricu Paris
AF001 22:10 12:00 Paris le Tahiti
AF118
PA022 31-12-95
10:12 23:55 14 Lima 1 Paris
AF212 19-12-95 345 2
Reservation

Numab Numvol Date_dep


1 AF118 31-12-95
8 AF118 31-12-95

1
SUPTECH

Escales :

Numesca Ville_esca Duree_es


le le cale
1 Moscou 5
2 Singapour 5
3 Sydney 4
4 Tahiti 4
5 Honolulu 4
6 Los Angeles 5
7 New York 4
8 Londres 3

2
SUPTECH

1. Créez une table Vol en utilisant


CREATE TABLE Vol (Numvol VARCHAR2(8), Heure_depart DATE,
Heure_arrive DATE, Ville_depart VARCHAR2(20), Ville_arrivee
VARCHAR2(20))
Remarque : la fonction TO_DATE convertit des chaînes de caractères en dates, suivant le format

2. Insérez une nouvelle ligne (valeurs de votre choix) dans la table Vol en utilisant :
COMMITT;
BEGIN
INSERT INTO Vol (valeurs de votre choix, attention aux types);
END
/

1. Fonctions et procédures
Expliquez les résultats obtenus par l’exécution du programme PL/SQL suivant :
DECLARE
n NUMBER := 10;
PROCEDURE etudeNocopy
(n1 IN NUMBER, n2 IN OUT NUMBER, n3 IN OUT NOCOPY NUMBER) IS
BEGIN
n2 := 20;
DBMS_OUTPUT.PUT_LINE(n
1); n3 := 30;
DBMS_OUTPUT.PUT_LINE(n
1);
END etudeNocopy; etudeNocopy(n, n, n);
BEGIN

3
SUPTECH

DBMS_OUTPUT.PUT_LINE(n);
END;

2. Paquetages
Reprendre les exercices 3 et 4 des ED PL/SQL (voir ci-dessous) et les écrire sous forme de
procédures stockées avec comme paramètre la ville de départ.

a. Surcharger la procédure de l'exercice 4 en lui ajoutant les deux bornes supérieure et


inférieure limitant le nombre d'escales.

b. Regrouper toutes les fonctions dans le même paquetage.

Exercice 3 (ED PL/SQL) : Ecrivez un programme PL/SQL qui calcule la moyenne des salaires des
pilotes dont l’âge est entre 30 et 40 ans.

Exercice 4 (ED PL/SQL) : Ecrivez un programme PL/SQL qui propose les vols pour un tour du
monde au départ de Paris avec des escales et des durées d’escale prédéfinies dans la table Escales.
Le nombre d’escales à faire doit être demandé à l’utilisateur. Hypothèse de travail : pour chaque
escale il existe plusieurs vols satisfaisant les contraintes.

3. Déclencheurs
a. Ecrivez un déclencheur qui, avant un INSERT dans la table Vol, vérifie si un vol retour est
présent dans la table (pour que la destination soit desservie dans les 2 sens) et, sinon, affiche
un avertissement à la console.

b. Essayez de déclarer le déclencheur AFTER au lieu de BEFORE. Que se passe-t-il ? Pourquoi


?
c. Ecrivez un déclencheur qui, avant chaque insertion ou mise à jour du numéro de vol ou du
numéro d’avion dans la table Depart, vérifie si l’avion employé a une capacité au moins
égale au nombre de réservations et a comme entrepôt la ville de départ. Si les deux
conditions sont satisfaites la modification est faite. Si la capacité est insuffisante et/ou
l’entrepôt n’est pas la ville de départ, des messages spécifiques sont affichés.

Vous aimerez peut-être aussi