Projection, restriction et jointure

L'instruction SELECT du langage SQL LMD nous donne de larges possibilités pour interroger les tables d'une base de données. Cette instruction se fonde notamment sur les opérations mathématiques de l'algèbre relationnelle, dont les principales sont la projection, la restriction, le produit et la jointure.

Question

Exécuter l'instruction suivante et expliquer pourquoi c'est une projection.

1
SELECT nom, prenom 
2
FROM tEtu;

Solution

Cette instruction est une projection, on ne sélectionne que certains attributs d'une table.

Question

Exécuter l'instruction suivante et expliquer pourquoi c'est une restriction.

1
SELECT * 
2
FROM tEtu
3
WHERE nom='Dupont';

Solution

Cette instruction est une restriction, on pose une condition sur les données à récupérer. Ici, il s'agit de récupérer uniquement les lignes pour lesquelles le nom est Dupont.

Question

Exécuter l'instruction suivante et expliquer pourquoi c'est un produit (cartésien).

1
SELECT *
2
FROM tEtu,tUv;

Solution

Il s'agit d'un produit car il associe à chaque étudiant toutes les UVs de la table tUv.

Question

Exécuter l'instruction suivante et expliquer pourquoi c'est une jointure.

1
SELECT *
2
FROM tEtu JOIN tUv ON pk_numSecu=fk_etu;

Solution

Il s'agit d'une jointure car elle ne renvoie que les étudiants qui sont réellement associés à une UV (contrairement au produit qui associe chaque étudiant à toutes les UVs)

Question

Exécuter l'instruction suivante et montrer qu'une jointure est la composition d'un produit et d'une restriction.

1
SELECT *
2
FROM tEtu,tUv
3
WHERE pk_numSecu=fk_etu;

Solution

La jointure est la composition d'un produit et d'une restriction puisqu'on peut d'abord effectuer un produit et ensuite ne conserver que les lignes qui satisfont à l'égalité.