Algèbre relationnelle

Restez toujours informé : suivez-nous sur Google (☆)

Introduction

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) :

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: ""}
{Cle: 2, Nom: "Frank", Email: ""}
...
}

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 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, 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:(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 :

TouristesDestinations
idTouriste NomT Ville Sport VilleD

1 Marc Paris Ski Cannes
2 Jean Toulouse Tennis Ibiza
4 Thomas Lyon Voile Tokyo