34
Chapitre 4 • Concepts des bases de données
3.2.2 Les clés étrangères
Une colonne du deuxième type est une copie de l’identifiant d’une autre table.
Chacune de ses valeurs joue le rôle d’une référence à une ligne de cette table. On
l’appellera colonne de référence, ou selon la terminologie standard, clé étrangère
(foreign key). La table OFFRE contient deux clés étrangères : NUMFL, qui constitue
une référence à une entité fournisseur (et donc aussi à une ligne de FOURNISSEUR), et NUMPL, qui est une référence à une pièce (et aussi à une ligne de PIECE).
C’est par des clés étrangères qu’on peut mettre en relation des lignes dans des tables
distinctes. Pour chaque offre, représentée par une ligne de OFFRE, il est possible de
connaître les informations concernant le fournisseur (via NUMFL) et celles qui
concernent la pièce (via NUMPL).
On notera que le nom d’une colonne formant une clé étrangère est indépendant de
celui de l’identifiant qu’elle référence. Il arrivera souvent qu’on donne à une clé
étrangère le nom de l’identifiant cible (NUMP dans OFFRE), mais on pourrait aussi
lui donner celui de la table référencée (PIECE), ou encore celui du rôle que jouent
les lignes référencées (PIECE_OFFERTE)
3.2.3 Les informations complémentaires
Le troisième type de colonne ne joue d’autre rôle que celui d’apporter une information complémentaire sur l’entité. Ainsi en est-il de NOMF, VILLEF, TYPE et PRIX.
A partir de ces éléments de base, nous mettrons encore en évidence quatre concepts
importants : les identifiants et clés étrangères multicomposants, les identifiants
primaires, les contraintes référentielles et les colonnes facultatives.
3.2.4 Les identifiants et clés étrangères multicomposants
Rien n’interdit que l’identifiant d’une table soit constitué de plus d’une colonne. On
pourrait ainsi imposer que les colonnes (NUMFL, NUMPL) forment l’identifiant de
la table OFFRE. Cette propriété revient à dire qu’on n’enregistre qu’une seule offre
par fournisseur pour une pièce déterminée, ou encore qu’une pièce ne peut faire
l’objet que d’une seule offre de la part d’un fournisseur déterminé.
Par voie de conséquence, une clé étrangère qui référence une table ayant un identifiant primaire multicomposant est elle-même multicomposant.
3.2.5 Les identifiants primaires
Rien n’interdit non plus qu’on impose plus d’un identifiant à une table. Par exemple,
une table qui reprend les informations signalétiques d’une population dotée d’une
couverture sociale pourrait inclure, entre autres, une colonne NUMERO-INSCRIPTION et une colonne NUMERO-CARTE-IDENTITE, chacune constituant un identifiant. Parmi les identifiants d’une table, l’un est choisi comme le plus représentatif.
Il sera déclaré identifiant primaire 4 , les autres étant les identifiants secondaires 5 de
Chapitre 4 • Concepts des bases de données
3.2.2 Les clés étrangères
Une colonne du deuxième type est une copie de l’identifiant d’une autre table.
Chacune de ses valeurs joue le rôle d’une référence à une ligne de cette table. On
l’appellera colonne de référence, ou selon la terminologie standard, clé étrangère
(foreign key). La table OFFRE contient deux clés étrangères : NUMFL, qui constitue
une référence à une entité fournisseur (et donc aussi à une ligne de FOURNISSEUR), et NUMPL, qui est une référence à une pièce (et aussi à une ligne de PIECE).
C’est par des clés étrangères qu’on peut mettre en relation des lignes dans des tables
distinctes. Pour chaque offre, représentée par une ligne de OFFRE, il est possible de
connaître les informations concernant le fournisseur (via NUMFL) et celles qui
concernent la pièce (via NUMPL).
On notera que le nom d’une colonne formant une clé étrangère est indépendant de
celui de l’identifiant qu’elle référence. Il arrivera souvent qu’on donne à une clé
étrangère le nom de l’identifiant cible (NUMP dans OFFRE), mais on pourrait aussi
lui donner celui de la table référencée (PIECE), ou encore celui du rôle que jouent
les lignes référencées (PIECE_OFFERTE)
3.2.3 Les informations complémentaires
Le troisième type de colonne ne joue d’autre rôle que celui d’apporter une information complémentaire sur l’entité. Ainsi en est-il de NOMF, VILLEF, TYPE et PRIX.
A partir de ces éléments de base, nous mettrons encore en évidence quatre concepts
importants : les identifiants et clés étrangères multicomposants, les identifiants
primaires, les contraintes référentielles et les colonnes facultatives.
3.2.4 Les identifiants et clés étrangères multicomposants
Rien n’interdit que l’identifiant d’une table soit constitué de plus d’une colonne. On
pourrait ainsi imposer que les colonnes (NUMFL, NUMPL) forment l’identifiant de
la table OFFRE. Cette propriété revient à dire qu’on n’enregistre qu’une seule offre
par fournisseur pour une pièce déterminée, ou encore qu’une pièce ne peut faire
l’objet que d’une seule offre de la part d’un fournisseur déterminé.
Par voie de conséquence, une clé étrangère qui référence une table ayant un identifiant primaire multicomposant est elle-même multicomposant.
3.2.5 Les identifiants primaires
Rien n’interdit non plus qu’on impose plus d’un identifiant à une table. Par exemple,
une table qui reprend les informations signalétiques d’une population dotée d’une
couverture sociale pourrait inclure, entre autres, une colonne NUMERO-INSCRIPTION et une colonne NUMERO-CARTE-IDENTITE, chacune constituant un identifiant. Parmi les identifiants d’une table, l’un est choisi comme le plus représentatif.
Il sera déclaré identifiant primaire 4 , les autres étant les identifiants secondaires 5 de
