Vous êtes sur la page 1sur 5

www.annales-exam.com Le site n1 des annales !

Formation Ouverte Distance Examen de : Systme de gestion de base de donnes NFP 107 (1re session) Date : Juillet 2008 Dure de lexamen : 3h Tous documents papiers autoriss oui non

Nom de lenseignant : Eric LEE

Il est fortement conseill de lire lensemble du sujet avant de commencer votre rdaction.

Exercice 1 1)
PESEE CONCERNER 1,1 CodeBordereauPesee DatePesee Heure PoidsArrivee PoidsDepart 1,1

Annales-exam.com
1,1
APPORTER

DEPOSER

1,N 1,N SYNDICAT CodeSyndicat TelephoneSyndicat AdresseSyndicat NomSyndicat CAMION NoImmatriculation NomProprietaire 1,N LIMITATION CapacitMaximale 1,N 1,N TYPE_DECHET CodeType LibellType

2)
SELECT DISTINCT NomSyndicat, AdresseSyndicat FROM SYNDICAT, PESEE, TYPE_DECHET WHERE PESEE.CodeSyndicat = SYNDICAT.CodeSyndicat AND PESEE.CodeType = TYPE_DECHET.CodeType AND TYPE_DECHET.LibellType = Verre ORDER BY NomSyndicat.

3)
SELECT DISTINCT NomSyndicat, LibellType, SUM(PoidsArrive PoidsDpart) FROM SYNDICAT, PESEE, TYPE_DECHET WHERE PESEE.CodeSyndicat = SYNDICAT.CodeSyndicat AND PESEE.CodeType = TYPE_DECHET.CodeType GROUP BY NomSyndicat; LibellType

4)
SELECT SUM(PoidsArrive PoidsDpart) FROM PESEE, SYNDICAT, TYPE_DECHET WHERE PESEE.CodeSyndicat = SYNDICAT.CodeSyndicat AND PESEE.CodeType = TYPE_DECHET.CodeType AND TYPE_DECHET.LibellType = Papiers-cartons AND SYNDICAT.NomSyndicat = SOLUTRI;

5) Exercice 2 1) Dterminer la suite doprations algbriques permettant de trouver les pays d' Afrique dont la population est suprieure 20 millions d' habitants ? NomPays (Population > 20000000 AND Continent = ' Afrique'(PAYS)) 2) En dduire la requte SQL correspondante. SELECT NomPays FROM Pays WHERE Population > 20000000 AND continent = ' Afrique' ; 3) Dterminer la suite doprations algbriques permettant de trouver la capitale de lAutriche. Ville (CAPITALE

Annales-exam.com

CAPITALE.CodePays = PAYS.CodePays

CodePays (NomPays = ' (PAYS)) Autriche'

4) En dduire la requte SQL correspondante. SELECT Ville FROM Capitale WHERE codepays IN (SELECT CodePays FROM Pays WHERE NomPays = ' Autriche' ); 5) Dterminer la suite doprations algbriques permettant de dterminer quel continent est rattache l' Egypte. Continent (NomPays = ' Egypte'(PAYS))

6) En dduire la requte SQL correspondante. SELECT Continent FROM Pays WHERE NomPays = ' Egypte' ;

7) Quel est le pays ayant le PNB le plus bas ? 8) Quels sont les pays ayant au moins une ville de plus d' un million d' habitants ? 9) La Bulgarie et l' Albanie ont-elles une frontire commune? Exercice 3 1)

12,20,37

5,9,12

13,20

22,23,37

48,80

3)

Annales-exam.com
20,37

5,9,12,13

22,23

48,80

Exercice 4 : Soit lexcution concurrente de trois transactions suivante, o x et y sont des n-uplets des relations de la base de donnes : r1[x] r2[y] w1[x] r2[z] r3[z] r3[x] w2[z] r1[z] c2 w1[x] c1 w3[x] c3 1) Vrifier si lexcution est srialisable, en construisant son graphe de srialisation.

1. Solution : Les conflits : sur x : r1[x]-w3[x], w1[x]-r3[x], w1[x]-w3[x], r3[x]-w1[x] sur y : pas de conflit sur z : r3[z]-w2[z], w2[z]-r1[z] Le graphe de srialisation contient un cycle T1 T3 T2 et un autre cycle T1 T3, donc H n'est pas srialisable. 2) Trouver lexcution produite par verrouillage deux phases si les verrous dune transaction sont relchs aprs son Commit. Les verrous de lecture sont partageables, ceux dcriture sont exclusifs. Les oprations bloques en attente de verrou sexcutent en priorit quand le verrou devient disponible, en respectant lordre de blocage. Solution : H : r1[x] r2[y] w1[x] r2[z] r3[z] r3[x] w2[z] r1[z] c2 w1[x] c1 w3[x] c3 r1[x], r2[y] s'excutent, en prenant les verrous de lecture w1[x] s'excute, pas de conflit avec r1[x] (mme transaction) r2[z] prend le verrou de lecture sur z et s'excute r3[z] partage le verrou de lecture sur z avec r2[z] et s'excute r3[x] bloque par w1[x], donc T3 bloque w2[z] bloque par r3[z], donc T2 bloque r1[z] partage le verrou de lecture sur z avec r2[z] et r3[z] et s'excute c2 bloque car T2 bloque w1[x] a dj le verrou et peut s'excuter c1 s'excute et relche les verrous de T1 r3[x] peut obtenir le verrou sur x et s'excuter, par contre T2 reste bloque w3[x] prend le verrou d'criture sur x et s'excute c3 s'excute et relche les verrous de T3 toutes les oprations de T2 sont dbloques, donc w2[z] et c2 s'excutent

Annales-exam.com

Le rsultat final est donc H' : r1[x] r2[y] w1[x] r2[z] r3[z] r1[z] w1[x] c1 r3[x] w3[x] c3 w2[z] c2