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