Vous êtes sur la page 1sur 2

TP SQL

Objectifs de TP: - Crer une base de donnes Oracle avec SQL PLUS. Mise jour des donnes. Crer des requtes a l'aide du langage SQL PLUS d'Oracle. Considrons la base de donnes dont le schma et l'extension sont donns ci ci-dessous. EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO) DEPT (DEPTNO, DNAME, LOC)
EMP

DEPT

I-

Cration de la base de donnes, contrainte dintgrit

1. Crer la table DEPT. Ne pas oublier de dfinir ne numro de dpartement DEPTNO comme cl primaire. Intgrer galement la contrainte de domaine suivante : le nom d'un dpartement (DNAME) ne peut tre que ACCOUNTING, RESEARCH, SALES ou , OPERATIONS. 2. Remplir la table DEPT. 3. Recopier la table EMP en passant la commande suivante CREATE TABLE EMP AS SELECT * FROM SCOTT.EMP; (cration de la table EMP par copie de la table EMP de lutilisateur SCOTT). 4. Insrer le tuple (7369, Bidon, NULL, NULL, NULL, NULL, NULL, NULL) dans la table EMP. a fonctionne. Est-ce normal ? ce 5. Annuler linsertion prcdente. r 6. Ajouter les contraintes dintgrit ncessaires la table EMP (cl primaire et cls trangres) laide de la commande ALTER TABLE EMP ADD CONSTRAINT 7. Dans EMP, ajouter les nouveaux employs : (7369, 'WILSON', 'MANAGER', 7839, ''17/11/91', 3500.00, 600.00, 10) ; (7657, 'WILSON', 17/11/91', 'MANAGER', 7839, '17/11/91', 3500.00, 600.00, 50) ; (7657, 'WILSON', 'MANAGER', 7000, '17/11/91', 3500.00, 600.00, 10) ; (7657, 'WILSON', 'MANAGER', 7839, '17/11/91', 3500.00, 600.00, 10). Remarques? 8. Valider linsertion prcdente.

II1) 2) 3)

Mise jour de la base de donnes


Changer la localisation (LOC) du dpartement SALES de CHICAGO PITTSBURGH. Dans EMP, augmenter de 10 % le salaire (SAL) des vendeurs dont la commission (COMM) est suprieure 50 % du salaire. Dans EMP, attribuer aux employs en poste avant le 01/01/82 (HIREDATE) et ayant une commission non spcifie (NULL) une commission gale la moyenne des commissions. Annuler les trois mises jour prcdentes. Dans DEPT, supprimer le dpartement n 20 (DEPTNO). Remarque ?

4) 5)

III-

Interrogation de la base de donnes


Exprimer en SQL*Plus les requtes suivantes. 1) Nom (ENAME), salaire, commission, salaire+commission de tous les vendeurs (SALESMAN). 2) Nom des vendeurs par ordre dcroissant du ratio commission/salaire. 3) Nom des vendeurs dont la commission est infrieure 25% de leur salaire. 4) Nombre d'employs du dpartement n 10. 5) Nombre d'employs ayant une commission. 6) Nombre de fonctions (JOB) diffrentes. 7) Salaire moyen par fonction (sans tenir compte des commissions). 8) Total des salaires du dpartement SALES. 9) Nom des employs avec le nom de leur dpartement. 10) Nom, fonction et salaire de l'employ ayant le salaire le plus lev. 11) Nom des employs gagnant plus que JONES. 12) Nom des employs occupant la mme fonction que JONES. 13) Nom des employs ayant mme manager (MGR) que CLARK. 14) Nom et fonction des employs ayant mme fonction et mme manager que TURNER. 15) Nom des employs embauchs avant tous les employs du dpartement n 10. 16) Liste des employs en indiquant pour chacun son nom et celui de son manager. 17) Nom des employs ne travaillant pas dans le mme dpartement que leur manager.