Algèbre Relationnelle

Programming, Math · course

Voir tous les documents en mathématiques

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 R1R2

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