Algèbre relationnelle - Définition

Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs est disponible ici.

Au sujet de l'algèbre relationnelle

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.

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 :

  1. Un Schéma : Le format de la table. Le schéma est fixé.
  2. 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: "[email protected]"}
{Cle: 2, Nom: "Frank", Email: "[email protected]"}
...
}

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 : R:F\,
  • Données : Une relation R\, et une formule F\, formée d'une combinaison de comparaisons et de connecteurs logiques.
  • Résultat : R:F = \{ r \in R : r\, satisfait la condition donnée par F \}\,
  • Équivalent SQL : WHERE

La projection :

  • Notation : R[A]\,
  • Données : Une relation R\, et ensemble d'attributs A\, de R\,.
  • Résultat : R[A]\,, qui est la Relation R\, où on ne considère que les attributs de A\,
  • Équivalent SQL : SELECT

Opérateurs ensemblistes

L'algèbre relationnelle possède les opérations usuelles sur les ensembles.

Soient R(A)\, et S(B)\, deux relations ayant pour ensembles d'attributs respectifs A\, et B\,:

  • Union : R \cup S=\{t: t \in R \ ou \ t \in S\}\,
  • Intersection : R \cap S=\{t: t \in R \ et \ t \in S\}\,
  • Différence : R-S=\{t: t \in R \ et \ t \not\in S\}\,
  • Produit cartésien : R \times S=\{(r,s) : r \in R \ et \ s \in S \}\,
  • Jointure : R \star S=\{(a,b,c):(a,b)\in R \ et \ (b,c) \in S \}\,
  • Division : elle prend en entrée deux relations R(x_1, ..., x_m, y_1, ..., y_p)\, et S(y_1,...,y_p)\,.
Ainsi, tout n-uplet r \in R \, se décompose en deux n-uplets r=(t,s)\,,
avec t=(t_1, ..., t_m)\, de schéma X=\{x_1, ..., x_m\}\, et
s=(s_1, ..., s_p)\, de schéma y=\{y_1, ..., y_p\}\,.
et retourne la table de schéma X\, tel que R/S=\{t: \forall s \in S, \ (t,s) \in R\}\,
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\star\,Destinations
idTouriste  NomT    Ville       Sport    VilleD
---------- ------- ---------  --------- --------
1          Marc    Paris      Ski        Cannes
2          Jean    Toulouse   Tennis     Ibiza
4          Thomas  Lyon       Voile      Tokyo
Page générée en 0.007 seconde(s) - site hébergé chez Contabo
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
A propos - Informations légales | Partenaire: HD-Numérique
Version anglaise | Version allemande | Version espagnole | Version portugaise