TP8 - PLSQL
TP8 - PLSQL
TP8 - PLSQL
TP8 : PL/SQL
Travail à faire :
Préparez un compte rendu par monôme dont lequel vous insérez les captures d’écrans (Sous SQL
Developer).
1- Dictionnaire de données
La base de données avec laquelle on va travailler, est conçue pour la gestion du transport aérien.
Elle contient les relations suivantes :
Relation VOL :
Relation PILOTE :
Relation Avion :
Relation Affectation :
a) Donnez la requête qui permet de lister les vols ayant un pilote qui habite dans la ville de
départ de vol ?
b) Donnez la requête qui permet de lister les moyennes des heures de vol par type d’avions
qui ont un nombre d’heures tout type confondu ?
c) Donnez la requête qui permet d’afficher les pilotes qui n’ont jamais affectés à un vol ?
d) Donnez la requête qui permet d’afficher la liste des vols qui correspondent à des allers-
retours entre deux villes ?
e) Créez la table TOTAVION qui comptabilise par avion le nombre de personnes
transportées et le nombre de vol effectués ?
a) Donnez la requête de création d’une vue (v_pilote), qui constitue une restriction de la table
pilote, aux pilotes qui habitent à Paris ?
b) Modifiez les salaires des pilotes habitant à Paris à travers la vue (v_pilote) ?
c) Donnez la requête qui permet la création de la vue (dervol) qui donne la date du dernier
vol réalisé pour chaque avion ?
d) Créez une vue pour vérifier lors de la modification ou de l’insertion d’un pilote dans la
table pilote les critères suivants :
- Un pilote habitant à paris a toujours une commission.
- Un pilote qui n’habite pas à paris n’a jamais de valeur de commission.
e) Créez une vue (nomcomm) qui permet de valider en saisie et mise à jour, le montant
commission d’un pilote selon les critères suivant :
- Un pilote qui n’est affecté à au moins un vol, ne peut pas avoir de commission
- Un pilote qui est affecté à au moins un vol peut recevoir une commission.
a) Donnez le scripte qui permet d’ajouter une commission de 500DH a chaque pilote
sélectionner avec le cureur C1 ?
b) Donnez le scripte qui permet de modifier le salaire d’un pilote avec les contraintes
suivantes :
-Si la commission est supérieure au salaire alors on rajoute au salaire la valeur de la
commission et la commission sera mise à la valeur nulle.
-Si la valeur de la commission est inférieure au salaire alors supprimer le pilote du
curseur.
c) Ecrire la procédure qui permet de vérifier l’existence d’un pilote dans la table pilote
sachant son numéro qui est passé en paramètre, ainsi le teste si le salaire est inférieur à
la commission ?
d) Calculer le nombre moyen de jours de repos entre deux affectations successives. (Utiliser
un curseur) et créer une table résultats pour stocker les résultats.