Opérateurs ensemblistes
Attention :
Les opérateurs ensemblistes sont des relations binaires (c'est à dire entre deux relations) portant sur des relations de même schéma.
Définition : Union
L'union de deux relations R1 et R2 de même schéma produit une relation R3 de même schéma constituée de l'ensemble des tuples appartenant à R1 et/ou à R2.
Définition : Différence
La différence entre deux relations R1 et R2 de même schéma produit une relation R3 de même schéma constituée de l'ensemble des tuples de R1 n'appartenant pas à R2. Notons que la différence entre R1 et R2 n'est pas égale à la différence entre R2 et R1.
Définition : Intersection
L'intersection de deux relations R1 et R2 de même schéma produit une relation R3 de même schéma constituée de l'ensemble des tuples appartenant à la fois à R1 et à R2. Notons que l'intersection n'est pas une opération de base, car elle est équivalent à deux opérations de différence successives.
Syntaxe :
R = Union (R1, R2)
R = Différence (R1, R2)
R = Intersection (R1, R2)
Attention :
Les opérateurs ensemblistes éliminent les doublons.
Exemple :
Soit les deux relations suivantes : Homme (nom, prénom, age)
et Femme (nom, prénom, age)
nom | prénom | age |
---|---|---|
Dupont | Pierre | 20 |
Durand | Jean | 30 |
nom | prénom | age |
---|---|---|
Martin | Isabelle | 24 |
Blanc | Hélène | 25 |
Soit l'opération suivante : R = Union (Homme, Femme)
On obtient alors la relation R composée des tuples suivants :
nom | prénom | age |
---|---|---|
Dupont | Pierre | 20 |
Durand | Jean | 30 |
Martin | Isabelle | 24 |
Blanc | Hélène | 25 |
La différence entre Homme et Femme (respectivement entre Femme et Homme) renvoie la relation Homme (respectivement Femme), car aucun tuple n'est commun aux deux relations. L'intersection entre Homme est Femme est vide, pour la même raison.
Complément : Union externe
Il est possible de définir une opération d'union externe, qui permet de réaliser l'union de deux relations de schéma différent, en ramenant les relations aux mêmes schémas, et en les complétant avec des valeurs nulles.
Complément : Syntaxes alternatives
R = R1 ∪ R2
R = R1 ∩ R1
R = R1 − R2