Algebre Relationnelle

Télécharger au format pptx, pdf ou txt
Télécharger au format pptx, pdf ou txt
Vous êtes sur la page 1sur 24

Algèbre relationnelle

L’algèbre relationnelle propose un ensemble d’opérations élémentaires


formelles sur les relations dans le but de créer de nouvelles relations.
Ces opérations permettent de représenter des requêtes sur la base de
données dont le résultat s’exprime sous la forme d’une relation (i.e.
table).
Opérateurs relationnels
Nous pouvons distinguer trois familles d’opérateurs relationnels :
- Les opérateurs unaires (la sélection et la projection), qui sont les plus
simples, permettent de produire une nouvelle table à partir d’une
autre table.
- Les opérateurs binaires ensemblistes (l’union, l’intersection et la
différence) 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 (le produit cartésien, la jointure et
la division) permettent de produire une nouvelle table à partir de
deux ou plusieurs autres tables.
Sélection (Restriction)
La sélection génère une relation regroupant exclusivement toutes les
occurrences de la relation R qui satisfont l’expression logique E.

Notation : σ(E)R.

La sélection permet ainsi de choisir (i.e. sélectionner) certaines lignes dans une table. Le
résultat de la sélection est donc une nouvelle relation qui a les mêmes attributs que R.
Si R est vide (c’est-à-dire sans aucune occurrence), la relation qui résulte de la sélection
est vide
Sélection σ(Condition)
Soit la relation PERSONNE suivante :

Ci-dessous un exemple de sélection σ(idPersonne≥5) PERSONNE sur la relation


PERSONNE :
Projection
La projection consiste à supprimer les attributs autres que A1, A2,..,An
d’une relation et à éliminer les n-uplets en double apparaissant dans la
nouvelle version.

Notation : π( A1, A2,..,An)R

La projection permet de choisir des colonnes dans une table. Si R est


vide, la relation qui résulte de la projection est vide, mais pas
forcément équivalente étant donné qu’elle contient généralement
moins d’attributs.
Projection
Exemple de projection sur la table PERSONNE
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 à l’une ou
l’autre ou des deux relations R1 et R2 sans doublon.

Notation : R1 ∪ R2.

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).
Union
• Ci-dessous un exemple d’union :
Intersection
Définition : 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.
Notation : R1 ∩ R2.

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
Intersection
Ci-dessous un exemple d’intersection :
Différence
• 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.

Notation : R1 - R2.

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 aussi.
Si R2 est vide, la relation qui résulte de la différence est identique à R1.
Différence
Exemple de différence entre deux relations :
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.

Notation : R1 X R2.

R1 et R2 doivent être disjoints c'est à dire ne pas avoir d'attributs communs.


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.
Produit cartésien
Exemple :
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 ⋈E R2.

Si R1 ou R2 ou les deux sont vides, alors 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 (R1X R2)
Jointure
Exemple de jointure :
Thêta-jointure
La thêta-jointure est une jointure dans laquelle l’expression logique E
est une simple comparaison entre un attribut A1 de la relation R1 et un
attribut A2 de la relation R2. La thêta-jointure est notée R1 ⋈ER2.
Équi-jointure
Une équi-jointure est une thêta-jointure dans laquelle l’expression
logique E est un test d’égalité entre un attribut A1 de la relation R1 et
un attribut A2 de la relation R2.
L’équi-jointure est notée R1 ⋈A1=A2R2.

Il vaut mieux écrire R1 ⋈A1=A2R2 que R1 ⋈A1,A2R2, car cette dernière


notation, bien que parfois dans la littérature, prête à confusion avec
une jointure naturelle explicite.
Jointure naturelle

Une jointure naturelle est une jointure dans laquelle l’expression logique E est
un test d’égalité entre les attributs qui portent le même nom dans les relations
R1 et R2. Dans la relation construite, ces attributs ne sont pas dupliqués, mais
fusionnés en une seule colonne par couple d’attributs.
La jointure naturelle est notée R1 ⋈ R2.

Si la jointure ne doit porter que sur un sous-ensemble des attributs communs


à R1 et R2 il faut préciser explicitement ces attributs de la manière suivante :
R1 ⋈A1, .., An R2.
Jointure naturelle
Exemple :
Division
la division est un 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, associées à toutes les occurrences de la relation R2,
se retrouvent dans R1.
Notation : R1÷ R2.

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.
La relation R2 ne peut pas être vide. Tous les attributs de R2 doivent être présents dans R1 et
R2 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.
Division
Ci-dessous, un exemple de division ENSEIGNEMENT ÷ ETUDIANT qui permet de
dresser la table R de tous les enseignants de la relation ENSEIGNEMENT qui
enseignent à tous les étudiants de la relation ETUDIANT.
Exemple

Vous aimerez peut-être aussi