Skip to main content

Qu'est-ce qu'une clé étrangère?

Les bases de données sont composées de tableaux dans lesquels les données ou les informations sont stockées.Une clé étrangère est un mécanisme dans une base de données relationnelle qui permet l'association de ces tables ou pour que les tableaux aient une relation les uns avec les autres.Il existe des caractéristiques uniques qu'une clé étrangère doit avoir.Il doit s'agir d'une colonne ou d'un groupe de colonnes dans un tableau dont les valeurs établissent une relation avec des valeurs dans une autre table dans la même base de données.

Une clé étrangère garantit que les lignes dans une seule table correspondent à des lignes dans une autre table, établissant ainsi des relations de base de données ou des références.Le tableau contenant la clé étrangère est l'enfant, et l'autre tableau est le parent.Il est possible que la valeur d'une clé étrangère soit nul ou vide et qu'elle se référenne ou se rapporte réellement à ce que l'on appelle la clé principale du tableau dans lequel il se trouve.Ceci est connu sous le nom d'auto-référence.

Il faut avoir une bonne compréhension de ce qu'est une clé primaire avant d'essayer de comprendre pleinement le concept derrière les clés étrangères.Par exemple, s'il y a deux tables dans une base de données stockant des informations sur les livres publiés pour un site Web qui vend des livres, une table pourrait être la table des éditeurs et l'autre table de livres.Le tableau des éditeurs pourrait se composer de deux colonnes, une clé primaire qui est toujours unique pour chaque enregistrement et une colonne de nom d'éditeur.Un minimum de trois colonnes constituerait le tableau des livres, tenant la clé principale ou l'identifiant unique pour chaque livre, les titres de livres et une colonne via une relation avec la table des éditeurs.Cette colonne serait la clé étrangère.

La clé principale pour le tableau des éditeurs pourrait être quelque chose comme PUB_ID avec des valeurs de: P01, P02, P03, etc. Une relation serait établie avec le tableau des livres s'il contenait une colonne PUB_ID avec les mêmes valeurs.Ce serait la clé étrangère qui rapporterait cette table d'enfants à son parent mdash;La table des éditeurs.

Une clé étrangère peut cependant avoir un nom de colonne différent de la clé parent qu'elle fait référence.Une bonne compréhension du fonctionnement des clés primaires et étrangères est essentielle pour maintenir l'intégrité référentielle.De très grandes bases de données composées de nombreuses tables ou qui impliquent une table de jonction présente plus d'un type de relation, ce qui peut compliquer la tâche de travailler avec des clés étrangères.