informatique (tronc commun des prépas scientifiques) · Chapitre 15 · Exercice de TD
Du produit cartésien à la jointure
Les bases de données : le modèle relationnel et les premières requêtes · niveau 3 (difficile)
Énoncé
Expliquer la différence entre un produit cartésien et une jointure de tables.
Corrigé
- Le produit cartésien s'obtient en listant simplement deux tables dans la clause
FROM(ex:FROM livre, auteur). Il produit toutes les combinaisons possibles de lignes. Pour 8 livres et 4 auteurs, on obtient lignes (dont la grande majorité associe des livres à des auteurs erronés). - La jointure filtre ce produit en imposant l'égalité entre la clé étrangère du livre et la clé primaire de l'auteur : `
` Cette requête ne renvoie que 8 lignes (une par livre) avec l'auteur correspondant exact.sql SELECT titre, nom FROM livre, auteur WHERE livre.id_auteur = auteur.id_auteur;