Réécriture en requêtes équivalentes
Il est possible de réécrire les requêtes en utilisant les équivalences algébriques suivantes :
Commutativité et associativité de la jointure
E1 ⋈ E2 = E2 ⋈ E1,
(E1 ⋈ E2) ⋈ E3 = E1 ⋈ (E2 ⋈ E3).
Cascade de projections
πA1...An (πB1...Bm (E)) = πA1...An (E)
Cascade de sélections
σF1(σF2(E)) = σF1^F2(E)
Commutation sélection et projection
Si F ne porte que sur A1...An, πA1...An (σF (E)) = σF (πA1...An (E))
Si F porte aussi sur B1...Bm, πA1...An (σF (E)) = πA1...An (σF (πA1...An,B1...Bm (E)))
Commutation sélection et un opérateur binaire w : jointure, union, différence
σF1 (E1 w E2) = σF1 (E1) w σF1 (E2)
Commutation projection et union
πA1...An (E1 ∪ E2) = πA1...An (E1) ∪ πA1...An (E2)