Faculté des Sciences Économiques et de Gestion de Tunis
CHAPITRE4
Algèbre Relationnelle
Dr S. SELMI
2015-2016
Algèbre relationnelle : Définition
Collection d’opérations formelles qui agissent sur des relations et
produisent une relation en résultat.
Dans la plupart des systèmes relationnels, la réponse à une requête
s’obtient par l’utilisation d’un ou plusieurs opérateurs relationnels.
2
Algèbre relationnelle : Opérateurs relationnels
Opérations classiques ensemblistes:
Union ()
Intersection ()
Différence (-)
Les deux relations doivent posséder le
même nombre d’attributs et les domaines
des attributs associés doivent être de
même type
Produit Cartésien ()
3
Algèbre relationnelle : Opérateurs relationnels
Opérations spécifiques BD utilisant les valeurs des attributs:
Sélection ()
Projection ()
Jointures ( / *)
Division ()
4
Les opérateurs relationnels: La Sélection
• La sélection c (R) s’applique à une relation R et extrait de cette relation les
tuples qui satisfont un critère de sélection C. Ce critère peut être:
o Une comparaison entre une attribut A de la relation et une constante a
o Une comparaison entre deux attributs A1 et A2
C est une condition logique s’exprimant au moyen des attributs de R et des
opérateurs logiques AND, OR, NOT et de comparaison
=, , <, >, , ,
BETWEEN, IN, LIKE
Notation : condition (R1)
RESTRICT(R,condition)
R[condition]
5
Algèbre relationnelle : Sélection (ou restriction) (1/4)
Exemple : Relation Etudiant
N°CIN
07768549
07856345
04534236
08765645
Nom
Tounsi
Prénom
Ahmed
Ben Saleh
Mohamed
Ben Mohamed
Kouki
Ali
Fatma
Adresse
Tunis
Bizerte
Jendouba
Bizerte
Exprimer la requête qui donne les étudiants habitant Bizerte
Adresse= "Bizerte " (Etudiant)
N°CIN
07856345
08765645
Nom
Ben Saleh
Kouki
Prénom
Mohamed
Fatma
Adresse
Bizerte
Bizerte
6
Algèbre relationnelle : Sélection (ou restriction) (3/4)
R
B
b
a
b
b
e
C
1
2
3
4
5
A
a
d
c
a
e
c (R)
Où C =(A=‘a’ OU B=‘a’) ET C<=3
Résultat
A
a
d
B
b
a
C
1
2
7
Algèbre relationnelle : Projection (1/2)
Opération sur une relation R1 consistant à composer une
relation R2 en enlevant à la relation initiale tous les
attributs non mentionnés en opérandes.
Notation A1, A2, …, An (R)
R[A1, A2, …, An]
PROJECT(R, A1, A2, …, An)
liste1 ( liste2 (R)) = liste1 (R)
8
Algèbre relationnelle : Projection (1/2)
Soit la relation ÉTUDIANT :
Publicité
Num_Etud
Nom_Etud
Nom_Départ
Adr_Départ
428
629
360
512
Ben Saleh
Informatique
Tounsi
MQ
Ben Ahmed
Informatique
Ben Khaled
Informatique
Bizerte
Nabeul
Jendouba
Jendouba
Nom_Etud, Nom_Départ (Etudiant) :
Num_Etud, Nom_Etud (Etudiant) :
Nom_Etud
Nom_Départ
Ben Saleh
Informatique
Tounsi
MQ
Ben Ahmed
Informatique
Ben Khaled
Informatique
Num_Etud
428
629
360
512
Nom_Etud
Ben Saleh
Tounsi
Ben Ahmed
Ben Khaled
9
Algèbre relationnelle : Union (1/2)
Opération portant sur deux relations de même schéma R1 et R2,
consistant à construire une relation de même schéma R3 ayant pour
tuples ceux appartenant à R1 ou R2.
Notation R1R2
UNION (R1, R2)
10
Algèbre relationnelle : Union (1/2)
Soit la relation OUVRIER
Soit la relation CADRE
Num_Employé
Nom_Employé
Num_Employé
Nom_Employé
14
45
56
Ben Mohamed
Ben Saleh
Tounsi
78
98
Hadded
Haj Mtir
Ouvrier Cadre
Num_Employé
Nom_Employé
14
45
56
78
98
Ben Mohamed
Ben Saleh
Tounsi
Hadded
Haj Mtir
11
Algèbre relationnelle : Intersection (1/2)
Opération portant sur deux relations de même schéma R1 et R2
consistant à construire une relation de même schéma R3 ayant pour
tuples ceux appartenant à la fois à R1 et R2.
Notation R1 R2
INTERSECT (R1, R2)
AND(R1, R2)
12
Algèbre relationnelle : Intersection (2/2)
Soit la relation INGENIEUR
Soit la relation CHEF DE SERVICE
Num_Employé
Nom_Employé
Num_Employé
Nom_Employé
14
45
56
Ben Mohamed
Ben Saleh
Tounsi
34
45
6
56
Ben Mohamed
Ben Saleh
Tounsi
Tounsi
Ingénieur Chef de service
Num_Employé
Nom_Employé
45
56
Ben Saleh
Tounsi
13
Algèbre relationnelle : Différence (1/2)
Opération portant sur deux relations de même schéma R1 et R2,
consistant à construire une relation de même schéma R3 ayant pour
tuples ceux appartenant à R1 et n’appartenant pas à R2.
Notation R1 - R2
DIFFERENCE(R1, R2)
Publicité
REMOVE (R1, R2)
MINUS(R1, R2)
14
Algèbre relationnelle : Différence (2/2)
Soit la relation INSCRITS
Nom_Étud
Ben Mohamed
Ben Saleh
Tounsi
Spécialité
Marketing
Gestion
Économie
Ben Mahmoud
Gestion
Soit la relation REÇUS
Nom_Étud
Ben Mohamed
Tounsi
Spécialité
Marketing
Économie
Inscrits - Reçus
Nom_Étud
Ben Saleh
Ben Mahmoud
Spécialité
Gestion
Gestion
15
Algèbre relationnelle : Produit cartésien (1/2)
Opération portant sur deux relations R1 et R2, consistant à
construire une relation R3 ayant pour schéma la concaténation de
les
ceux des
combinaisons des tuples des relations opérandes
relations opérandes et pour
toutes
tuples
Notation R1 R2
PRODUCT(R1, R2)
TIMES(R1,R2)
16
Algèbre relationnelle : Produit cartésien (1/2)
Le produit cartésien se construit en combinant toutes les possibilités.
Soit la relation LIVRE
Titre
Auteur
X
Y
Ben Saleh
Tounsi
Soit la relation EDITION
Type
Couleur
Rouge
Blanc
Luxe
Broché
Livre x Edition
Titre
Auteur
Couleur
X
X
Y
Y
Ben Saleh
Ben Saleh
Tounsi
Tounsi
Rouge
Blanc
Rouge
Blanc
Type
Luxe
Broché
Luxe
Broché
17
Algèbre relationnelle : Jointure
La jointure est un Produit cartésien suivi d’une sélection
R1 CR2 = σC (R1 × R2)
1) Produit Cartésien: R X S
C
3
3
6
6
D
3
1
3
1
A
1
1
4
4
B
2
2
5
5
E
1
2
1
2
R
B
2
5
C
3
6
A
1
4
S
D
3
1
Publicité
E
1
2
2) Jointure: R
B<D et C>E
B
C
D
3
2
3
A
1
S
E
1
18
Algèbre relationnelle : Variantes de Jointure
Théta-Jointure une jointure dans laquelle la condition C est une
simple comparaison entre un attribut A1 de la relation R1 et un
attribut A2 de la relation R2.
R
B
a
a
A
1
3
S
D
b
b
C
1
2
E
a
c
R X S
C
1
2
1
2
B
a
a
a
a
D
b
b
b
b
E
a
c
a
c
A
1
1
3
3
R A<=CS
D
C
B
a
1
b
a
2
b
E
a
c
A
1
1
19
Algèbre relationnelle : Variantes de Jointure
Une équi-jointure est une jointure dans laquelle la condition C est un
test d'égalité entre un attribut A1 de la relation R1 et un attribut A2
de la relation R2 (sans élimination de l’attribut superflus).
R
B
b
e
C
c
c’
A
a
d
S
B’
b
b’
C’
c’
c’
A’
a’
a’
ÉquiJointure: R C=C’
S
A
d
d
B
e
e
C
c’
c’
A’
a’
d
B’
b’
e
C’
c’
Publicité
c’
20
Algèbre relationnelle : Variantes de Jointure
La Jointure Naturelle est une équi-jointure dans laquelle les attributs
des relations R1 et R2 portent le même nom.
Dans la relation construite, l'attribut n'est pas dupliqué mais fusionné
en un seul attribut.
Notation: R1 * R2 ou JOIN(R1, R2)
La définition d’une jointure naturelle exige que les deux attributs de
la jointure portent le même nom dans les deux relations.
21
Algèbre relationnelle : Variantes de Jointure
R
B
b
b’
C
c
c’
A
a
a’
La jointure Naturelle
S
B
b
b’
C
c’
c’
D
d
e
E
f
f
R x S
B
b
b’
b
b’
C
c
c
c’
c’
C
c’
c’
c’
c’
A
a
a
a’
a’
B
b
b
b’
b’
D
d
e
d
e
E
f
f
f
f
Jointure Naturelle: R * S
A
a’
B
b’
C
c’
D
e
E
f
22
Algèbre relationnelle : Division (1/2)
La division revient à chercher l’ensemble des sous-tuples de R1
vérifiant tous les tuples de R2
Notation R1 R2 ou DIVISION (R1, R2)
23
Algèbre relationnelle : Division (2/2)
Permet d’obtenir les occurrences de R1 qui sont associées à toutes les
occurrences de R2.
Une relation est, donc, divisée par une autre relation contenant
exclusivement des attributs de la première relation.
Nom_Étud
Mohamed
Ali
Fatma
Yesmine
Mohamed
Ali
Fatma
Nom_Prof
Ben Saleh
Tounsi
Ben Saleh
Ben Khaled
Tounsi
Ben Saleh
Ben Khaled
Nom_Étud
Mohamed
Ali
Donner le nom des profs qui enseignent
conjointement aux élèves figurant dans
la seconde relation.
Nom_Prof
Ben Saleh
Tounsi
24