Vous êtes sur la page 1sur 4

TP5

INF3081 BASE DE DONNEES


RELATIONNELLES
Intervenante : Maryem AIT EL HADJ
Niveau : 3éme Année Année : 2022/2023
Filière : Génie Informatique Session : Hiver 2022

Commun
Objectifs du TP :

• Rappel sur la manipulation des données avec SELECT simple


• SQL-LDD : Création des fonctions utilisateur (UDF) et les procédures stockées

Outils nécessaires :

• MS SQL SERVER et SQL Server Management Studio


• Langage SQL

Exercice 1 :
Téléchargez le fichier TP5_ex1.sql joint à ce TP. Appliquez les requêtes suivantes :

1. Afficher le nombre des employés.


2. Afficher le nombre des employés comme suit :

3. Afficher le plus grand salaire


4. Afficher le nom de l’employé ayant le plus grand salaire
5. Afficher le plus petit salaire
6. Afficher le nom de l’employé ayant le plus grand salaire
7. Afficher la moyenne des salaires
8. Afficher les noms des employés ayant un salaire supérieur à la moyenne.
9. Afficher le nombre des employés ayant un salaire supérieur à la moyenne.
10. Afficher la somme des salaires
11. Afficher toutes les information des employés en ajoutant une nouvelle colonne qui contient la
classification des employés selon les conditions suivantes :

1
• Si le salaire est strictement inférieur à 40 000 : Classe D
• Si le salaire est strictement inférieur à 60 000 : Classe C
• Si le salaire est strictement inférieur à 80 000 : Classe B
• Si le salaire est supérieur ou égal à 80 000 : Classe A

Exercice 2 : Les procédures stockées


Utilisez le même fichier TP5_ex1.sql pour répondre aux requêtes suivantes :
1. Créer une procédure stockée nommée "selectallemployee" qui sélectionne tous les
enregistrements de la table "Employee"
➔ execute Selectallemployee;
2. Créer une procédure stockée nommée "selectemployee" qui sélectionne les employés d'un nom
que nous passons en paramètre.
➔ execute Selectemployee 'Kumar';
3. Créer une procédure stockée nommée "selectemp" qui sélectionne les employés d'un nom et un
département que nous passons en paramètres.
➔ execute selectemp @lastname='Verma',@dep='IT';
4. Créer une procédure stockée nommée "selectempid" qui affiche le prénom et le nom d'un
employé selon son Id que nous passons en paramètre.
➔ execute selectempid @id=1;
5. Créer une procédure stockée nommée "Searchemp" qui affiche les informations d'un employé en
se basant sur son nom comparé à un modèle que nous passons en paramètre.
➔ execute Searchemp @name='%K%'
6. Créer une procédure stockée nommée "year_empl" qui calcule les années d’expérience pour un
employé donné selon son ID.
➔ execute year_empl @id=7
7. Modifier la procédure "year_empl" de tel sort de calculer les années d’expérience pour un
employé donné selon son nom.
➔ execute year_empl @lastname='Raghuvanshi';
8. Supprimer la procédure "year_empl"
➔ drop proc year_empl
9. Créer une procédure stockée nommée "updatesalary" qui augmente le salaire d’un employé
donné de 3%.
➔ execute updatesalary @id=1;

2
Exercice 3 : Les fonctions utilisateur

1. Ecrire une fonction nommée "Countemp1" qui compte le nombre d'employés.


➔ print dbo.Countemp1();

2. Ecrire une fonction nommée "Countemp11" qui compte le nombre d'employés et qui affiche le
message suivant :
➔ print dbo.Countemp11();

3. Ecrire une fonction nommée "Countemp2" qui compte le nombre d'employés d'un département
donné :
➔ print dbo.Countemp2('services');

4. Ecrire une fonction nommée "salarytype" qui renvoie le message 'Salaire faible' si le salaire entré
par l’utilisateur est supérieur à 50000 sinon renvoie ‘Bon salaire'
➔ print dbo.salarytype(70000);

5. Modifier la fonction "salarytype" pour qu'elle fasse le même traitement mais pour un employé
donné (entré comme paramètre)
➔ print dbo.salarytype(4);

6. Ecrire une fonction nommée "getemployee" qui renvoie les informations d’un employé donné :
➔ select * from dbo.getemployee(1)

7. Ecrire une fonction nommée "getemployee2" qui renvoie les noms des employés d’un service
donné :
➔ select * from dbo.getemployee2('services')

8. Ecrire une fonction nommée "getyear" qui renvoie la liste des Ids des employés et leurs années
d’embauche.

3
➔ select * from dbo.getyear()

9. Ecrire une fonction nommée "qst9" qui renvoie une liste les nombres qui commence par un
nombre définit par utilisateur et qui termine par un nombre aussi définit par utilisateur.
➔ select * from dbo.qst9(4,10)

Vous aimerez peut-être aussi