Types de relations entre tables
Mise à jour : novembre 2007
Une relation fait correspondre des données de colonnes clés — généralement des colonnes portant le même nom dans les deux tables. Dans la plupart des cas, la relation établit une correspondance entre la clé primaire d'une table, qui fournit un identificateur unique pour chaque ligne, et l'entrée contenue dans la clé étrangère de l'autre table. Par exemple, pour associer des ventes de livres à des titres spécifiques, vous pouvez créer une relation entre la colonne title_id de la table titles (clé primaire) et la colonne title_id de la table sales (clé étrangère).
Il existe trois types de relations entre tables. Le type de relation créé dépend de la façon dont les colonnes en relation sont définies.
Relations un-à-plusieurs
Relations plusieurs-à-plusieurs
Relations un-à-un
Relations un-à-plusieurs
Ce type de relation est le plus courant. Dans une relation de type un-à-plusieurs, une ligne de la table A peut correspondre à plusieurs lignes de la table B, tandis qu'une ligne de la table B ne peut correspondre qu'à une seule ligne de la table A. Par exemple, les tables publishers et titles ont une relation de type un-à-plusieurs : chaque éditeur produit de nombreux titres, mais chaque titre ne provient que d'un seul éditeur.
Ne créez une relation de type un-à-plusieurs que si l'une des colonnes en relation est une clé primaire ou doit respecter une contrainte unique.
Le côté clé primaire d'une relation de type un-à-plusieurs est illustré par le symbole d'une clé. Le côté clé étrangère d'une relation de type un-à-plusieurs est illustré par le symbole Infini.
Relations plusieurs-à-plusieurs
Dans ce type de relation, une ligne de la table A peut correspondre à plusieurs lignes de la table B et vice versa. Pour créer une relation de ce type, vous devez définir une troisième table, appelée table de jointure, dont la clé primaire se compose des clés étrangères des tables A et B. Par exemple, les tables authors et titles ont une relation de type plusieurs-à-plusieurs définie par une relation de type un-à-plusieurs de chacune d'elles vers la table titleauthors. La clé primaire de la table titleauthors est une combinaison des colonnes au_id (clé primaire de la table authors) et title_id (clé primaire de la table titles).
Relations un-à-un
Dans ce type de relation, une ligne de la table A ne peut correspondre qu'à une seule ligne de la table B et vice versa. Une relation de type un-à-un est créée si les deux colonnes en relation sont des clés primaires ou doivent respecter des contraintes uniques.
Ce type de relation n'est pas courant, la plupart des informations mises en relation de cette façon se trouvant dans une seule et même table. Une relation un-à-un est utile pour :
Diviser une table comportant trop de colonnes.
Isoler une partie d'une table pour des raisons de sécurité.
Stocker des données à courte durée de vie, qui seront faciles à supprimer par une simple suppression de la table.
Stocker des informations ne s'appliquant qu'à un sous-ensemble de la table principale.
Le côté clé primaire d'une relation de type un-à-un est illustré par le symbole d'une clé. Le côté clé étrangère est aussi illustré par le symbole d'une clé.
Voir aussi
Concepts
Vue d'ensemble de l'intégrité référentielle