Les bases de données sont composées de tableaux dans lesquels des données ou des renseignements est stocké. Une clé étrangère est un mécanisme dans une base de données relationnelle qui permet à l'association de ces tables ou des tables d'avoir une relation avec l'autre. Il y a des caractéristiques uniques qui une clé étrangère doit avoir. Il doit être une colonne ou un groupe de colonnes dans un tableau dont les valeurs établir une relation avec les valeurs d'une autre table de la même base de données.
Les garanties essentielles étrangers que les lignes d'une table correspondent aux lignes dans une autre table, établissant ainsi des relations base de données à l'échelle, ou des références. Le tableau contenant la clé étrangère est l '«enfant», et l'autre table est le «parent». Il est possible que la valeur d'une clé étrangère à être nul ou vide et pour qu'il puisse réellement référencer ou se rapportent à ce qui est connu comme la clé primaire de la table dans laquelle il se trouve. C'est ce qu'on appelle l'auto-référencement. Il faut avoir une bonne compréhension de ce qu'est une clé primaire avant de tenter de comprendre pleinement le concept de 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 publishers et l'autre la table livre. Le tableau des éditeurs pourrait consister en deux colonnes, une clé primaire qui est toujours unique pour chaque enregistrement et une colonne de nom de l'éditeur. Un minimum de trois colonnes ferait la table livres, contenant la clé primaire ou un identifiant unique pour chaque livre, les titres de livres et d'une colonne par laquelle une relation serait établie avec la table publishers. Cette colonne serait la clé étrangère.
La clé primaire de la table publishers pourrait être quelque chose comme "pub_id" avec les valeurs suivantes: P01, P02, P03, etc. Une relation serait établie avec la table livres si elle contenait une colonne pub_id avec les mêmes valeurs. Ce serait la clé étrangère qui porterait sur cette table enfant à sa mère - la table publishers.
Une clé étrangère peut, cependant, avoir un nom de colonne différente de la clé parente qu'il référence. Bonne compréhension du fonctionnement des clés primaires et étrangères sont essentiels au maintien de l'intégrité référentielle. Très grandes bases de données qui sont composés de plusieurs tables ou qui impliquent une table de jonction présenter plus d'un type de relation, ce qui peut compliquer la tâche de travailler avec des clés étrangères.