Vous êtes sur la page 1sur 3

REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET POPULAIRE

MINISTERE DE L’ENSEIGNEMENT SUPERIEUR ET DE LA RECHERCHE SCIENTIFIQUE

Université de M’sila ‫جامعة المسیلة‬


Faculté des Mathématiques et de l’Informatique ‫كلیة الریاضیات واإلعالم اآللي‬
Département d’informatique ‫قسم اإلعالم اآللي‬

Corrigé Type
Bases de données avancées

I-Exercice 01 : (8 points)

Considérez l’ordonnancement des transactions suivant :


H1 = R1(A), W1(A), R3(A), R2(B), R1(B), W1(B), R3(B), W3(A), W3(B), C1, C2, C3.

1) Le graphe de précédence correspondant à l’ordonnancement H1


R1(A), W1(A), R3(A), W3(A) ………………………………………(0.5pt)
R2(B), R1(B), W1(B), R1(B), R3(B), W3(B) ……………………….(0.5pt)
Les conflits: W1(A) R3(A), R2(B) W1(B), W1(B) R3(B)

Le graphe de precedence :
T2 T1 T3 ……………………………………..(1pt)

2) Le graphe de précédence ne contient pas de cycle, donc l’ordonnancement H1 est


sérialisable. ………………………………..(0.5pt)
L’ordonnancement sériel équivalent est :
T2 T1 T3. ………………………………..(1pt)

3) 2PL Strict …………………………….(2.5pt)


Opération Accepté? Ordre
R1(A) Oui 1
W1(A) Oui 2
R3(A) Blocage T3 9
R2(B) Oui 3
R1(B) Oui 4
W1(B) Blocage T1 6
R1(B) 7
R3 (B) 10
W3(A) 11
W3(B) 12
C1 8
C2 5
C3 13

L’exécution ne présente pas un verrou mortel, donc cet ordonnancement est accepté par
l’algorithme de verrouillage à deux phases.

1/3
4) L’algorithme par estampillage : …………………………….(2pt)

Opération Accepté? RTS(A) WTS(A) RTS(B) WTS(B)


10 10 10 10
R1(A) Oui 11 10 10 10
W1(A) Oui 11 11 10 10
R3(A) Oui 13 11 10 10
R2(B) Oui 13 11 12 10
R1(B) Oui 13 11 12 10
W1(B) Annuler T1 13 11 12 10
R1(B) Non
R3 (B) Oui 13 11 13 10
W3(A) Oui 13 13 13 10
W3(B) Oui 13 13 13 13

II-Exercice 02 : (6 points)
On a : U={A, B, C, D, E, F}
F={AB, AC, BC, BE, DC, EACF}

1) La couverture minimale de F. On a :
AB
 AC (Redondance)
BC
AB
 AE
BE
AE
AA  AEAC
AC
AEAC et EACF donc AF

La couverture minimale de F est :


{AB, BC, BE, DC, AF}………………….(2pt)

2) La liste des clés candidates pour ce schéma.


A D …………………………….(1pt)

3) La forme normale du schéma R ?


R est en 1FN car tous les attributs sont atomiques
R n’est pas en 2FN car on a : AB et A est un sous ensemble de la clé et B est un attribut
n’appartenant pas à la clé. …………………………….(1pt)

4) Décomposition de R en 3FN. ………………………(2pt)


Etape 1 : Couverture minimale = {AB, BC, BE, DC, AF}
Etape 2 :Partitionner en groupe
G1 = {AB, AF }
G2 = {BC, BE }
G3 = { DC }
Etape 3 : Pas de fusion

2/3
Etape 4: Le schéma relationnel en 3FN
R1(A, B, F)
R2(B, C, E)
R3(D, C)

III-Exercice 03 : (4 points)

1. La fin du checkpoint sera insérée :


a) Après l’instruction numéro 12 …………………………….(1pt)
b) Il n’y aura pas de fin checkpoint car la transaction T4 qui était active n’a pas encore
validé …………………………….(1pt)
2. Reprise après panne
a) UNDO = {T4} REDO = {T1, T2, T3} point de reprise : <START CHKPT > (1pt)
b) UNDO = {T4} REDO = {T2, T3} point de reprise : <START T4> (1pt)

IV- Exercice 04 : 2 points (+1 point Bonus)


Emprunt(Personne, Livre, DateEmprunt, DateRetourPrevue, DateRetourEffective)
Retard(Personne, Livre, DateEmprunt, PenaliteRetard)

Q1) Quelles sont les personnes qui n’ont jamais rendu de livre en retard ? ………(1pt)
Solution 1 :
SELECT DISTINCT(Personne) FROM Emprunt
MINUS
SELECT DISTINCT(Personne) FROM Retard
Solution 2 :
SELECT DISTINCT(Personne) FROM Emprunt
WHERE Personne NOT IN (SELECT DISTINCT(Personne) FROM Retard)

Q2) Quelles sont les personnes ayant toujours rendu en retard les livres empruntés ?..(1pt)
Solution 1 :
SELECT DISTINCT(Personne) FROM Retard
MINUS
SELECT DISTINCT(Personne) FROM Emprunt
WHERE DateRetourPrevue >= DateRetourEffective
Solution 2 :
SELECT DISTINCT(Personne) FROM Retard
WHERE Personne NOT IN (SELECT DISTINCT(Personne) FROM Emprunt
WHERE DateRetourPrevue >= DateRetourEffective)

Q3) Quels sont les livres empruntés au moins deux fois ? ……………………………(1pt)
SELECT Livre, COUNT (*)
FROM Emprunt
GROUP BY Livre
HAVING COUNT(*) >= 2

3/3

Vous aimerez peut-être aussi