L'algèbre relationnelle est un langage de requêtes dans des bases de données relationnelles. L'algèbre relationnelle a été inventée en 1970 par Edgar Frank Codd, le directeur de recherche du centre IBM de San José.
L’algèbre relationnelle fournit les opérations permettant d’interroger les bases de données. C’est un support mathématique cohérent sur lequel repose le modèle relationnel. En algèbre relationnelle, on dit comment obtenir un résultat. Ce dernier est généralement une nouvelle relation, on dit ainsi que les opérations de l’algèbre relationnelle sont des opérations ensemblistes.

Les opérateurs unaires


Les opérateurs unaires sont les opérateurs qui utilisent une seule relation. En plus de la relation, il est possible d’utiliser d’autres choses comme la condition ou l’attribut. Le terme unaire est utilisé pour signifier le nombre de relations entrant en jeu dans l’opération.

La sélection ou restriction


La sélection ou la restriction permet d’extraire d’une relation R, les données qui respectent une condition P. La condition est une expression booléenne dont l’évaluation donnera soit la valeur VRAI soit FAUX. La condition utilise les opérateurs relationnels ou de comparaison suivants : l’égalité (=), la différence ou l’inégalité (≠), l’infériorité ou sens stricte (<), l’infériorité au sens large (≤), la supériorité au sens stricte (>) et la supériorité au sens large (≥). La condition peut être simple ou composée en utilisant les opérateurs logiques ou booléennes suivantes : la conjonction logique (ET), la disjonction logique (OU) et la négation logique (NON).

L’opérateur de la sélection est  et est défini ainsi :

 ∶ 𝐑𝐞𝐥𝐚𝐭𝐢𝐨𝐧 𝐱 𝐂𝐨𝐧𝐝𝐢𝐭𝐢𝐨𝐧 → 𝐑𝐞𝐥𝐚𝐭𝐢𝐨𝐧
___________(𝐑, 𝐏)_________⟼ R'


Et s’écrit ainsi : 𝑹′ = 𝝈𝐏 (𝐑) ou 𝑹′ = 𝝈[𝐏] (𝐑)

Représentation graphique de l’opérateur de sélection ou restriction
Figure 51 : Représentation graphique de l’opérateur de sélection ou restriction
R’ a le même schéma de données que R mais l’instance de R’ est une partie de l’instance de R dont les données vérifient la condition P.

Exemple : Sélection des produits dont qu’il faut approvisionner le stock dans l’urgence en se basant sur le schéma de données de la Figure 39 : Modèle relationnel de données du site d’e-commerce

𝑹𝒆𝒔𝒖𝒍𝒕𝒂𝒕 = 𝝈𝐐𝐮𝐚𝐧𝐭𝐢𝐭𝐞𝐒𝐭𝐨𝐜𝐤 <= 𝐒𝐞𝐮𝐢𝐥𝐀𝐥𝐞𝐫𝐭𝐞 (𝐏𝐫𝐨𝐝𝐮𝐢𝐭)

Représentation graphique de la requête de sélection des produits à approvisionner en urgence
Figure 52 : Représentation graphique de la requête de sélection des produits à approvisionner en urgence

La projection


La projection permet de créer une nouvelle relation dont les attributs correspondent à une partie des attributs de la relation initiale. Les données de la nouvelle relation sont les données de la relation initiale dont les attributs sont désignés dans la nouvelle relation. L’opérateur de la projection est  et est défini ainsi :

 ∶ 𝐑𝐞𝐥𝐚𝐭𝐢𝐨𝐧 𝐱 𝐋𝐢𝐬𝐭𝐞 𝐝′𝐚𝐭𝐭𝐫𝐢𝐛𝐮𝐭𝐬 → 𝐑𝐞𝐥𝐚𝐭𝐢𝐨𝐧
___________(𝐑, 𝑨𝟏 , 𝑨𝟐 , … , 𝑨𝒏 ) ⟼ R'


Et s’écrit ainsi : 𝑹′ = 𝝅𝑨𝟏 ,𝑨𝟐 ,… ,𝑨𝒏 (𝐑) 𝒐𝒖 𝑹′ = 𝝅[𝑨𝟏 ,𝑨𝟐 ,… ,𝑨𝒏 ] (𝐑)

Représentation graphique de l’opérateur de projection
Figure 53 : Représentation graphique de l’opérateur de projection
Exemple : Liste des clients avec les attributs : nom, prénom, téléphone et adresse électronique en se basant sur le schéma de données de la Figure 39 : Modèle relationnel de données du site d’e-commerce

𝑹é𝒔𝒖𝒍𝒕𝒂𝒕 = 𝝅𝐍𝐨𝐦, 𝐏𝐫𝐞𝐧𝐨𝐦, 𝐓𝐞𝐥𝐞𝐩𝐡𝐨𝐧𝐞𝐂, 𝐄𝐦𝐚𝐢𝐥 (𝐂𝐥𝐢𝐞𝐧𝐭)

Représentation graphique de la requête de la projection de la relation Client sur les attributs :
            nom, prénom, téléphone et adresse électronique
Figure 54 : Représentation graphique de la requête de la projection de la relation Client sur les attributs : nom, prénom, téléphone et adresse électronique

Le renommage


Le renommage permet de changer le nom de certains attributs d’une relation sans modifier la structure de la relation. La nouvelle relation obtenue après renommage de certains attributs a des données identiques à celles de la relation initiale. L’opérateur du renommage est  et est défini ainsi :

𝜶 ∶ 𝐑𝐞𝐥𝐚𝐭𝐢𝐨𝐧 𝐱 𝐋𝐢𝐬𝐭𝐞 𝐝′ 𝐚𝐭𝐭𝐫𝐢𝐛𝐮𝐭𝐬 𝐚𝐯𝐞𝐜 𝐥𝐞 𝐧𝐨𝐮𝐯𝐞𝐚𝐮𝐮 𝐧𝐨𝐦 ___________→ 𝐑𝐞𝐥𝐚𝐭𝐢𝐨𝐧
(𝐑, 𝑨𝟏 : 𝐍𝐨𝐮𝐯𝐞𝐚𝐮𝐍𝐨𝐦𝟏 , 𝑨𝟐 : 𝑵𝒐𝒖𝒗𝒆𝒂𝒖𝑵𝒐𝒎𝟐 , … , 𝑨𝒏 : 𝑵𝒐𝒖𝒗𝒆𝒂𝒖𝑵𝒐𝒎𝒏 ) ⟼ R'


Et s’écrit ainsi : 𝑹′ = 𝜶𝑨𝟏 :𝐍𝐨𝐮𝐯𝐞𝐚𝐮𝐍𝐨𝐦𝟏 , 𝑨𝟐 :𝑵𝒐𝒖𝒗𝒆𝒂𝒖𝑵𝒐𝒎𝟐 ,… ,𝑨𝒏 :𝑵𝒐𝒖𝒗𝒆𝒂𝒖𝑵𝒐𝒎𝒏 (𝐑) ou 𝑹′ = 𝜶[𝑨𝟏 :𝐍𝐨𝐮𝐯𝐞𝐚𝐮𝐍𝐨𝐦𝟏 , 𝑨𝟐 :𝑵𝒐𝒖𝒗𝒆𝒂𝒖𝑵𝒐𝒎𝟐 ,… ,𝑨𝒏 :𝑵𝒐𝒖𝒗𝒆𝒂𝒖𝑵𝒐𝒎𝒏 ] (𝐑)

Exemple : Liste des fournisseurs où la désignation est renommée par nom du fournisseur en se basant sur le schéma de données de la Figure 39 : Modèle relationnel de données du site d’e-commerce

𝑹′ = 𝜶𝐃𝐞𝐬𝐢𝐠𝐧𝐚𝐭𝐢𝐨𝐧 :𝐍𝐨𝐦 𝐝𝐮 𝐟𝐨𝐮𝐫𝐧𝐢𝐬𝐬𝐞𝐮𝐫 (𝐅𝐨𝐮𝐫𝐧𝐢𝐬𝐬𝐞𝐮𝐫)