Professional Documents
Culture Documents
20 septembre 2001
.
.
.
.
.
.
.
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
7
7
7
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
9
9
9
9
9
10
10
10
11
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
12
12
13
14
14
15
15
16
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
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
30
30
30
30
31
31
31
31
31
31
32
Chapitre 1
Conception
1.1
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
1.1.2
Tournoi de tennis
Le second schma (figure 1.2) reprsente des rencontres dans un tournoi de tennis.
Vertigo/CNAM, Paris
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
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
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 :
Vertigo/CNAM, Paris
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
Auto-Jointure et Renommage
2.2
Jointure relationnelle
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
Vertigo/CNAM, Paris
Requtes
Chapitre 3
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
3.2
Requtes
Vertigo/CNAM, Paris
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).
Vertigo/CNAM, Paris
Oprations Algbriques
Chapitre 4
Schma
4.1.1
4.1.2
4.2
Oprations Algbriques
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
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
4.3.1
4.3.2
Jointures
Vertigo/CNAM, Paris
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
Vertigo/CNAM, Paris
12
Schma
Chapitre 5
Schma
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
13
Requtes
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
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
15
Schma
Chapitre 6
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,
NOT
NOT
NOT
NOT
NULL,
NULL WITH DEFAULT,
NULL WITH DEFAULT,
NULL WITH DEFAULT,
NOT NULL,
NOT NULL WITH DEFAULT,
NOT NULL WITH DEFAULT,
NOT NULL,
NOT NULL,
NOT NULL,
Vertigo/CNAM, Paris
16
Requtes
6.2
Requtes
Vertigo/CNAM, Paris
17
Requtes
Chapitre 7
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
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
18
Requtes
7.2.3
Difference
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
19
Chapitre 8
Dcomposition
8.1
\ \^\ .
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.
4" \ a\ \ . , U t a\ \ \ [
4" \ a\ \ .
et
U t a\ \ . Trouver les
4"
{1\ {v u |v|
{v\ {v
z{|\<
? A |\ 1
F\ | .
U t D $ \ ) \ $ ) \^ % , \ % )
est en 3FN?
Dfinition 3FN:
P~
"A \ \^\ .
4
U t \ \ BX &
Vertigo/CNAM, Paris
20
Schma 2 :
Schma 3 :
"A \ \^\ .
4
\
U t \ \
4" \ $ \ \ ) \ % \ ,4.
U t D $ \ ) \ $ ) \^ % , \ % )
Schma 4 :
Schma 5 :
8.3
" \ \ -\ '&.
4
~ U t X
\ '(
\ a\ \
\^
Exercice
relationnel 4"
. , U
U A t : Soit
a\ le schma
.
et la dcomposition
4"A 0{F|
{v\ a{|v|\ $ {vv\ { w .
U t ~D \ ~ , $
1.
2. Trouver une dcomposition sans perte dinformation.
Vertigo/CNAM, Paris
21
8.4
4" B .
U t \ \ 2
Donner une dcomposition qui prserve les dpendances de
1.
.
2. Est-ce que cette dcomposition est sans perte dinformation?
" B .
4
U t a\ \
et la dcomposition
U" -\ B .
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
22
8.5
4" B .
U t \ \ 2
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 \ \
Vertigo/CNAM, Paris
23
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
24
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
25
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
26
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
Vertigo/CNAM, Paris
27
?
. seulement.
< . et sur %(X$") ?
.
Index sur %(X$"
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
28
-----------------------------------------------------------------------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
NUMBER(4),
29
Nom
Adresse
VARCHAR2(32),
VARCHAR2(32)
Titre
VARCHAR2(32),
Anne
NUMBER(4),
ID-ralisateur NUMBER(4)
);
);
Vertigo/CNAM, Paris
30
Srialisabilit et recouvrabilit
Chapitre 12
Concurrence
12.1
Srialisabilit et recouvrabilit
12.1.1
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.
, 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.
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
31
12.2
Contrle de concurrence
12.2.1
Verrouillage 2 phases
{ 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
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
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
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.
Vertigo/CNAM, Paris
32
12.4
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
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
33