L’algèbre relationnelle
Mehdi HAJJI
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