CPGE Oujda                                                                                                                                                                        Spé  

Algèbre relationnelle

Introduction :

L'algèbre relationnelle est un support mathématique cohérent sur lequel repose le modèle relationnel. On peut distinguer trois familles d'opérateurs relationnels :

Les opérateurs unaires (Sélection, Projection) :

Les opérateurs binaires ensemblistes (Union, Intersection Différence) :

Les opérateurs binaires ou n-aires (Produit cartésien, Jointure, Division) :

Sélection

 La sélection (parfois appelée restriction) génère une relation regroupant exclusivement toutes les occurrences de la relation R qui satisfont l'expression logique E, on la note σ(E)R.ou bien (selection( E)R).En d'autres termes, la sélection permet de choisir (i.e. sélectionner) des lignes dans le tableau. Le résultat de la sélection est donc une nouvelle relation qui a les mêmes attributs que R. Si R est vide (i.e. ne contient aucune occurrence), la relation qui résulte de la sélection est vide.

Exemple de relation Personne

Numéro

Nom

Prénom

5

Durand

Caroline

1

Germain

Stan

12

Dupont

Lisa

3

Germain

Rose-Marie

 

 Exemple de sélection sur la relation Personne du tableau 3.5 : σ(Numéro≥5)Personne

Numéro

Nom

Prénom

5

Durand

Caroline

12

Dupont

Lisa

Projection

La projection consiste à supprimer les attributs autres que A1,… An d'une relation et à éliminer les n-uplets en double apparaissant dans la nouvelle relation ; on la note Π(A1… An)R. ou bien (projection(A1… An)R.) En d'autres termes, la projection permet de choisir des colonnes dans le tableau. Si R est vide, la relation qui résulte de la projection est vide, mais pas forcément équivalente (elle contient généralement moins d'attributs).

exemple de projection. 

Π(Nom)Personne

Nom

Durand

Germain

Dupont

Union

L'union est une opération portant sur deux relations R1 et R2 ayant le même schéma et construisant une troisième relation constituée des n-uplets appartenant à chacune des deux Comme nous l'avons déjà dit, R1 et R2 doivent avoir les mêmes attributs et si une même occurrence existe dans R1 et R2, elle n'apparaît qu'une seule fois dans le résultat de l'union. Le résultat de l'union est une nouvelle relation qui a les mêmes attributs que R1 et R2. Si R1 et R2 sont vides, la relation qui résulte de l'union est vide. Si R1 (respectivement R2) est vide, la relation qui résulte de l'union est identique à R2 (respectivement R1).

Exemple d'union : R = R1 R2

Relation R1

 

Relation R2

 

Relation R

Nom

Prénom

 

Nom

Prénom

 

Nom

Prénom

Durand

Caroline

 

Dupont

Lisa

 

Durand

Caroline

Germain

Stan

 

Juny

Carole

 

Germain

Stan

Dupont

Lisa

 

Fourt

Lisa

 

Dupont

Lisa

Germain

Rose-Marie

 

 

 

 

Germain

Rose-Marie

 

 

 

 

 

 

Juny

Carole

 

 

 

 

 

 

Fourt

Lisa

Intersection

L'intersection est une opération portant sur deux relations R1 et R2 ayant le même schéma et construisant une troisième relation dont les n-uplets sont constitués de ceux appartenant aux deux relations, on la note R1 R2.Comme nous l'avons déjà dit, R1 et R2 doivent avoir les mêmes attributs. Le résultat de l'intersection est une nouvelle relation qui a les mêmes attributs que R1 et R2. Si R1 ou R2 ou les deux sont vides, la relation qui résulte de l'intersection est vide.

 Exemple d'intersection : R = R1 R2

Relation R1

 

Relation R2

 

Relation R

Nom

Prénom

 

Nom

Prénom

 

Nom

Prénom

Durand

Caroline

 

Dupont

Lisa

 

Durand

Caroline

Germain

Stan

 

Juny

Carole

 

Dupont

Lisa

Dupont

Lisa

 

Fourt

Lisa

 

Juny

Carole

Germain

Rose-Marie

 

Durand

Caroline

 

 

 

Juny

Carole

 

 

 

 

 

 

 

Différence

La différence est une opération portant sur deux relations R1 et R2 ayant le même schéma et construisant une troisième relation dont les n-uplets sont constitués de ceux ne se trouvant que dans la relation R1 ; on la note R1 − R2.Comme nous l'avons déjà dit, R1 et R2 doivent avoir les mêmes attributs. Le résultat de la différence est une nouvelle relation qui a les mêmes attributs que R1 et R2. Si R1 est vide, la relation qui résulte de la différence est vide. Si R2 est vide, la relation qui résulte de la différence est identique à R1.

 Exemple de différence : R = R1 − R2

Relation R1

 

Relation R2

 

Relation R

Nom

Prénom

 

Nom

Prénom

 

Nom

Prénom

Durand

Caroline

 

Dupont

Lisa

 

Germain

Stan

Germain

Stan

 

Juny

Carole

 

Germain

Rose-Marie

Dupont

Lisa

 

Fourt

Lisa

 

 

 

Germain

Rose-Marie

 

Durand

Caroline

 

 

 

Juny

Carole

 

 

 

 

 

 

Produit cartésien

Le produit cartésien est une opération portant sur deux relations R1 et R2 et qui construit une troisième relation regroupant exclusivement toutes les possibilités de combinaison des occurrences des relations R1 et R2, on la note R1 × R2.Le résultat du produit cartésien est une nouvelle relation qui a tous les attributs de R1 et tous ceux de R2. Si R1 ou R2 ou les deux sont vides, la relation qui résulte du produit cartésien est vide. Le nombre d'occurrences de la relation qui résulte du produit cartésien est le nombre d'occurrences de R1 multiplié par le nombre d'occurrences de R2.

 Exemple de produit cartésien : R = Amie × Cadeau

Relation Amie

 

Relation Cadeau

 

Relation R

Nom

Prénom

 

Article

Prix

 

Nom

Prénom

Article

Prix

Fourt

Lisa

 

livre

45

 

Fourt

Lisa

livre

45

Juny

Carole

 

poupée

25

 

Fourt

Lisa

poupée

25

 

 

 

montre

87

 

Fourt

Lisa

montre

87

 

 

 

 

 

 

Juny

Carole

livre

45

 

 

 

 

 

 

Juny

Carole

poupée

25

 

 

 

 

 

 

Juny

Carole

montre

87

 Jointure

La jointure est une opération portant sur deux relations R1 et R2 qui construit une troisième relation regroupant exclusivement toutes les possibilités de combinaison des occurrences des relations R1 et R2 qui satisfont l'expression logique E. La jointure est notée R1 ▷◁ER2.ou bien (jointure(R1 ,ER2 )

Si R1 ou R2 ou les deux sont vides, la relation qui résulte de la jointure est vide.

En fait, la jointure n'est rien d'autre qu'un produit cartésien suivi d'une sélection :

R1 ▷◁E R2 = σE (R1 × R2)

 

 Exemple de jointure : R = Famille ▷◁((Age ≤ AgeC) (Prix < 50)) Cadeau

Relation Famille

 

Relation Cadeau

 

Relation R

Nom

Prénom

Age

 

AgeC

Article

Prix

 

Nom

Prénom

Age

AgeC

Article

Prix

Fourt

Lisa

6

 

99

livre

30

 

Fourt

Lisa

6

99

livre

45

Juny

Carole

42

 

6

poupée

60

 

Fourt

Lisa

6

20

poupée

25

Fidus

Laure

16

 

20

baladeur

45

 

Fourt

Lisa

6

10

montre

87

 

 

 

 

10

déguisement

15

 

Juny

Carole

42

99

livre

45

 

 

 

 

 

 

 

 

Fidus

Laure

16

99

poupée

25

 

 

 

 

 

 

 

 

Fidus

Laure

16

20

montre

87

                             

Division

La division est une opération portant sur deux relations R1 et R2, telles que le schéma de R2 est strictement inclus dans celui de R1, qui génère une troisième relation regroupant toutes les parties d'occurrences de la relation R1 qui sont associées à toutes les occurrences de la relation R2 ; on la note R1 ÷ R2.ou bien (division(R1 , R2 ).Autrement dit, la division de R1 par R2 (R1 ÷ R2) génère une relation qui regroupe tous les n-uplets qui, concaténés à chacun des n-uplets de R2, donnent toujours un n-uplet de R1.La relation R2 ne peut pas être vide. Tous les attributs de R2 doivent être présents dans R1 et R1 doit posséder au moins un attribut de plus que R2 (inclusion stricte). Le résultat de la division est une nouvelle relation qui a tous les attributs de R1 sans aucun de ceux de R2. Si R1 est vide, la relation qui résulte de la division est vide.

 Exemple de division : R = Enseignement ÷ Étudiant. La relation R contient donc tous les enseignants de la relation Enseignement qui enseignent à tous les étudiants de la relation Étudiant.

Relation Enseignant

 

Relation Étudiant

 

Relation R

Enseignant

Étudiant

 

Nom

 

Enseignant

Germain

Dubois

 

Dubois

 

Germain

Fidus

Pascal

 

Pascal

 

Fidus

Robert

Dubois

 

 

 

 

Germain

Pascal

 

 

 

 

Fidus

Dubois

 

 

 

 

Germain

Durand

 

 

 

 

Robert

Duran