- Algèbre relationnelle
-
Pour les articles homonymes, voir Algèbre (homonymie).
L'algèbre relationnelle est une théorie mathématique proche de la théorie des ensembles qui définit des opérations qui peuvent être effectuées sur des relations - des matrices contenant un ensemble de nuplets.
Sommaire
Au sujet de l'algèbre relationnelle
L'algèbre relationnelle a été inventée en 1970 par Edgar Frank Codd, le directeur de recherche du centre IBM de San José. Cette algèbre 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 SGBD pour la gestion des bases de données informatiques comme le SQL, DBase, etc.
Cependant, les bases de données relationnelles ne fonctionnent pas tout à fait selon les règles ensemblistes de l'algèbre relationnelle. En effet, si l'on ne définit pas de clé primaire, il est possible d'insérer plusieurs lignes identiques dans une table, ce qui d'un point de vue ensembliste n'a pas de sens : un élément fait partie ou ne fait pas partie d'un ensemble. Si l'on veut appliquer strictement les règles des ensembles, il faut vérifier à chaque ajout dans une table que les lignes ne sont pas déjà présentes.
Eléments du modèle relationnel
Objets précis du modèle
Il s'agit ici de déterminer des Domaines (i.e., type atomique) :
- Numérique : entier ou réel (SQL : Int, Float, etc.).
- Chaîne de caractères (SQL : Char(20), VarChar(32), etc.).
- Date (SQL : DATE, TIME, YEAR, etc.).
- Type énuméré.
Relation ou Table
Une relation (au sens du modèle de Codd) est constituée de deux choses :
- Un Schéma : Le format de la table. Le schéma est fixé.
- Une Extension : Le contenu de la table, qui est un ensemble de n-uplets dont l'ordre n'a pas d'importance.
Exemple :
Schéma :
{Cle: INT, Nom: VarChar(20), Email: VarChar(20)}
Extension :
{ {Cle: 1, Nom: "Edgar", Email: "edgar@xxxxx.xx"} {Cle: 2, Nom: "Frank", Email: "Frank@xxxxx.xx"} ... }
Requêtes en Algèbre relationnelle
Définir un ensemble d'opérations élémentaires permettant, par combinaison éventuelle, d'obtenir les résultats escomptés.
La sélection (ou restriction) :
- Notation :
- Données : Une relation et une formule formée d'une combinaison de comparaisons et de connecteurs logiques.
- Résultat : satisfait la condition donnée par
- Équivalent SQL : WHERE
La projection :
- Notation :
- Données : Une relation et un ensemble d'attributs de .
- Résultat : , qui est la Relation où on ne considère que les attributs de
- Équivalent SQL : SELECT
Rebaptiser :
- Notation :
- Données : Une relation et un attribut de .
- Résultat : , qui est la Relation avec rebaptisé
- Équivalent SQL : AS
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, tout n-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
idTouriste NomT Ville Sport ---------- ------- --------- --------- 1 Marc Paris Ski 5 Max Paris Golf
- Projection :
> Touristes
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
Voir aussi
- Langage SQL
- Système de gestion de base de données
- Algèbre
- Théorie des ensembles
- Base de données
- Base de données relationnelle
Liens externes
- RAT, Software Rational Algebra Translator to SQL
- (fr) Laurent Audibert, « Bases de données relationnelles » sur developpez.com
Wikimedia Foundation. 2010.