TD 1 Correction

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 3

FEI/ DEPT INFORMATIQUE L3- ISIL B Module BD2

USTHB Année 2020/2021

SERIE 1: GENERALITES SUR LES SGBD

Exercice 1 :​ ​(Rappel SQL) Soit le schéma relationnel de gestion des employés :

EMP(​NoEmp,​ nom, prenom, NoSupr*, titre, NoDept*, salaire)


DEPT(​NoDept​, nom, NoRegion*)
REG(​NoReg​, nom, ville)

Partie 1 :​ Exprimer en SQL les requêtes suivantes :


1. Les noms et prénoms des employés et le nom de la région de leur département.
select E.nom, prenom, R.nom from EMP E, DEPT D, REG R
where E.NoDept = D.NoDept and D.NoRegion = R.NoReg ;
2. Le NoDept et nom du département, et les noms des employés classés par NoDept.
select D.NoDept , D.nom , E.nom from DEPT D, EMP E
where D.NoDept = E.NoDept order by NoDept ;
3. Le numéro et salaire des employés qui gagnent plus que leur patron.
select X.NoEmp , X.salaire from EMP X, EMP Y where X.NoSupr = Y.NoEmp and X.salaire > Y.salaire ;
4. Le nom et salaire des employés qui gagnent plus que tous les employés du département 31.
a) select E.nom from EMP E where E.salaire >= ALL (select S.salaire from EMP S where S.NoDept = 31
);
b) select E.nom from EMP E where E.salaire >= (select MAX(S.salaire) from EMP S where S.NoDept =
31 );
c) select E.nom from EMP E where not exists (select * from EMP Y where Y.NoDEPT = 31 and E.salaire
<Y.salaire)
5. Le nom et salaire des employés qui gagnent plus qu'un employé du département 31, classés par
numéro de département et leur salaire.
select E.nom, E.salaire, NoDEPT from EMP E where E.salaire >= ANY (select salaire ....) order by
NoDEPT, salaire;
ou encore :
Select E.nom, E.salaire from EMP E where not exists (select * from EMP y where y.NoDEPT = 31 and
Y.salaire < E.salaire) order by NoDEPT, salaire ;

6. Les NoDept et nom et salaire des employés qui gagnent plus que la moyenne de leur département,
classés par département.
select NoDept, nom, salaire from EMP E where salaire > (select AVG(C.salaire) from EMP C where
C.NoDEPT = E.NoDEPT)
order by NoDEPT ;

1/1
FEI/ DEPT INFORMATIQUE L3- ISIL B Module BD2
USTHB Année 2020/2021

ou encore :
select NoDept, nom, salaire from EMP E
group by NoDEPT --- attention, on peut mettre group by sans avoir un agrégat dans le select
having salaire > AVG (salaire) ---le AVG il sera calculé par group de NoDEPT
order by NoDEPT ;

7. L'effectif de chaque département


select NoDept, count(*) from EMP E group by NoDEPT ;

8. Le département qui a le plus faible effectif.


select NoDept, count(*)
from EMP
group by NoDept,
having count(NoEmp) = (select min (NBE)
from ​(select NoDept, count(*) as NBE from EMP group by NoDEPT)​ tmp) ;

9. Le département présent dans toutes les régions.

Partie 2 :Création et Manipulation des données


a. Donner la requête de création des tables en SQL.
EMP(N​ oEmp​, nom, prenom, NoSupr*, titre, NoDept*, salaire)
Create table EMP (NoEMP Number(10) primary key,
nom varchar2(20), NoSupr Number(10) references EMP (NoEmp),
titre varchar2(10), NoDept Number (10) references DEPT (NoDept),
salaire Number(10) );
b. Ajouter l'attribut ND représentant le nombre de départements par région.
alter table REG add NB Number(2) ; alter table REG modify NB Number(3);
c. Renommer l'attribut "ville" en "wilaya".
alter table REG rename ville to wilaya ;
d. créer un index primaire et un secondaire sur la table REG.
create UNIQUE index index_prim on REG(Noreg);
create index index_sec on REG(Ville);

e. Ajouter le département 31," logistique" de la région 05.


insert into DEPT values (31, "Logistique", 05 ) ;
f. Décrire les répercussions des opérations précédentes sur les catalogues systèmes.

1/1
FEI/ DEPT INFORMATIQUE L3- ISIL B Module BD2
USTHB Année 2020/2021
Partie 1 : requetes select n'ont aucun impact sur les catalogues
Partie 2 :
a) Création table : Cat Table, Cat Attribut, Cat index, Cat contraintes b) ajout d'attribut
Cat Table idf card degré

99
EMP 100 0 7
REG 101 1 4

Cat Attribut idfAtt Idf Table type taille position

99
NoEmp 100 100 Number 10 1
Nom 101 100 Varchar 15 2
Prenom 102 100

Cat Index idf table Liste arg

PK_1 4 100 NoEMP


Index_1
Index_2

Exercice 2: ​Soit le schéma simplifié relatif à la gestion des emprunts de livres d'une bibliothèque :
Emprunt(P​ ersonne, Livre, DateEmprunt,​ ​ DateRetourEffective)
Retard(​Personne, Livre, DateEmprunt,​ PenalitéRetard)

1. Quelles sont les personnes ayant emprunté "Recueil d'examen BD"?


2. Les personnes n'ayant jamais rendu de livre en retard.
3. Ceux ayant emprunté tous les livres (emprunté au moins une fois).
4. Les livres ayant été emprunté par tout le monde (tous les emprunteurs).
5. Les personnes ayant toujours rendu en retard des livres empruntés (par eux).

---------------FIN---------------

1/1

Vous aimerez peut-être aussi