L'algèbre relationnelle est un support mathématique cohérent sur lequel repose le modèle relationnel. L'objet de cette section est d'aborder l'algèbre relationnelle dans le but de décrire les opérations qu'il est possible d'appliquer sur des relations pour produire de nouvelles relations. L'approche suivie est donc plus opérationnelle que mathématique.
On peut distinguer trois familles d'opérateurs relationnels :
Les notations ne sont pas standardisées en algèbre relationnelle. Ce cours utilise des notations courantes mais donc pas forcément universelles.
Il s'agit d'une opération unaire essentielle dont la signature est :
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.
Le tableau 3.6 montre un exemple de sélection.
Numéro Nom Prénom 5 Durand Caroline 1 Germain Stan 12 Dupont Lisa 3 Germain Rose-Marie
Numéro Nom Prénom 5 Durand Caroline 12 Dupont Lisa
Il s'agit d'une opération unaire essentielle dont la signature est :
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).
Le tableau 3.7 montre un exemple de sélection.
Nom Durand Germain Dupont
Il s'agit une opération binaire ensembliste commutative essentielle dont la signature est :
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).
Le tableau 3.8 montre un exemple d'union.
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
Il s'agit une opération binaire ensembliste commutative dont la signature est :
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.
Le tableau 3.9 montre un exemple d'intersection.
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
Il s'agit une opération binaire ensembliste non commutative essentielle dont la signature est :
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.
Le tableau 3.10 montre un exemple de différence.
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
Il s'agit une opération binaire commutative essentielle dont la signature est :
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.
Le tableau 3.11 montre un exemple de produit cartésien.
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
Il s'agit d'une opération binaire commutative dont la signature est :
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 :
Le tableau 3.12 montre un exemple de jointure.
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 30 Juny Carole 42 6 poupée 60 Fourt Lisa 6 20 baladeur 45 Fidus Laure 16 20 baladeur 45 Fourt Lisa 6 10 déguisement 15 10 déguisement 15 Juny Carole 42 99 livre 30 Fidus Laure 16 99 livre 30 Fidus Laure 16 20 baladeur 45
Remarque : Il vaut mieux écrire R1 A1=A2 R2 que R1 A1,A2 R2 car cette dernière notation peut prêter à confusion avec une jointure naturelle explicite.
Généralement, R1 et R2 n'ont qu'un attribut en commun. Dans ce cas, une jointure naturelle est équivalente à une equi-jointure dans laquelle l'attribut de R1 et celui de R2 sont justement les deux attributs qui portent le même nom.
Lorsque l'on désire effectuer une jointure naturelle entre R1 et R2 sur un attribut A1 commun à R1 et R2, il vaut mieux écrire R1 A1 R2 que R1 R2. En effet, si R1 et R2 possèdent deux attributs portant un nom commun, A1 et A2, R1 A1 R2 est bien une jointure naturelle sur l'attribut A1, mais R1 R2 est une jointure naturelle sur le couple d'attributs A1, A2, ce qui produit un résultat très différent !
Le tableau 3.13 montre un exemple de jointure naturelle.
Relation Famille Relation Cadeau Relation R Nom Prénom Age Age Article Prix Nom Prénom Age Article Prix Fourt Lisa 6 40 livre 45 Fourt Lisa 6 poupée 25 Juny Carole 40 6 poupée 25 Juny Carole 40 livre 45 Fidus Laure 20 20 montre 87 Fidus Laure 20 montre 87 Choupy Emma 6 Choupy Emma 6 poupée 25
Il s'agit d'une opération binaire non commutative dont la signature est :
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, 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 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.
Le tableau 3.14 montre un exemple de division.
Relation Enseignement Relation Etudiant Relation R Enseignant Etudiant Nom Enseignant Germain Dubois Dubois Germain Fidus Pascal Pascal Fidus Robert Dubois Germain Pascal Fidus Dubois Germain Durand Robert Durand
Copyright © 2009 Laurent AUDIBERT. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts. Cette page est déposée.
Copyright © 2000-2012 - www.developpez.com