Equivalence entre SQL et algèbre

Méthode

La traduction en algèbre relationnelle est directe, et se fait de la manière automatique suivante.

Soit une requête SQL de la forme :

1
SELECT DISTINCT A1,A2, . . . ,An
2
FROM R1,R2, . . . ,Rm
3
WHERE <CONDITION(A1, . . . ,An,An+1, . . . ,An+k)>

Une expression de l'algèbre relationnelle correspondante se déduit directement par la relation suivante :

\(\pi_{A_1,\ldots,A_n}(\sigma_{CONDITION}(R_1\times R_2\times \ldots\times R_m)\)

Remarque

Notons que nous considérons ici dans la clause FROM uniquement des tables et donc le produit cartésien. Nous verrons plus tard qu'il est possible d'indiquer directement dans cette clause FROM des jointures, ce qui change légèrement la traduction, mais pas le résultat.