# Algèbre relationnelle/Introduction
## Présentation 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é.
Elle est constituée d'un ensemble d'opérations formelles sur les données représentées par des relations (représentées graphiquement par des tableaux ou "tables").
Les opérations relationnelles permettent de créer une nouvelle relation (table) à partir d'opérations élémentaires sur d'autres relations (par exemple l'union, l'intersection, ou encore la différence). Ces opérateurs sont implémentés dans des langages de requêtes de haut niveau des SGBD tel SQL (Structured Query Langage), QUEL (Ingres) ou QBE (Paradox).
L'algèbre relationnelle est une "partie" de la théorie des ensembles (mathématique).
En d'autres termes - et au sens littéral - l'algèbre relationnelle est un ensemble d'opérations appliquée à un même type d'objet mathématique, chaque opération produisant à nouveau le même type d'objet en sortie. En algèbre relationnelle, l’objet est une "relation" et les opérations effectuées sur les relations en paramètre de l'opération donnent comme résultat une nouvelle relation en sortie.
Par conséquent, l'algèbre relationnelle est une fermeture au sens mathématique du terme. Cependant, l'algèbre relationnelle n’est pas une fermeture transitive. En effet l'algèbre relationnelle ne permet pas de procéder à des opérations récursives, seule solution pour les problématiques de parcours de graphe.

## Petit rappel sur les relations

Remarque préliminaire
L'objectif de l'algèbre relationnelle est de faire des recherches sur les relations (tables) à l'aide d'un ensemble d'opérateurs.
Le résultat d'une recherche est une nouvelle relation tout aussi manipulable.
Soient $n$ ensembles, $D_{1},D_{2},...,D_{n}$.
* Une relation $R$ sur ces ensembles est un sous-ensemble du produit cartésien $D_{1}\times D_{2}\times ...\times D_{n}$.
* Chaque élément de $R$ est un n-uplet $<d_{1},d_{2},...,d_{n}>$, tel que :
$d_{i}\in D_{i}$ (avec $i\in \mathbb {N} _{n}^{\times }$)
Soient :
* $D_{1}$ l’ensemble des noms des fournisseurs d'une entreprise.
$D_{1}=\{\mathrm {Apple} ,\,\mathrm {Fujitsu-Siemens} ,\,\mathrm {Xunlei~Network~Technology} \}$
* $D_{2}$ l’ensemble des noms de pays.
$D_{2}=\{\mathrm {{\acute {E}}tats-Unis} ,\,\mathrm {France} ,\mathrm {Allemagne} ,\mathrm {Chine} \}$
* La relation R = {(Apple,États-Unis),(Fujitsu-Siemens,Allemagne),(Xunlei Network Technology,Chine)} donnée en extension.
On dit que :
* Le n-uplet ${\rm {(Fujitsu-Siemens,Allemagne)}}$ est un élément de la relation $R$.

## Avant d'aller plus loin
### Quelques définitions bien utiles

* Opérandes : correspond aux relations du modèle relationnel
* Fermeture : le résultat de toute opération est une nouvelle relation

### Différents types d'opérations

On distingue les opérations possibles en 2 catégories, selon qu'elle soient unaires ou binaires.
* Les opérations unaires qui mettent en œuvre une seule opérande : la projection $(\pi$ ou $P)$, le renommage $(a)$ et la sélection $(\sigma$ ou $S)$.
* Les opérations binaires : la différence $(-)$, la division $(/)$, l' intersection $(\cap )$, les jointures $(|\times |$ ou $J)$, le produit cartésien $(\times )$, l'union $(\cup )$.
Ces opérations seront présentées dans les chapitres suivant.
| Sommaire | Les opérateurs ensemblistes |