L'algèbre relationnelle est un concept mathématique de relation de la théorie des ensembles.
L'algèbre relationnelle a été inventée en 1970 par Edgar Frank Codd, le directeur de recherche du centre IBM de San José. Elle est constituée d'un ensemble d'opérations formelles sur les relations. Les opérations relationnelles permettent de créer une nouvelle relation (table) à partir d'opérations élémentaires sur d'autres tables (par exemple l'union, l'intersection, ou encore la différence).
Les principes de l'algèbre relationnelle sont beaucoup utilisés de nos jours par les SGDB pour la gestion des bases de données informatiques comme le SQL, DBase, etc.
Données : Une relation
et ensemble d'attributs
de
.
Résultat :
, qui est la Relation
où on ne considère que les attributs de
Équivalent SQL : SELECT
Opérateurs ensemblistes
L'algèbre relationnelle possède les opérations usuelles sur les ensembles.
Soient
et
deux relations ayant pour ensembles d'attributs respectifs
et
:
Union :
Intersection :
Différence :
Produit cartésien :
Jointure :
Division : elle prend en entrée deux relations
et
.
Ainsi, toutn-uplet se décompose en deux n-uplets
,
avec
de schéma
et
de schéma
.
et retourne la table de schéma
tel que
La division revient à donner “tous les x tels que pour tout y ...”
Exemples
Relations de la base exemple :
Table Touristes:
idTouriste NomT Ville Sport
---------- ------- --------- ---------
1 Marc Paris Ski
2 Jean Toulouse Tennis
3 Franc Marseille Football
4 Thomas Lyon Voile
5 Max Paris Golf
Table Sports:
Sport
---------
Ski
Cyclisme
Tennis
Football
Voile
Golf
Table Destinations:
idTouriste VilleD
---------- --------
1 Cannes
2 Ibiza
4 Tokyo
Sélection :
> Touristes:(Ville = "Paris")
idTouriste NomT Ville Sport
---------- ------- --------- ---------
1 Marc Paris Ski
5 Max Paris Golf
Projection :
> Touristes[NomT, Ville]
NomT Ville
------- ---------
Marc Paris
Jean Toulouse
Franc Marseille
Thomas Lyon
Max Paris
Jointure :
> Touristes
Destinations
idTouriste NomT Ville Sport VilleD
---------- ------- --------- --------- --------
1 Marc Paris Ski Cannes
2 Jean Toulouse Tennis Ibiza
4 Thomas Lyon Voile Tokyo