Vous êtes sur la page 1sur 3

Module Bases de Données


Travaux Dirigés

Base de Données EMP-DEP (cas Oracle)

Description de la Base de données Employés-Département


L’exemple suivant est tiré de la base de données proposées par le SGBD Oracle.

1. Relation des Employés : EMP (ENO, NomEmp, Prof, DateEmb, Sal, Comm, DNO)
 ENO : le numéro d’employé , clé de la relation
 Nom_Emp : le nom de l’employé
 Prof : Profession (directeur n’est pas une profession)
 DateEmb: date d’embauche
 Sal: salaire
 Comm: commission (un employé peut ne pas avoir de commission)
 DNO: Numéro de département auquel appartient l’employé

2. Relation des Départements : DEP (DNO, NomDep, Dir, Ville)


 DNO: Numéro de département, clé de la relation
 NomDep: Nom du département
 Dir: Directeur du département
 Ville: lieu du département (ville)

Soit l’exemple suivant des tables Employés et Départements:

EMP
ENO NomEmp Prof DateEmb Sal Comm DNO
10 Joe Ingénieur 01/10/93 2400 300 3
20 Jack Technicien 01/05/88 1300 200 2
30 Jim Vendeur 01/03/80 2500 500 1
40 Lucy Ingénieur 01/03/80 2500 500 3
50 Marc Comptable 01/03/79 2500 500 4
60 John Vendeur 11/05/86 1300 400 1

DEP
DNO NomDep Dir Ville
1 Commercial 30 New York
2 Production 20 Houston
3 Développement 40 Boston
4 Comptabilité 50 New York
5 Informatique 60 New York

C. Piau-Toffolon Page 1 20/10/2013


Exercice 1 : Exprimez les reqêtes en SQL
1. Définissez une vue nommée EMP_Ingenieur contenant les NomEmp, Prof, DateEmb, Sal et Comm
des employés.
2. Supprimer cette vue du dictionnaire de la base de données.
3. Définissez la vue contenant les départements de la ville « New York ».
4. Définissez la vue contenant que les Ingénieurs.
5. Définissez la vue qui permet d'afficher le résultat suivant.

NomEmp Prof DateEmb Sal Comm


Jim Vendeur 01/03/80 2500 500
Lucy Ingénieur 01/03/80 2500 500
Marc Comptable 01/03/79 2500 50

6. Définissez une vue qui permet d'afficher le même résultat mais avec des noms de colonnes
personnalisés. (NomEmp devient « Nom de l'employé », Prof devient « Profession », DateEmb devient
« Date d'embauche », Sal devient « Salaire » et Comm devient « Commission »)
 Est-il possible de modifier la table Emp à travers cette vue ? Pourquoi?
 Est-il possible d'ajouter un nouvel employé dans la table Emp à travers cette vue ? Pourquoi?
7. Définissez une vue, nommée Liste_Salaire, contenant la liste des salaires proposés par l'entreprise et le
nombre de client qui ont ce salaire.
 Écrivez la requête SQL qui permet d'afficher les salaires supérieurs à 2000 €.
 Est-ce que la mise à jour de la table Emp (par exemple modification d'un salaire) à travers cette
vue est possible ? Pourquoi ?
8. Supposons que le propriétaire de l'entreprise souhaite consulter la liste des employés classés par
département. Dans le résultat on trouve les champs suivant : le nom de l'employé, la profession de
l'employé, le code du département et la ville du département.
 Définissez une ou deux requêtes de création de ces vues.
 Exécutez la requête suivante sur cette vue : insert into Emp_Houston values(3450, 'Jean',
'Ingénieur', 'Laval'), quel est le résultat de cette requête ?

Exercice 2: Exprimez les requêtes en SQL

1. Donner tous les n-uplets de DEP.


2. Donner tous les n-uplets de EMP
3. Donner les noms et salaires des employés
4. Donner les professions des employés ( après élimination des duplicats).
5. Donner les dates d’embauche des techniciens.
6. Faire le produit cartésien entre EMP et DEP
7. Donner les noms de tous les employés et les noms de leur département.
8. Donner les numéros des employés travaillant à BOSTON.
9. Donner les noms des directeurs des départements 1 à 3. Attention directeur n’est pas une profession!
10. Donner les noms des employés qui travaillent dans un département avec au moins un ingénieur.
11. Donner le salaire et le nom des employés gagnant plus qu’un (au moins un) ingénieur.
12. Donner le salaire et le nom des employés gagnant plus que TOUS les ingénieurs.
13. Donner les noms des employés et les noms de leurs directeurs.
14. Trouver les noms des employés ayant le même directeur que JIM. Attention: un employé peut être directeur
de plusieurs départements.

C. Piau-Toffolon Page 2 20/10/2013


15. Donner le nom et la date d’embauche des employés embauchés avant leur directeur; donner également le
nom et la date d’embauche de leur directeur.
16. Donner les départements qui n’ont pas d’employés.
17. Donner les noms des employés du département COMMERCIAL embauchés le même jour qu’un employé du
département PRODUCTION
18. Donner les noms des employés embauchés avant TOUS les employés du département 3.
19. Donner les noms des employés ayant le même emploi et le même directeur que JOE.
20. Donner la liste des employés ayant une commission.
21. Donner les noms, emplois et salaires des employés par emploi croissant et, pour chaque emploi, par salaire
décroissant.
22. Donner le salaire moyen des employés.
23. Donner le nombre d’employés du département PRODUCTION.
24. Donner les noms des employés ayant le salaire maximum de chaque département.
25. Donner la catégorie d’employé ayant le salaire moyen le plus bas.

C. Piau-Toffolon Page 3 20/10/2013