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.
SELECT nom, prenom
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.
SELECT *
FROM tEtu
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).
SELECT *
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.
SELECT *
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.
SELECT *
FROM tEtu,tUv
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é.