Vous êtes sur la page 1sur 2

Université d’Ibn Khaldoun – Tiaret 1ière année Master RT (2022 – 2023)

Faculté des Mathématiques et d’Informatique Module : Bases de Données Avancées


Département d’Informatique Semestre 01
Corrigé de l’Examen Final Durée : 1h30

Exercice 01(12 Pts) :

01 Pts 1. Intersection(R1, R2)= Difference ( R1, Difference (R1, R2))


01 Pts 2. Jointure(R1,R2,condition)= Restriction ( Produit (R1, R2), condition)

3. Requêtes en algèbre relationnelle et en langage SQL :

Algèbre relationnelle SQL


a. Les années de sortie des films dans lesquels l'acteur Ohtmane a joué :
SELECT année
R1 = Restriction (ACTEURS, ACTEURS.acteur='Ohtmane') FROM FILMS, ACTEURS
R2 = Jointure (R1, FILMS, R1.titre=FILMS.titre) WHERE FILMS.titre = ACTEURS.titre
R = Projection(R2, R2.année) 01 Pts AND acteur='Ohtmane'; 01 Pts

b. Les acteurs qui ont tourné avec Adel comme réalisateur :


SELECT acteur
R1 = Restriction (FILMS, FILMS.réalisateur='Adel') FROM FILMS, ACTEURS 01 Pts
R2 = Jointure (R1, ACTEURS, R1.titre=ACTEURS.titre) WHERE FILMS.titre = ACTEURS.titre
R = Projection (R2, R2.acteur) AND réalisateur='Adel';
01 Pts

c. Tous les acteurs qui ont été partenaires de l'actrice Sarah :


SELECT AC2.acteur
R1 = Restriction (ACTEURS, ACTEURS.acteur<>'Sarah') FROM ACTEURS AC1, ACTEURS AC2
R2 = Restriction (ACTEURS, ACTEURS.acteur='Sarah') WHERE AC1.titre = AC2.titre
R3 = Projection (R2, R2.titre) AND AC1.acteur = 'Sarah' 01 Pts
RES1 = Jointure (R1, R3, R1.titre = R3.titre) AND AC2.acteur <> 'Sarah';
R = Projection (RES1, RES1.acteur) 01 Pts

d. Les films dans lesquels le réalisateur est aussi acteur :


SELECT titre
R1 = Jointure (FILMS, ACTEURS, FILMS.titre=ACTEURS.titre) FROM FILMS, ACTEURS 01 Pts
R2 = Restriction (R1, R1.acteur=R1.realisateur) WHERE FILMS.titre = ACTEURS.titre
R = Projection (R2, R2.titre) 01 Pts AND FILMS.realisateur = ACTEURS.acteur;

e. Donnez les acteurs qui jouent dans tous les films de Adel :
R1 = Restriction (FILMS, FILMS.réalisateur='Adel') SELECT acteur 01 Pts
R2 = Projection(R1, R1.titre) FROM ACTEURS
R = Division (ACTEURS, R2) WHERE acteur in (SELECT acteur, COUNT (acteur)
FROM FILMS, ACTEURS
01 Pts WHERE FILMS.titre = ACTEURS.titre
AND réalisateur='Adel'
GROUP BY (acteur)
HAVING COUNT (acteur) = (SELECT COUNT(titre)
FROM FILMS
WHERE réalisateur='Adel'));

1/2 Bonne chance.


Exercice 02 (08 Pts) :
1. La cohérence de la base de données se traduit par le respect de leurs contraintes d’intégrités. 01 Pts
2. Au cours de son exécution la transaction détecte certaines conditions qui font que la poursuite de son
1,5 Pts exécution s'avère impossible, elle peut se supprimer en exécutant une instruction d'annulation ROLLBACK
en SQL. Elle consiste en une transaction suicidée.
3. La résolution de problème d’accès concurrent des transactions est basée sur le verrouillage /ordonnancement
4. 0,5 Pts
a. L’état de la base de données aux instants t6, t7, t11 et t15 :
Temps Etat BD
t6 A=5; B=10; 0,25 Pts
t7 A=5; B=10; 0,25 Pts
t11 A=5; B=10; 0,25 Pts
t15 A=10; B=10; 0,75 Pts

b. les résultats de tous les ordonnancements séquentiels possibles (6) pour ces trois transactions :
Ordonnancement Résultat
0,5 Pts
T1 → T2 → T3 A=10 et B=5
T1 → T3 → T2 A=10 et B=5 0,5 Pts
T2 → T1 → T3 A=10 et B=5 0,5 Pts
T2 → T3 → T1 A=15 et B=0 0,5 Pts
T3 → T1 → T2 A=15 et B=0 0,5 Pts
T3 → T2 → T1 A=15 et B=0 0,5 Pts

c. Cet ordonnancement (entrelacé) est sérialisable car il donne le même résultat (A=10 et B=5) que certains
ordonnancements séquentiels tels que :
 (T1 → T2 → T3) 01 Pts

 (T1 → T3 → T2)
 (T2 → T1 → T3).

2/2 Bonne chance.

Vous aimerez peut-être aussi