Aller au contenu

UGA - MIASHS - S7 - BDD - Pierre Blarre

Equivalences AR / SQL

Icône Présentation
1 / 1

Pour vous aider à transformer les requêtes algébriques du TD2 en SQL, vous pouvez vous référer à ce tableau d’équivalences entre l’algèbre relationnelle et le SQL.

Algèbre RelationnelleSQLDescriptionRemarque
R[A]
SELECT A
FROM R
Projection
R[*]
SELECT *
FROM R
Projection sur toutes les colonnes
R : C
SELECT *
FROM R
WHERE C
Sélection
R x S
SELECT *
FROM R, S
Produit cartésien
R (P) * S
SELECT *
FROM R, S
WHERE P
Jointure
R ⨝ S
SELECT *
FROM R, S
WHERE R.A = S.A
Jointure naturelle
R ∪ S
SELECT * FROM R
UNION
SELECT * FROM S
Union
R ∩ S
SELECT * FROM R
INTERSECT
SELECT * FROM S
Intersection
R - S
SELECT * FROM R
MINUS
SELECT * FROM S
Différence Avec SQLite, MINUS est remplacé par le terme EXCEPT
R / S
SELECT A FROM R
MINUS
(
SELECT A
FROM R
WHERE A, B IN (
SELECT R.A, S.B FROM R, S
MINUS
SELECT A, B FROM R
)
)
Division Avec SQLite, MINUS est remplacé par le terme EXCEPT
R / S
SELECT A FROM R, S
WHERE R.B = S.B
GROUP BY A
HAVING COUNT(DISTINCT(R.B)) = (SELECT COUNT(DISTINCT B) FROM S)
Division Une version alternative de la division : On compte le nombre de valeurs distinctes de B dans R et on vérifie qu'il est égal au nombre de valeurs distinctes de B dans S.