Académique Documents
Professionnel Documents
Culture Documents
Exercices corrigs
Frdric Gava (MCF) gava@univ-paris12.fr
LACL, btiment P2 du CMC, bureau 223 Universit de Paris XII Val-de-Marne 61 avenue du Gnral de Gaulle 94010 Crteil cedex
Exercice 1
Les livraisons, la BD
Soit la base relationnelle de donnes PUF de schma :
U(NumU, NomU, VilleU) P(NumP, NomP, Couleur, Poids) F(NumF, NomF, Statut, VilleF) PUF(NumP, NumU, NumF, Quantit)
Exercice 2
La socit Gavasoft
Soit les relations suivantes de la socit Gavasoft
Emp(NumE, NomE, Fonction, NumS, Embauche, Salaire, Comm, NumD) NomD Lieu Dept(NumD, NomD, Lieu) NumD 1 Droit Creil Exemple
2 NomE Gava
Toto
Commerce
Boston
Fonction Prsident
Stagiare Commercial
NumD NULL
1 1 2
NULL
NULL NULL 100
8/10
Exercice 3
Les exemplaires :
E_Disque(CodeOuv, NumEx, DateAchat, Etat) Cette relation contient un enregistrement pour chaque exemplaire de disque possd par la mdiathque ; chaque exemplaire est identifi par son code (CodOuv) et un numro dexemplaire (NumEx) ; on trouve galement la date dachat et ltat du disque (intact, abm etc.) 11/10
Les exemplaires :
E_Livre(CodeOuv, NumEx, DateAchat, Etat)
Cette relation contient un enregistrement pour chaque exemplaire de livre possd par la mdiathque ; chaque exemplaire est identifi par son code (CodOuv) et un numro dexemplaire (NumEx) ; on trouve galement la date dachat et ltat du livre (intact, abm etc.) 12/10
Les abonns :
Abonne(NumAbo, Nom, Prnom, Rue, Ville, CodeP, Tlphone) Cette relation regroupe les informations sur les abonnes de la mdiathque : NumAbo qui identifie tout abonn de manire individuelle, le nom, le prnom de labonn, son adresse et son numro de tlphone
13/10
Le Personnel :
Personnel(NumEmp, Nom, Prnom, Adresse, Fonction, Salaire) Cette relation contient un enregistrement par employ de la mdiathque ; chaque employ est identifi par un numro et pour chaque employ, la relation donne son nom, son prnom, son adresse, sa fonction et son salaire annuel 14/10
Correction exercice 1
Correction exercice 2
La socit Gavasoft
1) 2) 3) 4) 5) 6) 7) SELECT Nom, Comm "Commission" FROM Emp WHERE Comm IS NOT NULL AND Comm!=0 ORDER BY Comm DESC SELECT Nom, Embauche, N_Dept FROM Emp WHERE Embauche > 01/10/2006 SELECT Nom, Embauche, N_Dept FROM Emp, Dept WHERE Emp.N_Dept=Dept.N_Dept AND Lieu="Crteil" SELECT a.Nom "Nom", Lieu FROM Emp a, Emp b WHERE a.NumSup=b.NumSup AND b.NumSup="Gava" SELECT AVG(Salaire) Moyenne des salaires FROM Emp SELECT COUNT(Comm) Nb. Commissions non-Null FROM Emp WHERE Comm IS NOT NULL SELECT Nom, Fonction, Salaire FROM Emp WHERE Salaire>(SELECT AVG(Salaire) FROM Emp) 25/10
Correction exercice 3
2)
3)
SELECT D.Titre FROM Disque D, Livre L WHERE D.Titre=L.Titre 4) SELECT A1.Identit FROM Disque D, Livre L, Auteur A1, Auteur A2 WHERE D.CodeOuv=A1.CodeOuv AND L.CodeOuv=A2.CodeOuv AND A1.Identit=A2.Identit
27/10
6)
SELECT Nom, Prnom, Salaire*12 AS Salaire_Annuel FROM Personnel WHERE Salaire_Annuel>20000 ORDER BY Salaire DESC, Nom ASC
La clause ORDER BY permet le trie du rsultat avant affichage
SELECT Nom, Tlphone, COUNT(*) FROM Abonne A, Prt P WHERE A.NumAbo=P.NimAbo GROUP BY Nom, Tlphone 8) SELECT CodeOuv FROM E_Disque GROUP BY CodeOuv HAVING COUNT(*)=(SELECT MAX(COUNT(*)) FROM E_Disque GROUP BY CodeOuv) 9) SELECT Editeur FROM Livre WHERE Collection IS NULL
La prsence de valeurs nulles dans une relation peut tre autorise mais rarement souhaitable car leur interprtation est ambigu 28/10
7)
11) SELECT COUNT(*) FROM Prt 12) SELECT MIN(Salaire), MAX(Salaire), AVG(Salaire) FROM Personnel WHERE Fonction= bibliothcaire 13) SELECT COUNT(DISTINCT Genre) FROM Livre 14) SELECT COUNT(*) FROM E_Disque WHERE DateAchat BETWEEN 01-Jan-2006 AND 10-Dec-2007 15) SELECT Nom, Prnom, Salaire*12 AS Salaire_Annuel FROM Personnel WHERE Salaire_Annuel>20000
Il est possible dutiliser les oprateur arithmtique la fois au niveau de la clause SELECT et de la clause WHERE 29/10