TP2 Ing BD

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 2

Université de Carthage

Institut Supérieur des Technologies de l’Information et des Communications (ISTIC)

TP2 : Les procédures, Les fonctions et les packages

Partie 1 : Les procédures


En se basant sur le schéma relationnel de TP1 :
EMP (Matr, NomE, Poste, DateEmb, Salaire, Comm, NumDept#)

DEPT (NumDept, NomDept, Lieu, directeur#)

PROJET (CodeP, NomP)

PARTICIPATION (Matremp#, CodePr#, Fonction)

Répondez aux questions suivantes :

Question 1 : Écrivez une procédure PL/SQL nommée "NombreEmployesParProjet" qui prend en entrée le code d'un
projet. Cette procédure doit afficher le nombre d'employés participant à ce projet en récupérant les données de la
table PARTICIPATION.

Question 2 : Écrivez une procédure PL/SQL nommée AfficherTroisPremiersSalaires prenant en entrée le numéro d'un
département et sélectionner les trois salaires les plus élevés parmi les employés travaillant dans le département
spécifié, les stocker dans un tableau, puis afficher ces trois salaires dans l'ordre décroissant.

Question 3 : Écrivez une procédure PL/SQL nommée "ListeEmployesProjet" prenant en paramètre le code d'un projet
(p_CodeP). La procédure doit sélectionner et afficher les détails du premier employé participant à ce projet.

Question 4 : Écrivez une procédure PL/SQL nommée "MajSalaireEmploye" qui prend en paramètres le numéro
d'identification d'un employé (MATR) et le pourcentage d'augmentation du salaire et elle :

1. Elle sélectionne le salaire actuel de l'employé en utilisant le numéro d'identification passé en paramètre.
2. Elle calcule le nouveau salaire en fonction du pourcentage d'augmentation spécifié.
3. Elle met à jour le salaire de l'employé dans la table `EMP` en utilisant le nouveau salaire calculé.
4. Elle affiche un message à l'écran indiquant le nouveau salaire de l'employé avec son numéro d'identification
(MATR).

Question 5 : Écrivez une procédure PL/SQL nommée "AfficheEmployesSupMoyenne" qui prend en paramètre le
numéro de département d'un employé et elle :

1. calcule la moyenne des salaires de tous les employés dans le département spécifié.

2. affiche la moyenne des salaires calculée à l'aide de la fonction DBMS_OUTPUT.PUT_LINE.

3. sélectionne tous les employés du département dont le salaire est supérieur à la moyenne calculée et les
stocke dans un tableau indexé par des entiers.

RABEB.BENOTHMEN 1
4. affiche les détails de l'employé ayant le salaire le plus élevé dans le département, en utilisant la fonction
FIRST sur le tableau des employés.

5. affiche les détails de l'employé ayant le salaire le plus élevé dans le département, en utilisant la fonction
LAST sur le tableau des employés.

Partie 2 : Les fonctions


Question 1 :

Écrivez une fonction PL/SQL nommée CalculerMoyenneSalaireDept prenant en entrée le numéro d'un département
et retournant la moyenne des salaires de tous les employés travaillant dans ce département.

Question 2 : Écrivez une fonction PL/SQL nommée "NombreParticipantsProjet" prenant en entrée le code d'un projet
et renvoyant le nombre de participants dans ce projet

Question 3 : Écrivez une fonction nommée SalaireMoyenDepartement qui prend en entrée le numéro d'un
département et retourne le salaire moyen de tous les employés travaillant dans ce département. Assurez-vous que la
fonction calcule correctement le salaire moyen en utilisant un tableau pour stocker les salaires des employés du
département spécifié.

Question 4 : Écrivez une fonction nommée NombreProjetsEmploye qui prend en entrée le numéro d'un employé et
retourne le nombre de projets auxquels cet employé participe.

Partie 3 : Les packages


• Créez un package PL/SQL nommé GestionEmployes. Ce package doit contenir une fonction nommée
ModifierSalaireEmploye qui prend en entrée le numéro d'identification (Matr) d'un employé de la table EMP
ainsi que le pourcentage d'augmentation du salaire. La fonction doit augmenter le salaire de l'employé spécifié
et renvoyer un code de succès si l'opération s'est déroulée correctement.
• Implémentez également la procédure AugmenterSalaire qui prend en entrée le numéro d'identification (Matr)
d'un employé de la table EMP et le pourcentage d'augmentation du salaire. Cette procédure doit mettre à jour
le salaire de l'employé spécifié en fonction du pourcentage d'augmentation fourni.
• Enfin, dans le package body GestionEmployes, implémentez la fonction ModifierSalaireEmploye en appelant
la procédure AugmenterSalaire avec les paramètres fournis, et retournez un code de succès si l'opération s'est
terminée correctement.

RABEB.BENOTHMEN 2

Vous aimerez peut-être aussi