Soit le schéma relationnel suivant :
EMP (EMPNO, ENAME, JOB, MGR*, HIREDATE, SAL, COMM, DEPTNO*)DEPT (DEPTNO, DNAME, LOC)SALGRADE (GRADE, LOSAL, HISAL)
Remarques
-
La relation
EMP
représente des employés.- Un employé est identifié par son numéro
EMPNO
, son nomENAME
, son emploiJOB
, le numero de son chef hierarchiqueMGR
, sa date d’embaucheHIREDATE
, son salaire mensuelSAL
, le montant de ses commissions mensuellesCOMM
et le département auquel il appartientDEPTNO
. MGR
est une clé étrangère qui référence le numérod'un autre employé
.DEPTNO
est une clé étrangère qui référence lenuméro d'un département
.
- Un employé est identifié par son numéro
-
La relation
DEPT
représente des départements.- Un département est identifié par son numéro
DEPTNO
, son nomDNAME
et la villeLOC
dans laquelle il se situe.
- Un département est identifié par son numéro
-
La relation
SALGRADE
représente des grilles de salaire.- Les grilles de salaire sont identifiées par
GRADE
, le salaire minimum de la grilleLOSAL
et le salaire maximumHISAL
.
- Les grilles de salaire sont identifiées par
Diagramme
erDiagram EMP { string EMPNO string ENAME string JOB string MGR date HIREDATE float SAL float COMM string DEPTNO } DEPT { string DEPTNO string DNAME string LOC } SALGRADE { string GRADE float LOSAL float HISAL } EMP }o--|| EMP : "Manager" EMP ||--o{ DEPT : "Département"
Données
DEPT | ||
---|---|---|
DEPTNO | DNAME | LOC |
10 | ACCOUNTING | NEW YORK |
20 | RESEARCH | DALLAS |
30 | SALES | CHICAGO |
40 | OPERATIONS | BOSTON |
SALGRADE | ||
---|---|---|
GRADE | LOSAL | HISAL |
1 | 700 | 1200 |
2 | 1201 | 1400 |
3 | 1401 | 2000 |
4 | 2001 | 3000 |
5 | 3001 | 9999 |
EMP | |||||||
---|---|---|---|---|---|---|---|
EMPNO | ENAME | JOB | MGR | HIREDATE | SAL | COMM | DEPTNO |
7369 | SMITH | CLERK | 7902 | 2000-12-17 | 800 | 20 | |
7499 | ALLEN | SALESMAN | 7698 | 1999-02-20 | 1600 | 300 | 30 |
7521 | WARD | SALESMAN | 7698 | 1991-02-22 | 1250 | 500 | 30 |
7566 | JONES | MANAGER | 7839 | 2000-04-02 | 2975 | 20 | |
7654 | MARTIN | SALESMAN | 7698 | 1998-09-28 | 1250 | 1400 | 30 |
7698 | BLAKE | MANAGER | 7839 | 1997-05-01 | 2850 | 30 | |
7782 | CLARK | MANAGER | 7839 | 1996-06-09 | 2450 | 10 | |
7788 | SCOTT | ANALYST | 7566 | 1995-12-09 | 3000 | 20 | |
7839 | KING | PRESIDENT | 1994-11-17 | 5000 | 10 | ||
7844 | TURNER | SALESMAN | 7698 | 1998-09-08 | 1500 | 0 | 30 |
7876 | ADAMS | CLERK | 7788 | 1993-01-12 | 1100 | 20 | |
7900 | JAMES | CLERK | 7698 | 2000-12-03 | 950 | 30 | |
7902 | FORD | ANALYST | 7566 | 1992-12-03 | 3000 | 20 | |
7934 | MILLER | CLERK | 7782 | 1999-01-23 | 1300 | 10 |
Téléchargement de la base : employes.sqlite
Exercice 3 : Variantes des requêtes
Pour chacune des requêtes de la partie 1, on vous demande de réaliser plusieurs variantes.
Les variantes à effectuer sont les suivantes :
-
Donner le
nom
de tous les employés :- par
ordre alphabétique
- par
ordre alphabétique inverse
- en changeant le
nom
de la colonneENAME
parNOM de L'EMPLOYÉ
- par
-
Donner le
nom
et ladate
d’embauche desemployés
du département20
:- par
ordre chronologique
(du plus ancien au plus récent). - par
ordre chronologique
(du plus récent au plus ancien). - en changeant le
format de la date
d’embauche en affichant que les années (Instruction à utiliser : strftime ).
- par
-
Donner tous les
salaires
perçus par les employés de l’entreprise :- par
ordre croissant
desalaire
. - par
ordre alphabétique
desemployés
.
- par
-
Donner le
nom
et lenuméro
du département desemployés
travaillant àDallas
: -
Donner le
nom
et lesalaire
desemployés
dont lenom
commence par unM
et dont lesalaire
est supérieur à1290$
:- par
ordre alphabétique
. - par
ordre de salaire décroissant
. - une version où
seul le salaire
intervient (c.à.d sans comptabiliser lescommissions
) - une version où le
salaire
et lescommissions
interviennent (c.à.d en comptabilisant les commissions)
- par
-
Donner les
départements
employant desCLERK
,SALESMAN
et desANALYST
- Pas d’alternative pour cette requête
-
Donner le
nom des chefs
dont lesemployés
perçoivent descommissions
:- indiquer leur
nom
et leurnuméro
de département parordre croissant de département
.
- indiquer leur
-
Donner le
nom
et lesalaire
desemployés
des départements deChicago
etDallas
dont le salaire est supérieur à1000$
:- en prenant en compte le
salaire
et lescommissions
cumulés. - en prenant en compte le
salaire
et lescommissions
cumulés parordre décroissant
, puis parordre alphabétique
des employés.
- en prenant en compte le
-
Donner le
nom
desemployés
qui gagnent plus que leur chef :- indiquer leur
nom
et leurrevenu
, leurservice
, lenom
et lerevenu
de leur chef.
- indiquer leur