L’algèbre relationnelle

Programming, Math, etc. · course

Browse all mathématiques documents

L’algèbre relationnelle

Mehdi HAJJI

[email protected]

Conception BD – II2

Introduction

 On peut distinguer trois familles d’opérateurs relationnels

1)

2)

3)

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

ce sont les opérateurs les plus simples, ils permettent de

produire une nouvelle table à partir d’une autre table.

Les opérateurs binaires ensemblistes (Union, Intersection,

Différence) :

ces opérateurs permettent de produire une nouvelle

relation à partir de deux relations de même degré et de

même domaine.

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

Division) :

ils permettent de produire une nouvelle table à partir de

deux ou plusieurs autres tables.

L'algèbre relationnelle

-M. HAJJI-

2

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.

 Il s’agit d’une opération unaire essentielle dont la

signature est :

relation × expression logique relation

L'algèbre relationnelle

-M. HAJJI-

3

Sélection (σ)

L'algèbre relationnelle

-M. HAJJI-

4

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.

 Il s’agit d’une opération unaire essentielle dont la signature est

:

relation × liste d’attributs  relation

 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).

L'algèbre relationnelle

-M. HAJJI-

5

Projection (Π)

L'algèbre relationnelle

-M. HAJJI-

6

Union (U)

 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 relations R1 et R2 sans doublon et

on la note R1 U R2.

 Il s’agit une opération binaire ensembliste commutative

essentielle dont la signature est :

relation × relation  relation

L'algèbre relationnelle

Advertisement

-M. HAJJI-

7

Union (U)

L'algèbre relationnelle

-M. HAJJI-

8

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.

 Il s’agit une opération binaire ensembliste commutative

dont la signature est :

relation × relation relation

 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.

L'algèbre relationnelle

-M. HAJJI-

9

Intersection (∩)

L'algèbre relationnelle

-M. HAJJI-

10

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.

 Il s’agit une opération binaire ensembliste non commutative

essentielle dont la signature est :

relation × relation relation

 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.

L'algèbre relationnelle

-M. HAJJI-

11

Différence (-)

L'algèbre relationnelle

-M. HAJJI-

12

Produit cartésien (x)

 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 et on la

note R1 × R2.

 Il s’agit une opération binaire commutative essentielle dont la

signature est :

relation × relation relation

 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.

L'algèbre relationnelle

-M. HAJJI-

13

Produit cartésien (x)

L'algèbre relationnelle

Advertisement

-M. HAJJI-

14

Produit cartésien (x)

L'algèbre relationnelle

-M. HAJJI-

15

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 une

expression logique.

 Il s’agit d’une opération binaire commutative dont la

signature est :

relation × relation × expression logique relation

 Si R1 ou R2 ou les deux sont vides, la relation qui résulte

de la jointure est vide.

L'algèbre relationnelle

-M. HAJJI-

16

Jointure

L'algèbre relationnelle

-M. HAJJI-

17

Theta-jointure (θ)

 Une theta-jointure est une jointure dans laquelle

l’expression logique est une simple comparaison entre

un attribut A1 de la relation R1 et un attribut A2 de la

relation R2.

L'algèbre relationnelle

-M. HAJJI-

18

Equi-jointure

 Une equi-jointure est une theta-jointure dans laquelle

l’expression logique est un test d’égalité entre un attribut

A1 de la relation R1 et un attribut A2 de la relation R2.

L'algèbre relationnelle

-M. HAJJI-

19

Jointure naturelle

 Une jointure naturelle est une equi-jointure dans laquelle

les attributs des relations R1 et R2 portent le même nom

A. Dans la relation construite, l’attribut A n’est pas

dupliqué mais fusionné en un seul attribut.

 Le résultat de la jointure naturelle est une nouvelle

relation qui a tous les attributs de R1 et tous ceux de R2

sauf A. Il est en fait indifférent d’éliminer l’attribut A de la

relation R1 ou R2.

 La jointure naturelle correspond à un produit cartésien,

suivi d’une sélection et d’une projection

L'algèbre relationnelle

-M. HAJJI-

20

Jointure naturelle

L'algèbre relationnelle

-M. HAJJI-

21

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.

 Il s’agit d’une opération binaire non commutative dont la signature est :

relation × relation relation

 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, donne toujours un

n-uplet de R1.

Advertisement

 La relation R2 ne peut pas être vide.

 Tous les attributs de R2 doivent être présents dans R1 et R1doit 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

L'algèbre relationnelle

-M. HAJJI-

22

Division (÷)

L'algèbre relationnelle

-M. HAJJI-

23

Division (÷)

L'algèbre relationnelle

-M. HAJJI-

24

Division (÷)

L'algèbre relationnelle

-M. HAJJI-

25

Exercices

 CJH(IdCours, Jour, Heure)

 Le cours dont l’identifiant apparaît dans la première composante

d’un n-uplet a lieu le jour spécifié dans la deuxième composante, à

l’heure qui apparaît dans la troisième composante.

 CS(IdCours, IdSalle)

 Le cours de la première composante a lieu dans la salle indiquée

dans la seconde composante.

 ENA(IdEtudiant, Nom, Adresse)

 Les étudiants dont l’identifiant apparaît comme la première

composante d’un n-uplet ont un nom et une adresse qui apparaissent

respectivement dans la deuxième et troisième composante.

 CEN(IdCours, IdEtudiant, Note)

 L’étudiant de la deuxième composante a obtenu la note spécifiée

dans la troisième composante au cours spécifié dans la première

composante.

L'algèbre relationnelle

-M. HAJJI-

26

Exercices

L'algèbre relationnelle

-M. HAJJI-

27

Exercices (1)

1) Donner les résultats des projections suivantes :

R1 =πCJH (IdCours)

R2 =πENA (IdEtudiant)

2) Donner le résultat R3 de la restriction σCEN (IdCours = ’Algo’).

3) Donner le résultat R4 de la jointure CJH×CS (CJH.IdCours =

CS.IdCours).

4) Donner le résultat R6 de la suite d’opérations suivante :

R5 =πCEN (IdEtudiant, IdCours)

R6 = R5÷R1

5) Donner le résultat R11 de la suite d’opérations suivante :

R7 = R2× R1 : ensemble de toutes les inscriptions possibles

R8 = R7 – R5: ensemble des inscriptions manquantes

R9 =πR5 (IdEtudiant): liste des étudiants qui sont inscrits à certains

cours

R10 =πR8 (IdEtudiant): liste des étudiants qui ne sont pas inscrits à

certains cours

R11 = R9 – R10: liste des étudiants qui sont inscrits à tous les cours

L'algèbre relationnelle

-M. HAJJI-

28

Exercices (1)

L'algèbre relationnelle

-M. HAJJI-

Advertisement

29

Exercices (2)

1) Donner les noms des étudiants qui suivent le cours

‘Algo’.

2) Donner les notes en ‘Archi’ des étudiants dont le nom

est ‘Titi’.

3) Donner les couples (jour, heure) pour lesquels la salle

‘S1’ est occupée par un cours.

4) Donner les identifiants des étudiants qui n’ont que des

notes ‘A’.

5) Donner la salle où se trouve ‘Toto’ le lundi à 9h.

L'algèbre relationnelle

-M. HAJJI-

30

Exercices (2)

1)

2)

3)

4)

5)

R1 = CEN×ENA (CEN.IdEtudiant = ENA.IdEtudiant)

R2 =σR1 (IdCours = ‘Algo’)

RES =πR2 (Nom)

R1 = CEN×ENA (CEN.IdEtudiant = ENA.IdEtudiant)

R2 =σR1 (IdCours = ‘Archi’)

R3 =σR2 (Nom = ‘Titi’)

RES =πR3 (Note)

R1 = CS×CJH (CS.IdCours = CJH.IdCours)

R2 =σR1 (IdSalle = ‘S1’)

RES =πR2 (Jour, Heure)

R1 =σCEN (Note = ‘A’)

R2 =σCEN (Note <> ‘A’)

R3 = R1 – R2

RES =πR3 (IdEtudiant)

R1 = CEN×ENA (CEN.IdEtudiant = ENA.IdEtudiant)

R2 = R1×CJH (R1.IdCours = CJH.IdCours)

R3 = R2×CS (R2.IdCours = CS.IdCours)

R4 =σR3 (Nom = ‘Toto’)

R5 =σR4 (Jour = ‘Lu’)

R6 =σR5 (Heure = ‘9h’)

RES =πR6 (IdSalle)

L'algèbre relationnelle

-M. HAJJI-

31

Exercices (3)

1) Dessinez l’arbre d’expression de la requête (2).1, faîtes

descendre la restriction aussi bas que vous pouvez.

2) Dessinez l’arbre d’expression de la requête (2).5, faîtes

descendre les restrictions et les projections aussi bas

que vous pouvez.

L'algèbre relationnelle

-M. HAJJI-

32

Exercices (2)

L'algèbre relationnelle

-M. HAJJI-

33

Exercices (2)

L'algèbre relationnelle

-M. HAJJI-

34

Merci…

L'algèbre relationnelle

-M. HAJJI-

35