Correction Examen BDA M1 SIGL MSILA 2016-2017
Correction Examen BDA M1 SIGL MSILA 2016-2017
Correction Examen BDA M1 SIGL MSILA 2016-2017
Corrigé Type
Bases de données avancées
I-Exercice 01 : (8 points)
Le graphe de precedence :
T2 T1 T3 ……………………………………..(1pt)
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)
II-Exercice 02 : (6 points)
On a : U={A, B, C, D, E, F}
F={AB, AC, BC, BE, DC, EACF}
1) La couverture minimale de F. On a :
AB
AC (Redondance)
BC
AB
AE
BE
AE
AA AEAC
AC
AEAC et EACF donc AF
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)
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