Travaux Dirigés
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é
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
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 ?