Академический Документы
Профессиональный Документы
Культура Документы
1
Dpartement Informatique Sarah Cohen-Boulakia, Bases de donnes
Langage de requtes pour les BDs
relationnelles (1/2)
Langage de requtes : ils permettent de
manipuler et de retrouver des donnes dune
base de donnes
2
Dpartement Informatique Sarah Cohen-Boulakia, Bases de donnes
Langage de requtes pour les BDs
relationnelles (2/2)
3
Dpartement Informatique Sarah Cohen-Boulakia, Bases de donnes
Langages de requtes formels
4
Dpartement Informatique Sarah Cohen-Boulakia, Bases de donnes
Prliminaire 1
Une requte sapplique des instances
de relations et le rsultat dune requte
est aussi une instance de relation
Autrement dit : Une requte se pose sur des
tables qui ont un contenu (potentiellement
vide) et renvoie une table avec un contenu
(potentiellement vide)
Rsultat de Q
R1 : table R2 : table Requte Q = une table
prenant en
entre R1 et
R2
5
Dpartement Informatique Sarah Cohen-Boulakia, Bases de donnes
Prliminaire 2
6
Dpartement Informatique Sarah Cohen-Boulakia, Bases de donnes
Prliminaire 3
Les schmas des relations prises en
entres par une requte sont fixs
Une requte sexprime grce des noms
dattributs et de tables
Mais une requte ne doit jamais
dpendre des instances des relations
Aucune connaissance du contenu des tables
ne doit tre ncessaire pour bien comprendre
la requte
7
Dpartement Informatique Sarah Cohen-Boulakia, Bases de donnes
Algbre relationnelle
Oprateurs de base
Slection ( ), Projection (), Produit cartsien (X),
Diffrence (\ ou -) et Union (U)
Autres oprateurs
Intersection, jointure, division, renomage: trs utiles
aussi !
Notation :
A1,,Ap(R) avec r relation et
A1,,Ap attributs de R
Reservation Q1
NumRes Classe DateRes NumClient NumClient DateRes
001
1 18/11/2007 17902567 17902567 18/11/2007
002 2 19/11/2007 2780289 2780289 19/11/2007
X un ensemble dattributs tels que X R
Output
X(r)={t(X) / t r}
O t(X) est la restriction de t sur les attributs de X
12
Dpartement Informatique Sarah Cohen-Boulakia, Bases de donnes
Slection : exemple
ET
Rservation Q2
NumRes Classe DateRes NumClient NumRes Classe DateRes NumClient
001 002
1 18/11/2007 17902567 2 19/11/2007 2780289
002 2 19/11/2007 2780289
(r)={t / t r et (t)}
Output
14
Dpartement Informatique Sarah Cohen-Boulakia, Bases de donnes
Dfinition formelle de la condition
Dfinition rcursive
Base : Soient 2 attributs A et B (non
ncesairement diffrents), et a Dom(A)
16
Dpartement Informatique Sarah Cohen-Boulakia, Bases de donnes
Exercice 1
Quel est le rsultat de la requte Q3
suivante en considrant linstance de la
relation R ci-dessous ?
1 Voisin Jean
2 Benzaken Claudine
3 Forest Jean
17
Dpartement Informatique Sarah Cohen-Boulakia, Bases de donnes
Correction (Exercice 1)
Quel est le rsultat de la requte Q3
suivante en considrant linstance de la
relation R ci-dessous ?
18
Dpartement Informatique Sarah Cohen-Boulakia, Bases de donnes
Produit cartsien : Introduction
Oprateur binaire (prend deux relations
entre entre : r1 et r2)
Chacun des n-uplets de r1 est combin
avec chacun des n-uplets de r2
Le schma du rsultat a lunion des
attributs des relations
NB : Si les deux relations ont un attribut
de mme nom, on renomme cet attribut
19
Dpartement Informatique Sarah Cohen-Boulakia, Bases de donnes
Produit cartsien : Exemple
R1
Renommage
A B C
R1 x R2
a1 b1 c1
a2 b2 c2 R1.A B C R2.A D
a1 b1 c1 a2 d2
R2 a1 b1 c1 a2 d3
A D a1 b1 c1 a3 d4
a2 d2 a2 b2 c2 a2 d2
a2 d3 a2 b2 c2 a2 d3
a3 d4 a2 b2 c2 a3 d4
20
Dpartement Informatique Sarah Cohen-Boulakia, Bases de donnes
Produit cartsien : Dfinition formelle
Input
r, s deux relations de schma R et S
Output
r x s = {t / t(R) r et t(S) s}
La restriction du produit aux attribut de R est r et
celle aux attributs de S est s
23
Dpartement Informatique Sarah Cohen-Boulakia, Bases de donnes
Jointure naturelle : Exemple
R1
R1 R2
A B C quivaut
a1 b1 c1 R1 R2
R1.A = R2.A
a2 b2 c2
A B C D
R2
a2 b2 c2 d2
A D
a2 b2 c2 d3
a2 d2
a2 d3
a3 d4
24
Dpartement Informatique Sarah Cohen-Boulakia, Bases de donnes
Jointure naturelle : Dfinition formelle
Input
r et s de schma R et S
Output
r s = {t / t(R) r et t(S) s}
r s= R union S (r x s)
Avec R S = {B1, , Bp}
25
Dpartement Informatique Sarah Cohen-Boulakia, Bases de donnes
Phi (ou thta) Jointure
A D E B C
R2
R1 3 2 1 7 1
A D
3 2 E B C 3 2 9 2 2
2 3 1 7 1 2 3 1 7 1
1 4 9 2 2
26
Dpartement Informatique Sarah Cohen-Boulakia, Bases de donnes
Union, Intersection, Diffrence :
Introduction
Tous ces oprateurs prennent en entre 2
relations qui doivent avoir le mme schma
27
Dpartement Informatique Sarah Cohen-Boulakia, Bases de donnes
Union, Intersection, Diffrence :
Exemples
R1 R2 R1 R2 R1 \ R2
A B A B
R1 R2 A B
a1 b1 a1 b1 a2 b2
A B A B
a2 b2 a3 b3
a1 b1 a1 b1 Les n-uplets
a3 b3 la fois
a2 b2 a2 b3 dans R1 et
a2 b3 Les n-uplets
a3 b3 a3 b4 dans R2 de R1 mais
a3 b4
qui ne sont
pas dans R2
Les n-uplets de R1
union ceux de R2
Pas de doublon 28
Dpartement Informatique Sarah Cohen-Boulakia, Bases de donnes
Union, Intersection, Diffrence :
Dfinitions formelles
Input
r, s deux relations de mme schma R
Output
r s = { t / t r ou t s }
r s = { t / t r et t s }
r \ s = { t / t r et t s }
de schma R
29
Dpartement Informatique Sarah Cohen-Boulakia, Bases de donnes
Exercice 2
Quel est le rsultat de la requte Q4
suivante en considrant les instances des
relations ci-dessous ?
Q4 =(A,B (C c1 (R1) )) R2
R1 R2
A B C A B
a1 b1 c1 a2 b2
a2 b2 c2 a2 b3
a3 b3 c3 a3 b4
30
Dpartement Informatique Sarah Cohen-Boulakia, Bases de donnes
Correction (Exercice 2) 1/3
Quel est le rsultat de la requte Q4
suivante en considrant linstance des
relations ci-dessous ?
Q4 =A,B (C c1 (R1) ) R2
R1 R2
A B C A B
a1 b1 c1 a2 b2
a2 b2 c2 a2 b3
a3 b3 c3 a3 b4
31
Dpartement Informatique Sarah Cohen-Boulakia, Bases de donnes
Correction (Exercice 2) 2/3
Quel est le rsultat de la requte Q4
suivante en considrant linstance des
relations ci-dessous ?
Q4 =A,B (C c1 (R1) ) R2
R1 R2
A B C A B
a1 b1 c1 a2 b2
a2 b2 c2 a2 b3
a3 b3 c3 a3 b4
32
Dpartement Informatique Sarah Cohen-Boulakia, Bases de donnes
Correction (Exercice 2) 3/3
Quel est le rsultat de la requte Q4
suivante en considrant linstance des
relations ci-dessous ?
Q4 =(A,B (C c1 (R1) )) R2
R1 R2 Q4
A B C A B A B
a1 b1 c1 a2 b2 a2 b2
a2 b2 c2 a2 b3
a3 b3 c3 a3 b4
33
Dpartement Informatique Sarah Cohen-Boulakia, Bases de donnes
Proprits algbriques
Lunion et lintersection sont commutatifs et
associatifs
r s = s r, r (s1 s2) = (r s1) s2
De mme pour
X (r s) = X (r) X (s)
X(r s) = X (r) - X (s)
X(r s) = X (r) X (s)
35
Dpartement Informatique Sarah Cohen-Boulakia, Bases de donnes
Exemple dquivalences (correction)
Exercice
Sachant que R = S (schmas) et X R, trouvez
un contre exemple aux galits qui sont
fausses et dmontrez celles qui sont justes
37
Dpartement Informatique Sarah Cohen-Boulakia, Bases de donnes
Non Distributivit de la diffrence
38
Dpartement Informatique Sarah Cohen-Boulakia, Bases de donnes
Distributivit de lunion : Dmonstration
X (r s) = X (r) X (s)
On se ramne aux dfinitions
40
Dpartement Informatique Sarah Cohen-Boulakia, Bases de donnes