Vous êtes sur la page 1sur 50

Cours 4

L'algèbre relationnelle(suite)
L'algèbre relationnelle(suite)
Objectifs
 Étudier les opérateurs additionnels
de l'algèbre relationnelle
 Étudier les agrégations
 Les arbres algébriques

FSA : SMI5_LPII_2014 2
L'algèbre relationnelle(suite)
 L'opérateur intersection
R1 et R2 sont deux relations de même schéma.
L'intersection de R1 et R2 est une relation R de
même schéma que R1 et R2 et dont les tuples
sont ceux communs à R1et R2.
Notations
– R=R1 ∩ R2,
– R=R1 intersect R2
– R=and(R1,R2)

FSA : SMI5_LPII_2014 3
L'algèbre relationnelle(suite)
 Notation graphique
R

R1 R2
FSA : SMI5_LPII_2014 4
L'algèbre relationnelle(suite)
Remarque
– Degré(R) = Degré(R1) = Degré(R2)
– Card(R)<=card(R1)
– Card(R)<=card(R2)
– R= R1 ∩ R2 = R1-(R1-R2) = R2-(R2-R1)
Exemple

FSA : SMI5_LPII_2014 5
L'algèbre relationnelle(suite)
R1

A B

a1 b1

a1 b2

a3 b3

FSA : SMI5_LPII_2014 6
L'algèbre relationnelle(suite)
R2

A B

a1 b2

a2 b2

a3 b3

FSA : SMI5_LPII_2014 7
L'algèbre relationnelle(suite)
R1 ∩ R2

A B

a1 b2

a3 b3

FSA : SMI5_LPII_2014 8
L'algèbre relationnelle(suite)
 L'opérateur jointure
Soit R1 et R2 deux relations de schémas
R1(A1,A2,A3…) et R2(B1,B2,B3…).
La jointure de R1 et R2 selon un critère C
est une relation R dont le schéma est
R(A1,A2,A3…,B1,B2,B3…) et dont les
tuples sont ceux de R1x R2 vérifiant le
critère C.
FSA : SMI5_LPII_2014 9
L'algèbre relationnelle(suite)
– Le critère C est composé d'expressions
logiques de la forme R1.Ai op R2.Bj
combinées avec les opérateurs logiques (et,
or et non).
– op est un opérateur de comparaison
(<,<=…). Les attributs à comparer doivent
être de types compatibles.

FSA : SMI5_LPII_2014 10
L'algèbre relationnelle(suite)
Notations
– R=jointure (R1, R2/ C)

– R=R1 C
R2

– R=join(R1,R2/C)

FSA : SMI5_LPII_2014 11
L'algèbre relationnelle(suite)
 Notation graphique

R1 R2
FSA : SMI5_LPII_2014 12
L'algèbre relationnelle(suite)
Remarque
Degré(R)=degré(R1)+degré(R2)
Exemples

FSA : SMI5_LPII_2014 13
L'algèbre relationnelle(suite)
R1 R2
A B1 B2 C
a1 1 1 c1
a1 2 4 c2
a3 3 5 c3

Cr=(B1=B2) R
Ou A B1 B2 C
Cr=(R1.B1=R2.B2)
a1 1 1 c1
FSA : SMI5_LPII_2014 14
L'algèbre relationnelle(suite)
R1 R2
A B1 B1 C
a1 1 1 c1
a1 2 4 c2
a3 3 5 c3

C=(R1.B1=R2.B1) R
A R1.B1 R2.B1 C
a1 1 1 c1
FSA : SMI5_LPII_2014 15
L'algèbre relationnelle(suite)
R1 R2
A B1 B2 C
a1 1 1 c1
a2 2 4 c2
a3 3 5 c3

Si on utilise le critère
C=(B1<B2)
Ou =>
C=(R1.B1<R2.B2)
FSA : SMI5_LPII_2014 16
L'algèbre relationnelle(suite)
R
A B1 B2 C
a1 1 4 c2
a1 1 5 c3
a2 2 4 c2
a2 2 5 c3

FSA : SMI5_LPII_2014 17
L'algèbre relationnelle(suite)
 L'opérateur téta-jointure ou θ-jointure
Θ est un opérateur de comparaison:
=,<,<=, >, >=,<>
La θ-jointure = la jointure généralisée mais
le critère C contient un seul opérateur θ
qui porte sur des attributs communs des
deux relations.
Notation
R=R1 R2
θ
FSA : SMI5_LPII_2014 18
L'algèbre relationnelle(suite)
• Notation graphique

R1 R2

FSA : SMI5_LPII_2014 19
L'algèbre relationnelle(suite)
Exemples
R1 R2
A B B C
a1 1 1 c1
a2 1 4 c2
a3 3 5 c3
R
Si θ est
l'opérateur =,
A R1.B R2.B C
on obtient a1 1 1 c1
a2FSA : SMI5_LPII_2014
1 1 c1 20
L'algèbre relationnelle(suite)
R1 R2
A B B C
a1 1 1 c1
a2 1 4 c2
a3 3 5 c3
R
Pour θ égale à
l'opérateur >,
A R1.B R2.B C
on obtient a3 3 1 c1
FSA : SMI5_LPII_2014 21
L'algèbre relationnelle(suite)
 L'opérateur équijointure
C'est la θ-jointure avec θ est l'opérateur =.

FSA : SMI5_LPII_2014 22
L'algèbre relationnelle(suite)
 La jointure naturelle
C'est l'équijointure mais on garde une
seule occurrence des attributs communs
entre les deux relations:
Notation
– R=R1*R2
– R=R1 R2

FSA : SMI5_LPII_2014 23
L'algèbre relationnelle(suite)
 Notation graphique

R1 R2
FSA : SMI5_LPII_2014 24
L'algèbre relationnelle(suite)
R1 R2
A B B C
a1 1 1 c1
a2 1 4 c2
a3 3 5 c3
R1*R2
R=R1 R2 A B C
a1 1 c1
a2 1
FSA : SMI5_LPII_2014
c1 25
L'algèbre relationnelle(suite)
Exercice R1
Soit les relation suivantes A B C
1 2 3
Chercher
4 5 6
•R1xR2
•R1*R2
7 8 9
•R=R1 R2 R2
=
•R=R1 R2 B C D
< 3 3 10
5
FSA : SMI5_LPII_2014 6 11 26
L'algèbre relationnelle(suite)
 Opérateur jointure externe
La jointure externe de deux relations R1 et R2
est donnée par
– i) jointure naturelle entre R1 et R2. Soit R le résultat
obtenu.
– ii) ajout à R les tuples de R1 et de R2 n'ayant pas
participé à la jointure naturelle complétés par des
nulls comme valeurs des attributs de R2,
– iii) ajout à R les tuples de R2 n'ayant pas participé à
la jointure naturelle complétés par des nulls comme
valeurs des attributs de R1.

FSA : SMI5_LPII_2014 27
L'algèbre relationnelle(suite)
Notation
R=R1 R2
Notation graphique
R

R1 R2
FSA : SMI5_LPII_2014 28
L'algèbre relationnelle(suite)
R1 R2
A B B C
a1 1 1 c1
a2 1 4 c2
a3 3 5 c3

R=R1 R2

FSA : SMI5_LPII_2014 29
L'algèbre relationnelle(suite)
R
A B C
a1 1 c1
a2 1 c1
a3 3 null
null 4 c2
null 5 c3

FSA : SMI5_LPII_2014 30
L'algèbre relationnelle(suite)
 Jointure externe à gauche
Cette jointure ajoute uniquement les tuples
de la première relation (opérande gauche
de l'opérateur) complétés par des nulls
comme des valeurs de R2.

FSA : SMI5_LPII_2014 31
L'algèbre relationnelle(suite)
Notation
R=R1 R2
Notation graphique
R

R1 R2
FSA : SMI5_LPII_2014 32
L'algèbre relationnelle(suite)
 Jointure externe à droite
Cette jointure ajoute seulement les tuples
de la 2ème relation (opérande droite de
l'opérateur) complétés par des nulls
comme des valeurs de R1.

FSA : SMI5_LPII_2014 33
L'algèbre relationnelle(suite)
Notation
R=R1 R2
Notation graphique
R

R1 R2
FSA : SMI5_LPII_2014 34
L'algèbre relationnelle(suite)
 L'opérateur semi-jointure
La semi jointure de R1 et R2 est une
relation R de schéma commun à
R1obtenue de la manière suivante :
i) jointure naturelle entre R1 et R2,
ii) projection de la relation obtenue sur les
attributs de R1.

FSA : SMI5_LPII_2014 35
L'algèbre relationnelle(suite)
Notation
R=R1 R2
Exemple

FSA : SMI5_LPII_2014 36
L'algèbre relationnelle(suite)
R1 R2
A B B C
a1 1 1 c1
a2 1 4 c2
a3 3 5 c3
R
R=R1 R2 A B
a1 1
a2 1
FSA : SMI5_LPII_2014 37
L'algèbre relationnelle(suite)
 L'opérateur division
Soit R1 et R2 deux relations de schémas
respectifs R1 (A1, A2,…Ap, Ap+1…An) et
R2(Ap+1, …An)
(R2 C R1)
Le quotient de R1 par R2 est une relation R de
schéma R(A1,A2,…Ap) et dont chaque tuple
concaténé à un tuple quelconque de R2 donne
toujours un tuple de R1.
R={a / pour tout b Є R2 , (a,b) Є R1}
FSA : SMI5_LPII_2014 38
L'algèbre relationnelle(suite)
Remarque
Cet opérateur permet de répondre à des
questions de type pour tous ou quelque
soit.
Par exemple, chercher les étudiants qui
ont emprunté tous les ouvrages.

FSA : SMI5_LPII_2014 39
L'algèbre relationnelle(suite)
Notations
– R=R1/R2, R=R1 : R2
– R=division (R1,R2) R
Notation graphique

R1 R2
FSA : SMI5_LPII_2014 40
L'algèbre relationnelle(suite)
Remarque
Si on veut effectuer la division
R=R1/R2
il faut
– R2 C R1
Le résultat R vérifie aussi R C R1

FSA : SMI5_LPII_2014 41
L'algèbre relationnelle(suite)
Exemple
R1 R2 R1/R2
X A
A X x1 a3
a1 x1 x2
a1 x2 x3
a2 x2
a3 x1
a3 x2
a3 x3
FSA : SMI5_LPII_2014 42
L'algèbre relationnelle(suite)
 L'opérateur d'agrégation
L'opérateur d'agrégation permet de
partitionner une relation en groupes
disjoints de tuples. Cette partition est faite
relativement aux valeurs communes à un
ou plusieurs attributs.

FSA : SMI5_LPII_2014 43
L'algèbre relationnelle(suite)
Exemple

R1
A B
a1 1
a1 2 Groupe 1

a1 3
a2 1
Groupe 2
a2 3

FSA : SMI5_LPII_2014 44
L'algèbre relationnelle(suite)
 Les fonctions d'agrégation
Les groupes obtenus sont utilisés comme argument de fonctions
dites fonctions d'agrégation.
Ces fonctions sont :
– Count : pour compter le nombre de valeurs d'un attribut par
groupe.
– Sum: pour sommer les valeurs d'un attribut par groupe.
– Avg: calcule la moyenne des valeurs d'un attribut par groupe.
– Max : calcule le maximum des valeurs d'un attribut par groupe.
– Min : calcule le minimum des valeurs d'un attribut par groupe.

FSA : SMI5_LPII_2014 45
L'algèbre relationnelle(suite)
R1 R2=Count(R1; A ;B)
R2
A B
A Count-B
a1 1
a1 3
a1 2 Groupe 1
a2 2
a1 3 R3=sum(R1; A ;B)

a2 1 R3
Groupe 2
A sum-B
a2 3
a1 6
FSA : SMI5_LPII_2014 a2 4 46
L'algèbre relationnelle(suite)
 Notation
En général, nous avons la notation suivante :
R1=Fnct_agg(R;
[attr1,attr2..]; attr
[;sélection_avant_groupement]
[;sélection_après_groupement]
)
La relation R1 a pour schéma:
R1([attr1,attr2,…,] Fnct_agg-attr)
FSA : SMI5_LPII_2014 47
L'algèbre relationnelle(suite)
 Exercices
Soit la relation
emp(nempl,nom,prénom,ville, salaire,nservice)
– Chercher le nombre d'employés par service.
– Chercher la somme des salaires par service.
– Chercher les services avec une moyenne de salaires
> 10000.
– Chercher la moyenne des salaires par service pour
les employés ayant un salaire>8000.
– Chercher le salaire maximal
– Chercher le nombre d'employés
FSA : SMI5_LPII_2014 48
L'algèbre relationnelle(suite)
 Dans cette syntaxe, on peut négliger
certains arguments.
 Si les attributs de regroupement ne sont
pas mentionnés, la relation R est
considérée comme un seul groupe.
Dans ce cas l'opérateur retourne
uniquement l'attribut Fnct-agg

FSA : SMI5_LPII_2014 49
L'algèbre relationnelle(suite)
 Notation graphique

Fnct(attrs;attr)

R1
FSA : SMI5_LPII_2014 50

Vous aimerez peut-être aussi