You are on page 1of 35

Conservatoire National des Arts et Mtiers

292 Rue St Martin 75141 Paris Cedex 03

INFORMATIQUE - CNAM, Paris


BASES DE DONNEES Relationnelles
SGBD 1/2 valeur B7, 19786
Exercices Dirigs
M. Scholl, B. Amann, P. Rigaux et D. Vodislav

20 septembre 2001

Table des matires


1

.
.
.
.
.
.
.

2
2
2
2
3
4
4
4

Algbre Relationelle
2.1 Slection et Projection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2 Jointure relationnelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3 Auto-Jointure et Renommage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5
5
6
6

Algbre : Compagnie dAssurance


3.1 Schma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2 Requtes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

7
7
7

Algbre - SQL: Employs - Dpartements


4.1 Schma . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.1.1 Relation des Employs (EMP) . . . . . . . . . . . . .
4.1.2 Relation des Dpartements (DEPT) . . . . . . . . . .
4.2 Oprations Algbriques . . . . . . . . . . . . . . . . . . . . .
4.3 Requtes . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3.1 Interrogation dune seule Relation . . . . . . . . . . .
4.3.2 Jointures . . . . . . . . . . . . . . . . . . . . . . . .
4.3.3 Valeurs Nulles, Tris, Groupes, Agrgats et Expressions

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

9
9
9
9
9
10
10
10
11

Algbre - SQL : Appartements - coles


5.1 Schma . . . . . . . . . . . . . . .
5.2 Requtes . . . . . . . . . . . . . . .
5.3 Mise jour . . . . . . . . . . . . .
5.4 Contraintes . . . . . . . . . . . . .

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

12
12
13
14
14

SQL : Fournisseurs - Produits - Clients


6.1 Schma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.2 Requtes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

15
15
16

Calcul - SQL - Algbre : Cinmas - Films


7.1 Schma . . . . . . . . . . . . . . . . . .
7.2 Requtes . . . . . . . . . . . . . . . . . .
7.2.1 Interrogation dune seule Relation
7.2.2 Jointures . . . . . . . . . . . . .

17
17
17
17
17

Conception
1.1 Interprtation de schmas entit/association
1.1.1 Centre mdical . . . . . . . . . . .
1.1.2 Tournoi de tennis . . . . . . . . . .
1.1.3 Un journal . . . . . . . . . . . . .
1.2 Modle rseau . . . . . . . . . . . . . . . .
1.3 Modle relationnel . . . . . . . . . . . . .
1.4 Rtro-conception . . . . . . . . . . . . . .

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.

.
.
.
.

.
.
.
.

7.2.3
7.2.4
8

Difference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Division . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Dcomposition
8.1 Calcul des Cls . . . . . . . . . . . . . . . .
8.2 Troisime Forme Normale . . . . . . . . . .
8.3 Dcomposition sans Perte dInformation . . .
8.4 Prservation des Dpendances Fonctionnelles
8.5 Forme Normale de Boyce-Codd . . . . . . .

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

Organisation Physique

18
18
19
19
19
20
21
22
23

10 Algorithmes de Jointure

25

11 Optimisation de Requtes

26

12 Concurrence
12.1 Srialisabilit et recouvrabilit . . . . . . . . . . . . . . . . .
12.1.1 Graphe de srialisabilit et quivalence des excutions
12.1.2 Recouvrabilit . . . . . . . . . . . . . . . . . . . . .
12.2 Contrle de concurrence . . . . . . . . . . . . . . . . . . . .
12.2.1 Verrouillage 2 phases . . . . . . . . . . . . . . . . .
12.2.2 Estampillage et la rgle de Thomas . . . . . . . . . .
12.2.3 Comparaison des mthodes de contrle de concurrence
12.3 Reprise aprs panne . . . . . . . . . . . . . . . . . . . . . . .
12.3.1 Journalisation . . . . . . . . . . . . . . . . . . . . . .
12.4 Concurrence: Gestion Bancaire . . . . . . . . . . . . . . . . .

Vertigo/CNAM, Paris

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

SGBD B7, UV 19786 - Exercices Dirigs

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

30
30
30
30
31
31
31
31
31
31
32

Interprtation de schmas entit/association

Chapitre 1

Conception
1.1

Interprtation de schmas entit/association

1.1.1

Centre mdical

On vous donne un schmas E/A (figure 1.1) reprsentant des visites dans un centre mdical. Rpondez aux
questions suivantes en fonction des caractristiques de ce schma (i.e.: indiquez si la situation dcrite est
reprsentable, indpendamment de sa vraissemblance).
Patient

Medecin
Matricule
Nom
Medicament
Code
Libelle

No SS
Nom

0,n
1,n

Donne

0,n

Assiste

Prescrit
Nb prises

1,1

0,n

Consultation
No
Date

1,1

F IG . 1.1 Centre mdical


Exercice A :
Exercice B :
Exercice C :
Exercice D :

1.1.2

Un patient peut-il effectuer plusieurs visites ?


Un mdecin peut-il recevoir plusieurs patients dans la mme consultation ?
Peut-on prescrire plusieurs mdicaments dans une mme consultation ?
Deux mdecins diffrents peuvent-ils prescrire le mme mdicament ?

Tournoi de tennis

Le second schma (figure 1.2) reprsente des rencontres dans un tournoi de tennis.
Vertigo/CNAM, Paris

SGBD B7, UV 19786 - Exercices Dirigs

Interprtation de schmas entit/association

Joueur
No carte
Nom

Gagne
Score

0,n

0,n

1,1

Participe

Match
No

1,1

Se joue sur

2,2

Horaire

0,n

Terrain
No
Surface

F IG . 1.2 Tournoi de tennis


Exercice A : Peut-on jouer des matchs de double ?
Exercice B : Un joueur peut-il gagner un match sans y a voir particip ?
Exercice C : Peut-il y avoir deux matchs sur le mme terrain la mme heure ?

1.1.3

Un journal

Pour vous entraner : voici le schma E/A (figure 1.3 du systme dinformation (trs simplifi) dun quotidien.
PERSONNALITE

JOURNALISTE
1,n

ID
Nom
Date naiss.

1,n

ID
Nom
Prenom
Nation.

Interview
1,n

1,n
A travaille pour
Redige
1,n
1,1

JOURNAL
ID
Titre
Adresse

ARTICLE
0,n
ID
Contenu

Parait dans

1,n

1,1
SUJET

NUMERO
Relatif a

0,n

ID
Libelle

ID
Date

F IG . 1.3 Journal
Exercice A : Un article peut-il tre rdig par plusieurs journalistes ?
Vertigo/CNAM, Paris

SGBD B7, UV 19786 - Exercices Dirigs

Rtro-conception

Exercice B : Un article peut-il tre publi plusieurs fois dans le mme numro ?
Exercice C : Peut-il y avoir plusieurs articles sur le mme sujet dans le mme numro ?
Exercice D : ...

1.2

Modle rseau

Exercice A : Pour chacun des schmas E/A donns prcdemment, construire le schma rseau correspondant (types denregistrements et types de sets).
Exercice B : Exprimez les requtes suivantes :
1. La liste des consultations du Dr Duchemin.
2. Les patients qui ont consult le 15 mai 1997.
3. A quelles dates a-t-on prescrit de laspirine ?
4. Les joueurs qui ont gagn au moins un match.
5. Les joeurs qui se sont rencontrs dans un match.

1.3

Modle relationnel

Exercice A : Pour chacun des schmas E/A donns prcdemment, construire le schma relationnel correspondant. Indiquez prcisment :
La cl primaire.
Les cls trangres.
Les contraintes ventuelles.
Exercice B : Donnez la commande Create Table pour les tables


  

et 

 

Exercice C : Rpondez aux mmes requtes que celles donnes pour le modle rseau (en algbre et en
SQL).

1.4

Rtro-conception

On trouve dans un SGBD relationnel les relations ci-dessous. Les cls primaires sont soulignes, mais pas
les cls trangres.
IMMEUBLE (Adresse, Nb-tages, Date-construction, Nom-Grant)
APPART (Adresse, Numro, Type, Superficie, Etage)
PERSONNE (Nom, Age, Code-Profession)
OCCUPANT (Adresse, Numro-Appart, Nom-Occupant, Date-arrive, Date-dpart)
PROPRIT (Adresse, Nom-Propritaire, Quote-part)
TYPE-APPART (Code, Libell)
PROFESSION (Code, Libell)
Exercice A :
Exercice B :
Exercice C :
Exercice D :

Identifier les cls trangres dans chaque relation.


Reconstruire le schma E/A.
Existe-t-il des contraintes dintgrit ? Lesquelles?
Certaines donnes du schma relationnel rsultent-elles doptimisation ?

Vertigo/CNAM, Paris

SGBD B7, UV 19786 - Exercices Dirigs

Slection et Projection

Chapitre 2

Algbre Relationelle
2.1

Slection et Projection

Soit la relation
PERSONNE
Nom
Age
Ville
Marc
29
Paris
Catherine
32
Lyon
Sophie
54
Paris
Claude
13
Montpellier
Serge
40
Lyon
Exercice A : Donnez les rsultats des requtes suivantes :
Requte 1 : !#" $&%(')+*,-,-%(. (slection)
Requte 2 : /01" $&%2'&)3*,-,4%(. (projection)
Requte 3 : /01" 57698:<;>=?@9;9"A$&%2'&)3*,-,-%B.!. (projection, slection)
Exercice B : Exprimez les requtes suivantes en algbre relationnelle:
Requte 1 : les personnes (nom, ge, ville) qui habitent Paris.
Requte 2 : les personnes (nom, ge, ville) qui ont moins de 30 ans.
Requte 3 : les villes dans la relation PERSONNE.
Requte 4 : les noms des personnes habitant Paris.

Vertigo/CNAM, Paris

SGBD B7, UV 19786 - Exercices Dirigs

Auto-Jointure et Renommage

2.2

Jointure relationnelle

Exercice A : Soient R et S les relations

R
A
a
a
c
d

S
B
b
f
b
e

B
b
e
b
g

C
c
a
d
b

o les attributs A, B, C sont dfinis sur les domaines des lettres de lalphabet.
Donnez le rsultat des requtes suivantes :
Requte 1 : 'DCE) (jointure naturelle).
Requte 2 : FGH"JI?KMLNK ; "A'.7OP)3. (qui-jointure).
Requte 3 : 'RQST)TUV/
W7" 'XCY)3. (semijoin).
Exercice B : Est-ce que les quations suivantes sont vraies?

/
MZ K "A'DCE)3.[U
/ K Z GH"A'DCE)3.[U

2.3

'
)

(2.1)
(2.2)

Auto-Jointure et Renommage

Soit T(A,B) une relation o A 0\^et


prennent leurs
dans le mme domaine. Supposons quon veuille
]`_ B tels
]\ a_ valeurs
slectionner les seuls n-uplets S
que S
est galement un n-uplet de T.
Exprimez cette opration par une expression de lalgbre relationnelle.

Vertigo/CNAM, Paris

SGBD B7, UV 19786 - Exercices Dirigs

Requtes

Chapitre 3

Algbre : Compagnie dAssurance


3.1

Schma
#EMP

STATUT

COURTIER

1,1

EST-UN

0,n

NOM
0,1

SALAIRE

EMPLOYE
0,1

0,n

DIRIGE

VEND
1,1

POLICES

P#

BENEFICIAIRE

QUANTITE
F IG . 3.1 Compagnie dassurances

Exercice A : dcrire ce schma Entit-Relation (en franais)


Exercice B : reprsenter le diagramme Entit-Relation prcdent dans le modle relationnel.

3.2

Requtes

Exercice A : exprimer les requtes suivantes en algbre relationelle:


Requte 1 : les numros des polices vendues plus de 20 exemplaires.

Vertigo/CNAM, Paris

SGBD B7, UV 19786 - Exercices Dirigs

Requtes

Requte 2 : les noms des employs qui gagnent moins que 6000 francs.
Requte 3 : les noms de tous les courtiers.
Requte 4 : les bnficiaires dau moins 21 polices avec le mme numro (

20).

Requte 5 : les noms de courtiers dirigs par lemploy 113.


Requte 6 : les salaires des courtiers stagiaires (STATUT=Stagiaire).

Vertigo/CNAM, Paris

SGBD B7, UV 19786 - Exercices Dirigs

Oprations Algbriques

Chapitre 4

Algbre - SQL: Employs - Dpartements


4.1

Schma

Les exemples suivants sont tirs des sources de la socit Oracle.

4.1.1

Relation des Employs (EMP)

EMP(ENO, ENOM, PROF, DATEEMB, SAL, COMM, DNO)


ENO : numro demploy, cl
ENOM : nom de lemploy
PROF : profession (directeur nest pas une profession)
DATEEMB : date dembauche
SAL : salaire
COMM : commission (un employ peut ne pas avoir de commission)
DNO : numro de dpartement auquel appartient lemploy

4.1.2

Relation des Dpartements (DEPT)

DEPT(DNO, DNOM, DIR, VILLE)


DNO : numro de dpartement, cl
DNOM : nom du dpartement
DIR : directeur du dpartement
VILLE : lieu du dpartement (ville)

4.2

Oprations Algbriques

Soit lexemple suivant :


Vertigo/CNAM, Paris

SGBD B7, UV 19786 - Exercices Dirigs

10

Requtes

ENO
10
EMP 20
30
40

ENOM
Joe
Jack
Jim
Lucy

DNO
1
DEPT
2
3

PROF
Ingnieur
Technicien
Vendeur
Ingnieur

DNOM
Commercial
Production
Dveloppement

DATEEMB
1.10.93
1.5.88
1.3.80
1.3.80

DIR
30
20
40

SAL
4000
3000
5000
5000

COMM
3000
2000
5000
5000

DNO
3
2
1
3

VILLE
New York
Houston
Boston

Exercice A : Calculer 0b!cedgf


h

N9 " %BX$2. .
Exercice B : Calculer EMPbis = I?i 5:j LNi 5:j ; "J/ i 5:jkZ Gljlmnmo" %(X$2.9.
]e .
Exercice C : Calculer / i 5:jkZ =Fp " %(X$2.3C =FpqGjlmnm " %(X$
Exercice D : Exprimer par une phrase ce quon obtient en valuant les requtes prcdentes.
Exercice E : Quelle est lexpression de lalgbre relationnelle qui permettrait dobtenir le nom et la profession de lemploy de numro 10.
Exercice F : Idem pour la liste des noms des employs qui travaillent New York.
Exercice G : Idem pour avoir le nom du directeur du dpartement Commercial.

4.3

Requtes

Exprimer les requtes Q1 Q18 laide de lalgbre relationnelle.


Exprimer en SQL les requtes Q1 Q24.

4.3.1

Interrogation dune seule Relation

Requte 1 : Donner tous les n-uplets de DEPT.


Requte 2 : Donner tous les n-uplets de EMP.
Requte 3 : Donner les noms et les salaires des employs.
Requte 4 : Donner les professions des employs (aprs limination des duplicats).
Requte 5 : Donner les dates dembauche des techniciens.

4.3.2

Jointures

Requte 6 : Faire le produit cartsien entre EMP et DEPT.


Requte 7 : Donner les noms des employs et les noms de leur dpartement.
Requte 8 : Donner les numros des employs travaillant BOSTON.

Vertigo/CNAM, Paris

SGBD B7, UV 19786 - Exercices Dirigs

11

Requtes

Requte 9 : Donner les noms des directeurs des dpartements 1 et 3. Attention : directeur nest pas une
profession!
Requte 10 : Donner les noms des employs travaillant dans un dpartement avec au moins un ingnieur.
Requte 11 : Donner le salaire et le nom des employs gagnant plus quun (au moins un) ingnieur.
Requte 12 : Donner le salaire et le nom des employs gagnant plus que tous les ingnieurs.
Requte 13 : Donner les noms des employs et les noms de leurs directeurs.
Requte 14 : Trouver les noms des employs ayant le mme directeur que JIM. Attention : un employ
peut tre directeur de plusieurs dpartements.
Requte 15 : Donner le nom et la date dembauche des employs embauchs avant leur directeur; donner
galement le nom et la date dembauche de leur directeur.
Requte 16 : Donner les dpartements qui nont pas demploys.
Requte 17 : Donner les noms des employs du dpartement COMMERCIAL embauchs le mme jour
quun employ du dpartement PRODUCTION.
Requte 18 : Donner les noms des employs embauchs avant tous les employs du dpartement 1.
Requte 19 : Donner les noms des employs ayant le mme emploi et le mme directeur que JOE.

4.3.3

Valeurs Nulles, Tris, Groupes, Agrgats et Expressions

Requte 20 : Donner la liste des employs ayant une commission.


Requte 21 : Donner les noms, emplois et salaires des employs par emploi croissant et, pour chaque
emploi, par salaire dcroissant.
Requte 22 : Donner le salaire moyen des employs.
Requte 23 : Donner le nombre demploys du dpartement PRODUCTION.
Requte 24 : Les numros de dpartement et leur salaire maximum?
Requte 25 : Donner les noms des employs ayant le salaire maximum de chaque dpartement.
Requte 26 : Les professions et leur salaire moyen?
Requte 27 : Le salaire moyen le plus bas (par profession)?
Requte 28 : Donner les emplois ayant le salaire moyen le plus bas; donnez aussi leur salaire moyen.

Vertigo/CNAM, Paris

SGBD B7, UV 19786 - Exercices Dirigs

12

Schma

Chapitre 5

Algbre - SQL : Appartements - coles


5.1

Schma

IMMEUBLE (ADI, NBETAGES, DATEC, PROP)


APPIM (ADI, NAPR, OCCUP, TYPE, SUPER, ETAGE)
PERSONNE (NOM, AGE, PROF, ADR, NAPR)
COLE (NOMEC, ADEC, NBCLASSES, DIR)
CLASSE (NOMEC, NCL, MAITRE, NBEL)
ENFANT (NOMP, PRENOM, AN, NOMEC, NCL)
avec la signification suivante :

1. Relation IMMEUBLE
ADI : adresse dimmeuble, cl; on fait lhypothse pour simplifier, que ladresse identifie de manire unique un
immeuble
NBETAGES : nombre dtages dun immeuble
DATEC : date de construction
PROP : nom du propritaire de limmeuble qui est une personne
2. Relation APPIM (Appartement)
ADI : adresse dimmeuble
NAPR : numro dappartement
OCCUP : occupant de lappartement (nom de la personne)
TYPE : type de lappartement (Studio, F2, . . . )
SUPER : superficie de lappartement
ETAGE : tage o se situe lappartement
3. Relation PERSONNE
NOM : nom de personne, cl; on fait lhypothse pour simplifier, que ce nom est unique sur lensemble des
personnes que lon considre dans la base
AGE : ge de la personne

Vertigo/CNAM, Paris

SGBD B7, UV 19786 - Exercices Dirigs

13

Requtes

PROF : profession de la personne


ADR : adresse de la rsidence dune personne, il sagit dun immeuble
NAPR : numro dappartement
4. Relation COLE
NOMEC : nom dune cole, cl
ADEC : adresse dune cole
NBCLASSES : nombre de classes
DIR : nom du directeur
5. Relation CLASSE
NOMEC : nom dune cole
NCL : nom de la classe, e.g., CP1, CE2, CE3, etc...
MAITRE : nom de linstituteur
NBEL : nombre dlves dans la classe
6. Relation ENFANT
NOMP : nom de la personne responsable de lenfant, cl e.g., pre, mre etc...
PRENOM : prnom de lenfant
AN : anne de naissance
NOMEC : nom dune cole
NCL : nom de la classe
La relation IMMEUBLE dcrit un ensemble dimmeubles. Chaque immeuble a un propritaire. La relation
APPIM dcrit pour chaque immeuble lensemble des appartements qui le compose. Chaque appartement peut
hberger plusieurs personnes mais il y en a une qui est responsable (par exemple le locataire) et qui est dsigne
par le constituant OCCUP. Si lappartement est inoccup, ce constituant prend la valeur NULL. La relation
PERSONNE dcrit un ensemble de personnes. ADR et NAPR reprsentent ladresse o rside une personne.
Une personne peut avoir plusieurs enfants dcrits par la relation ENFANT. Pour simplifier, on ne considre que
les enfants allant lcole primaire. Les coles et les classes sont dcrites dans les relations COLE et CLASSE.

5.2

Requtes

Exprimer les requtes suivantes laide de lalgbre relationnelle, puis les traduire en SQL.
Requte 1 : Donner ladresse des immeubles ayant plus de 10 tages et construits avant 1970.
Requte 2 : Donner les noms des personnes qui habitent dans un immeuble dont ils sont propritaires
(occupants et habitants).
Requte 3 : Donner les noms des personnes qui ne sont pas propritaires.
Requte 4 : Donner les adresses des immeubles possds par des informaticiens dont lge est infrieur
40 ans.

Vertigo/CNAM, Paris

SGBD B7, UV 19786 - Exercices Dirigs

14

Contraintes

Requte 5 : Donner la liste des occupants (nom, ge, profession) des immeubles possds par DUPONT.
Requte 6 : Donner le nom et la profession des propritaires dimmeubles o il y a des appartements
vides.
Requte 7 : Donner les noms des matres qui habitent dans le mme immeuble ( la mme adresse) quau
moins un de leurs lves (on suppose que les enfants vivent sous le mme toit que leur responsable).
Requte 8 : Donner ladresse de limmeuble, la date de construction, le type dappartement et ltage o
habitent chacun des matres des enfants de DUPONT.
Requte 9 : Donner le nom et lge des matres qui habitent dans un immeuble dont le propritaire est
responsable dun de leurs lves.
Requte 10 : Donner le nom et lge des personnes qui sont propritaires mais qui ne sont ni matre ni
directeur dcole.

5.3

Mise jour

Requte 11 : Ajouter un enfant de nom np, de prnom e, n en a et linscrire la classe c de lcole ec.

5.4

Contraintes

Indiquer de la faon la plus formelle possible certaines contraintes que les donnes de la base doivent respecter pour tre conformes la ralit modlise ici.

Vertigo/CNAM, Paris

SGBD B7, UV 19786 - Exercices Dirigs

15

Schma

Chapitre 6

SQL : Fournisseurs - Produits - Clients


6.1

Schma

Les exemples suivants sont tirs du livre A Guide to DB, Third Edition de C.J. Date.
CREATE TABLE FOURNISSEUR
( F#
CHAR(5)
FNOM
CHAR(20)
STATUS
SMALLINT
VILLE
CHAR(15)
PRIMARY KEY ( F# ) );

NOT
NOT
NOT
NOT

NULL,
NULL WITH DEFAULT,
NULL WITH DEFAULT,
NULL WITH DEFAULT,

CREATE TABLE PRODUIT


( P#
CHAR(6)
PNOM
CHAR(20)
COULEUR
CHAR(6)
POIDS
SMALLINT
PRIMARY KEY ( P# ) );

NOT
NOT
NOT
NOT

NULL,
NULL WITH DEFAULT,
NULL WITH DEFAULT,
NULL WITH DEFAULT,

CREATE TABLE CLIENT


( C#
CHAR(6)
CNOM
CHAR(20)
VILLE
CHAR(15)
PRIMARY KEY ( C# ) );

NOT NULL,
NOT NULL WITH DEFAULT,
NOT NULL WITH DEFAULT,

CREATE TABLE COMMANDE


( F#
CHAR(5)
P#
CHAR(6)
C#
CHAR(6)
QTE
SMALLINT,
PRIMARY KEY ( F#, P#, C# ) );

NOT NULL,
NOT NULL,
NOT NULL,

CREATE UNIQUE INDEX FX ON FOURNISSEUR ( F# );

Vertigo/CNAM, Paris

SGBD B7, UV 19786 - Exercices Dirigs

16

Requtes

6.2

Requtes

Exprimer les requtes suivantes en SQL.


Requte 1 : Toutes les informations sur les clients.
Requte 2 : Toutes les informations sur les clients Paris.
Requte 3 : La liste trie des numros des fournisseurs du client avec le numro C1.
Requte 4 : Les commandes avec une quantit entre 300 et 750.
Requte 5 : Les commandes avec une quantit diffrente de NULL.
Requte 6 : Les numros des clients qui sont situs dans une ville qui commence par P.
Requte 7 : Les numros des fournisseurs et des clients qui sont situs dans la mme ville.
Requte 8 : Les numros des fournisseurs et des clients qui ne sont pas situs dans la mme ville.
Requte 9 : Les numros des produits fournis par des fournisseurs Parisiens.
Requte 10 : Les numros des produits fournis par des fournisseurs Parisiens des clients Marseillais.
Requte 11 : Les couples de villes (v r , vs ) tel quil existe au moins un fournisseur dans la ville v r dun
client dans la ville vs .
Requte 12 : Les numros des produits fournis des clients situs dans la mme ville que leurs fournisseurs.
Requte 13 : Les numros des clients qui ont au moins un fournisseur situ dans une autre ville.
Requte 14 : Les couples de produits qui sont fournis par le mme fournisseur.

Vertigo/CNAM, Paris

SGBD B7, UV 19786 - Exercices Dirigs

17

Requtes

Chapitre 7

Calcul - SQL - Algbre : Cinmas - Films


7.1

Schma

Les exemples suivants sont tirs du livre Foundations of Databases de S. Abiteboul, R. Hull et V. Vianu.
SALLE (Nom,Horaire,Titre)
FILM (Titre, Realisateur, Acteur)
PRODUIT (Producteur,Titre)
VU (Spectateur,Titre)
AIME (Spectateur,Titre)
Un film est ralis par un metteur en scne mais peut tre financ par plusieurs Producteurs. Un Spectateur
peut aimer un film sans lavoir vu.

7.2

Requtes

crire les requtes suivantes en algbre relationnel, en calcul variable n-uplet et en calcul variable domaine.

7.2.1

Interrogation dune seule Relation

Requte 1 : Dans quelle salle et quelle heure peut on voir le film Mad Max?
Requte 2 : Quels sont les films raliss par Orson Welles?
Requte 3 : Quels sont les Acteurs du film Ran?

7.2.2

Jointures

Requte 4 : Dans quelles salles peut-on voir un film avec Simone Signoret ?
Requte 5 : Dans quelles salles peut on voir Marlon Brando aprs 16h ?

Vertigo/CNAM, Paris

SGBD B7, UV 19786 - Exercices Dirigs

18

Requtes

Requte 6 : Quels sont les Acteurs qui ont produit un film?


Requte 7 : Quels sont les Acteurs qui ont produit un film dans lequel ils jouent ?
Requte 8 : Quels sont les Acteurs qui ont produit et ralis un film?
Requte 9 : Quels sont les Producteurs qui regardent les films quils ont produits ?

7.2.3

Difference

Requte 10 : Quels films ne passent en ce moment dans aucune salle?


Requte 11 : Quel est le rsultat de la requte suivante (ATTENTION, la requte nest pas saine!)?

tvu
wx y z {|2}~& " u
w .n  w A" )k +
% "  w .  wx y z {v|U u
wx y z {| .
Requte 12 : Quels Spectateurs aiment un film quils nont pas vu?
Requte 13 : Qui naime aucun film quil a vu?
Requte 14 : Qui na produit aucun film de Doillon?
Requte 15 : Qui a produit un film qui ne passe dans aucune salle?

7.2.4

Division

Requte 15 : Quels Spectateurs ont vu tous les films? (ou Spectateurs pour lesquels il nexiste pas un film
quils nont pas vu)
Requte 16 : Quels Acteurs jouent dans tous les films de Welles ? (ou Acteurs pour lesquels il nexiste
pas un film de Welles quils nont pas jou)
Requte 17 : Quels sont les Spectateurs qui aiment tous les films quils ont vu ? (ou Spectateurs pour
lesquels il nexiste pas un film quils ont vu et quils nont pas aim)
Requte 18 : Quels sont les Producteurs qui voient tous les films quils ont produit ? (ou Producteurs pour
lesquels il nexiste pas un film quils ont produit et quils nont pas vu)
Requte 19 : Quels Producteurs voient tous les films de Kurosawa ? (ou Producteurs pour lesquels il
nexiste pas un film de Kurosawa quils nont pas vu)

Vertigo/CNAM, Paris

SGBD B7, UV 19786 - Exercices Dirigs

19

Troisime Forme Normale

Chapitre 8

Dcomposition
8.1

Calcul des Cls

\ \^\ .

Exercice
: Soit
relationnel 4"A
\ A
\ leDschma
& . Quelles sont les cls?
Exercice B : Soit le schma relationnel
Montrer que est la seule cl.
Exercice C : Soit le schma relationnel
cls.

avec les dpendance fonctionnelles U

4" \ a\ \ . , U t a\ \ \ [

4" \ a\ \ .

et

U t a\ \ . Trouver les

Exercice D : Soit le schma relationnel

4"  
{1\ {v u |v|
{v\ {v z{|\< ? A |\ 1 F \  | .
U t D $ \ ) \ $ ) \^ % , \ % )

Montrer que la seule cl est % .


\ a\ \ . , U . Quelles sont les cls?
Exercice E : Soit le schma relationnel 4"
8.2

Troisime Forme Normale

4"A |\ z A |\ v| $     .


U t '& \^ n

Exercice A : Est-ce que le schma

est en 3FN?
Dfinition 3FN: 

P~

est une supercl ou

appartient une cl.

Exercice B : Montrer que les schmas suivants ne sont pas en 3FN:


Schma 1 :

"A \ \^\ .
4
U t \ \ BX &

Vertigo/CNAM, Paris

SGBD B7, UV 19786 - Exercices Dirigs

20

Dcomposition sans Perte dInformation

Schma 2 :

Schma 3 :

"A \ \^\ .
4
\
U t \ \
4" \ $ \ \ ) \ % \ ,4.
U t D $ \ ) \ $ ) \^ % , \ % )

Schma 4 :

4" ~:\ \ , \ $2.


U t ~D \ ~ , $

Schma 5 :

8.3

" \ \ -\ '&.
4
~ U t X
\  '(

Dcomposition sans Perte dInformation

\ a\ \

\^

Exercice
relationnel 4"
. , U
U A t : Soit
a\ le schma
.

1. Montrer que nest pas une dcomposition sans perte dinformation.


2. Donner une dcomposition sans perte dinformation.

et la dcomposition

Exercice B : Soit le schma relationnel

4"A 0{F|
{v\ a{|v|\  $ {vv\ { w .
U t ~D \ ~ , $

Trouver une dcomposition sans perte dinformation.


Exercice C : Soit le schma relationnel

4"A ? #zk\ a{  A|\ B0 { ||F \ |v90 #] | .


U t X \  'B
Montrer que la seule cl est X .

1.
2. Trouver une dcomposition sans perte dinformation.

Vertigo/CNAM, Paris

SGBD B7, UV 19786 - Exercices Dirigs

21

Prservation des Dpendances Fonctionnelles

8.4

Prservation des Dpendances Fonctionnelles

4" B .
U t \ \ 2

Donner une dcomposition qui prserve les dpendances de

Exercice A : Soit le schma

1.
.
2. Est-ce que cette dcomposition est sans perte dinformation?

" B .
4
U t a\ \
et la dcomposition
U" -\ B .

1. Est-ce que prserve les dpendances de ?


 . et " ( . obtenues sont en 3FN?
2. Est-ce que les relations "

Exercice B : Soit le schma

Exercice C : Trouver des dcompositions en relations qui sont en 3FN, dcompositions qui prservent les
dpendances et qui sont sans perte dinformation, pour les schmas suivants :
Schma 1 :

4" B .
U t \ \ \

Schma 2 :

" $ k) %2,4.
4
U t D $ \ ) \ $ ) \^ % , \ % )

Schma 3 :

" ~ ,-$2.
4
U t ~D \ ~ , $

Schma 4 :

"AX '&.
4
U t X \  B
'

Schma 5 :

 .
4" B
U t B

Schma 6 :

" B .
4
U t a\ \

Schma 7 :

" B .
4
U t

Schma 8 :

" B .
4
U t \ \

Vertigo/CNAM, Paris

SGBD B7, UV 19786 - Exercices Dirigs

22

Forme Normale de Boyce-Codd

8.5

Forme Normale de Boyce-Codd

4" B .
U t \ \ 2

Exercice A : Soit le schma

1. Donner une dcomposition sans perte dinformation et qui prserve les dpendances de .
2. Est-ce que cette dcomposition est en BCNF?
Exercice B : Parmi les schmas obtenus aprs la dcomposition des schmas suivantes, trouver les dcompositions en relations qui sont en BCNF.
Schma 1 :

4" B .
U t \ \ \

Schma 2 :

" $ k) %2,4.
4
U t D $ \ ) \ $ ) \^ % , \ % )

Schma 3 :

" ~ ,-$2.
4
U t ~D \ ~ , $

Schma 4 :

"AX '&.
4
U t X \  B
'

Schma 5 :

 .
4" B
U t B

Schma 6 :

" B .
4
U t a\ \

Schma 7 :

" B .
4
U t

Schma 8 :

" B .
4
U t \ \

Exercice C : Montre que le schma

4"A |\ z A |\ v| $     .


U t '& \^ n

nest pas en BCNF.

Vertigo/CNAM, Paris

SGBD B7, UV 19786 - Exercices Dirigs

23

CHAPITRE 9. ORGANISATION PHYSIQUE

Chapitre 9

Organisation Physique
Exercice A : On prend ici comme exemple la relation Directeur (nom_directeur, nom_film).
1. Organisation Squentielle : Expliquer lorganisation squentielle et reprsenter un exemple sur
la relation Directeur. Montrer le fichier aprs une insertion et aprs quelques suppressions
darticles.
2. Organisation Indexe : Montrer des exemples dindex non dense (primaire) et dense (secondaire) sur la relation Directeur.
Exercice B : Construire un index sur la date de naissance des musicien (arbre B, ordre 2) :
Monteverdi
1589
Couperin
1668
Bach
1685
Rameau
1684
Debussy
1862
Ravel
1875
Mozart
1756
Faure
1856
Exercice C : Construire un index sur les noms des musicien (arbre B, ordre 2).
Exercice D : Construire un arbre B+ dordre 2 sur les numros de dpartement.
3
Allier
36
Indre
18
Cher
9
Arige
11
Aude
12
Aveyron
73
Savoie
55
Meuse
46
Lot
39
Jura
81
Tarn
25
Doubs
15
Cantal
51
Marne
42
Loire
Exercice E : Soit le fichier squentiel suivant (on ne donne pour chaque article du fichier que la cl sur
laquelle on construit larbre): 1 15 3 12 6 4 11 7 2 5 14 8 9 17 10 13 16. Lindex en arbre B
Vertigo/CNAM, Paris

SGBD B7, UV 19786 - Exercices Dirigs

24

CHAPITRE 9. ORGANISATION PHYSIQUE

dordre 2 aprs linsertion des cls 1 15 3 12 6 4 11 7 2 5 14 8 est montr dans la figure suivante :

12

11

14

15

1. Donnez larbre rsultant aprs linsertion de tous les articles du fichier squentiel.
2. Combien de nuds diffrents (racine et feuilles compris) doit-on parcourir dans lindex pour
rpondre la requte qui cherche les articles dont la cl appartient lintervalle [5,10].
Exercice F : Soit les fichiers squentiels suivants (on ne donne pour chaque article du fichier que la cl
sur laquelle on construit larbre) :
5, 29, 17, 68, 60, 43, 10, 11, 12, 20, 55, 30, 40, 50, 25.
100, 29, 170, 70, 600, 430, 99, 11, 13, 21, 550, 30, 400, 50, 25
2 15 30 28 12 4 18 19 24 29 13 27 9 20 3 32 21 23
1. Construire un index en arbre B dordre 2 pour chacun des fichier.
2. Construire un index en arbre B+ dordre 2 pour chacun des fichier.

Vertigo/CNAM, Paris

SGBD B7, UV 19786 - Exercices Dirigs

25

CHAPITRE 10. ALGORITHMES DE JOINTURE

Chapitre 10

Algorithmes de Jointure
Soit les relations suivantes:
Directeur(nom_directeur, nom_film)
Acteur(nom_film, nom_acteur)
Soit la requte suivante :
SELECT nom_directeur, nom_acteur
FROM Directeur Join Acteur
WHERE Directeur.nom_film = Acteur.nom_film

Pour valuer cette requte, il faut calculer la jointure Directeur C Acteur. Pour lxecution des jointures,
dcrivez et valuez la complxit de lalgorithme avec boucles imbriques et avec tri-fusion. Dans les deux cas on
tiendra compte des mouvements entre mmoire centrale et disque et on vluera le nombre dentres-sorties.
Exercice A : Algorithme avec boucles imbriques;
Exercice B : Algorithme avec tri-fusion;

Vertigo/CNAM, Paris

SGBD B7, UV 19786 - Exercices Dirigs

26

CHAPITRE 11. OPTIMISATION DE REQUTES

Chapitre 11

Optimisation de Requtes
Exercice A : Soit la base STATION DE SKI de schma:
hotel (noms,nomh,categorie,adresse,tel,nb_chambres)
station (noms,gare)
activite (type_activite,noms)
Pour chacune des requtes suivantes, on demande:
1. larbre syntaxique de la requte
2. le plan dexcution obtenu par la restructuration algbrique
3. le plan dexcution obtenu par une optimisation globale.
Requte 1 : adresse, numro de tlphone et nombre de chambres des htels de catgorie 3
dans la station de nom (noms persey.
SELECT adresse, tel, nb_chambres
FROM hotel
WHERE noms=pesey AND categorie=3;

Requte 2 : nom de station (noms) et la gare de la station pour le sstations ayant pour activit
le tennis.
SELECT noms, gare
FROM station, activite
WHERE type_activite = tennis
AND station.noms=activite.noms

Exercice B : Soit le schma suivant:


CREATE TABLE FILM (
CREATE TABLE VU (
TITRE
VARCHAR2(32),
SPECTATEUR
VARCHAR2(32),
REALISATEUR VARCHAR2(32),
TITRE
VARCHAR2(32)
ACTEUR VARCHAR2(32)
);
);
Soit la requte SQL:
SELECT ACTEUR, REALISATEUR
FROM FILM, VU
WHERE FILM.TITRE=VU.TITRE
Dans chacun des cas suivants, donner lalgorithme de jointure de ORACLE (par EXPLAIN, un arbre
dexcution comment, une explication textuelle ou tout autre moyen de votre choix):
1. Il nexiste pas dindex sur TITRE ni dans FILM ni dans VU,

Vertigo/CNAM, Paris

SGBD B7, UV 19786 - Exercices Dirigs

27

CHAPITRE 11. OPTIMISATION DE REQUTES

2. Il existe un index sur TITRE dans FILM seulement.


3. Il existe un index sur TITRE dans les deux relations.
Exercice C : Soit la requte :
SELECT e.enom, d.dnom
FROM
emp e, dept d
WHERE
e.dno = d.dno
AND
e.sal = 10000
sur la relation EMP de schma
(EMPNO, SAL, MGR, DNO). Cette requte affiche le nom des
employs dont le salaire ( )k ) est gal 10000, et celui de leur dpartement. Indiquez le plan
dexcution dans chacune des hypothses suivantes.
y " < . et sur %BX$"A) ? .

1. Index sur %($

? . seulement.
< . et sur %(X$") ? .
Index sur %(X$"

2. Index sur %(X$")


3.

4. Voici une autre requte, lgrement diffrente. Plan dexcution sil ny a pas dindex.
SELECT e.enom
FROM emp e, dept d
WHERE e.dno = d.dno
AND
d.ville = Paris
5. Que pensez-vous de la requte suivante par rapport la prcdente ?
SELECT e.enom
FROM emp e
WHERE e.dno IN (SELECT d.dno
FROM Dept d
WHERE d.Ville = Paris)
Voici le plan dexcution donn par ORACLE :
0 SELECT STATEMENT
1 MERGE JOIN
2 SORT JOIN
3 TABLE ACCESS FULL EMP
4 SORT JOIN
5 VIEW
6 SORT UNIQUE
7 TABLE ACCESS FULL DEPT
Quen dites vous ?
Exercice D : Sur le mme schma, voici maintenant la requte suivante.
SELECT *
FROM EMP X WHERE X.SAL IN (SELECT SAL
FROM EMP
WHERE EMP.EMPNO=X.MGR)

Cette requte cherche les employs dont le salaire ( )3 ) est gal celui de leur patron ( X&' ). On
donne le plan dexcution avec Oracle (outil EXPLAIN) pour cette requte dans deux cas: (i) pas
dindex, (ii) un index sur le salaire et un index sur le numro demploy. Expliquez dans les deux
cas ce plan dexcution (ventuellement en vous aidant dune reprsentation arborescente de ce plan
dexcution).
1. Pas dindex.
Plan dexcution
Vertigo/CNAM, Paris

SGBD B7, UV 19786 - Exercices Dirigs

28

CHAPITRE 11. OPTIMISATION DE REQUTES

-----------------------------------------------------------------------0 FILTER
1 TABLE ACCESS FULL EMP
2 TABLE ACCESS FULL EMP
2. Index empno et index sal.
Plan dexcution
-----------------------------------------------------------------------0 FILTER
1 TABLE ACCESS FULL EMP
2 AND-EQUAL
3 INDEX RANGE SCAN I-EMPNO
4 INDEX RANGE SCAN I-SAL
3. Dans le cas o il y a les deux index (salaire et numro demploy) et o la requte est :
SELECT *
FROM EMP X
WHERE X.SAL = (SELECT SAL
FROM EMP
WHERE EMP.EMPNO=X.MGR)
on a le plan dexcution suivant:
Plan dexcution
-----------------------------------------------------------------------0 FILTER
1 TABLE ACCESS FULL EMP
2 TABLE ACCESS ROWID EMP
3 INDEX RANGE SCAN I-EMPNO
Expliquez-le.
Exercice E : On reprend le schma CINEMA donn dans le cours, mais on ne sais plus quels index
existent.
Questions:
1. Donner lordre SQL pour la requte: Quels sont les films dHitchcock visibles aprs 20h00 ?
2. Donner lexpression algbrique correspondante et proposez un arbre de requte qui vous parat
optimal.
3. Sous ORACLE, loutil EXPLAIN donne le plan dexcution suivant:
0 SELECT STATEMENT
1 MERGE JOIN
2 SORT JOIN
3 NESTED LOOPS
4 TABLE ACCESS FULL ARTISTE
5 TABLE ACCESS BY ROWID FILM
6 INDEX RANGE SCAN IDX-ARTISTE-ID
7 SORT JOIN
8 TABLE ACCESS FULL SEANCE
Commentez le plan donn par EXPLAIN. Pourrait-on amliorer les performances de cette
requte?
Exercice F : Soit le schma suivant:
CREATE TABLE Artiste (
ID-artiste
NUMBER(4),
Vertigo/CNAM, Paris

CREATE TABLE Film (


ID-film

SGBD B7, UV 19786 - Exercices Dirigs

NUMBER(4),
29

CHAPITRE 11. OPTIMISATION DE REQUTES

Nom
Adresse

VARCHAR2(32),
VARCHAR2(32)

Titre
VARCHAR2(32),
Anne
NUMBER(4),
ID-ralisateur NUMBER(4)

);
);

CREATE TABLE Joue (


ID-artiste
NUMBER(4),
ID-film
NUMBER(4)
);
Questions:
1. Donner lordre SQL pour la requte: Afficher le nom des acteurs et le titre des films o ils ont
jou.
2. Donner lexpression algbrique correspondante.
3. Quel est votre avis le plan dexcution dans sil nexiste que deux index, un sur FILM(IDralisateur), et un sur ARTISTE(ID-artiste)?
~& " T~ J . , et un sur *2%a"  {  | . .
4. Idem, avec un index sur
~& " T~ J . , et un sur *2%a" o~ . .
5. Idem, avec un index sur

Vertigo/CNAM, Paris

SGBD B7, UV 19786 - Exercices Dirigs

30

Srialisabilit et recouvrabilit

Chapitre 12

Concurrence
12.1

Srialisabilit et recouvrabilit

12.1.1

Graphe de srialisabilit et quivalence des excutions

Construisez les graphes de srialisabilit pour les excutions (histoires) suivantes. Indiquez les excutions srialisables et vrifiez sil y a des excutions quivalentes.
1.
2.
3.

1: wq  7 k{vv wq H1 M{ 


1{ w {      wq
 1  ` 7 7 wq {    {1 wq






 , et  srialisables,
et  ne sont pas quivalentes. Pour avoir quivalence, deux conditions sont ncessaires: (i)
Les histoires
Conclusion:

avoir les mmes transactions et les mmes operations, et (ii) avoir le meme ordre des operations conflictuelles.

Ici la seconde condition est


effet, si on extrait
de ces histoires,
y U mais
la premiere!
y U la transaction
onremplie,
{ wpas
 , tandis En
{ wq  . Et cest
on
remarque
que
pour
a
que
pour

,
pareil pour
y .

12.1.2

Recouvrabilit

Parmi les excutions (histoires) suivantes, lesquelles sont recouvrables, lesquelles vitent les annulations en
cascade et lesquelles sont strictes? Indiquez sil y a des excutions srialisables.
1.
2.
3.

1{1 w 71 {  H  w { w 7 1 wq 
1{ w {  wq 
 1{ w { w  { w 

Vertigo/CNAM, Paris

SGBD B7, UV 19786 - Exercices Dirigs

31

Reprise aprs panne

12.2

Contrle de concurrence

12.2.1

Verrouillage 2 phases

Un scheduler avec verrouillage 2 phases reoit la squence doprations ci-dessous.

{ qw {  qw qw  {  {    

Indiquez lordre dexcution tabli par le scheduler, en considrant quune opration bloque en attente dun
verrou est excute en priorit ds que le verrou devient disponible. On suppose que les verrous dune transaction
sont relchs au moment du Commit.

12.2.2

Estampillage et la rgle de Thomas

Etant done la squence doprations suivante, comparez les excutions tablies par un scheduler avec estampillage simple et un scheduler intgr pur utilisant la rgle de Thomas. Le scheduler avec estampillage nutilise
que le test des estampilles, sans retarder ensuite lexcution des oprations. Considrez quune transaction rejete est relance tout de suite avec une nouvelle estampille et que ses oprations dj excutes sont traites avec
priorit.

{ wq {  wq wq 

12.2.3

Comparaison des mthodes de contrle de concurrence

Parmi les excutions suivantes, lesquelles ne peuvent pas tre obtenues par verrouillage 2 phases et lesquelles
ne peuvent pas tre obtenues par estampillage simple?

{1 wq { 7 wq {1 

{ wq { wq  

12.3

Reprise aprs panne

12.3.1

Journalisation

Soit le journal physique ci-dessous, dans lequel on a marqu les oprations Commit et Abort ralises:

y v\ w \ \ y 1\ \ \ y \ \^ \ \ y \ \ \ y  \ w \^ \ ?1\ y \
\ \   \ y h \ w \
1. Indiquez le contenu de liste_commit, liste_abort, liste_active.

2. En supposant quune nouvelle criture vient


des critures suivantes sont
y \ de\ sajouter
y \ 0\ auoujournal,
y \ w \> lesquelles
compatibles avec une excution stricte: h
,
?
3. Quelles sont les entres rcuprables par lalgorithme de ramasse-miettes?

4. Si les valeurs initiales des enregistrements taient w U , U


, U
, et si une panne survenait ce
moment, quelles seraient les valeurs restaures pour , et aprs la reprise?

Vertigo/CNAM, Paris

SGBD B7, UV 19786 - Exercices Dirigs

32

Concurrence: Gestion Bancaire

12.4

Concurrence: Gestion Bancaire

Les trois programmes suivants peuvent sexcuter dans un systme de gestion bancaire. Dbit diminue le solde
dun compte c avec un montant donn m. Pour simplifier, tout dbit est permis (on accepte des dcouverts).
Crdit augmente le solde dun compte c avec un montant donn m. Transfert transfre un montant m partir dun
compte source s vers un compte destination d. Lexcution de chaque programme dmarre par un Start et se
termine par un Commit (non montrs ci-dessous).
Dbit (c:Compte;
m:Montant)
begin
t := Read(c);
Write(c,t-m);
end

|
|
|
|
|
|

Crdit (c:Compte;
m:Montant)
begin
t = Read(c);
Write(c,t+m);
end

|
|
|
|
|
|

Transfert (s,d:Compte;
m:Montant)
begin
Dbit(s,m);
Crdit(d,m);
end

Le systme excute en mme temps les trois oprations suivantes:


(1) un transfert de montant 100 du compte A vers le compte B
(2) un crdit de 200 pour le compte A
(3) un dbit de 50 pour le compte B

y , y et y  qui correspondent ces oprations. Montrer que lhistoire H: {


 {     est une excution concurrente de y , y et y  .

1. crire
{
{ les transactions

2. Mettre en vidence les conflits dans H et construire le graphe de srialisation de cette histoire. H est-elle
srialisable? H est-elle recouvrable?
3. Quelle est lexcution H obtenue partir de H par verrouillage deux phases? On suppose que les verrous
dune transaction sont relchs aprs le Commit de celle-ci. Une opration bloque en attente dun verrou
bloque le reste de sa transaction. Au moment du relchement des verrous, les oprations en attente sont
excutes en priorit.
Si au dbut le compte A avait un solde de 100 et B de
? quel sera le solde des deux comptes aprs la
50,
reprise si une panne intervient aprs lexcution de

Vertigo/CNAM, Paris

SGBD B7, UV 19786 - Exercices Dirigs

33

You might also like