Le différence clé entre la clé étrangère et la clé primaire est que La clé étrangère est une colonne ou un ensemble de colonnes qui se réfèrent à une clé primaire ou à une clé candidate d'un autre tableau tandis que la clé primaire est une colonne ou un ensemble de colonnes qui peuvent être utilisées pour identifier de manière unique une ligne dans un tableau.
Une colonne ou un ensemble de colonnes pouvant être utilisées pour identifier ou accéder à une ligne ou un ensemble de lignes dans une base de données est appelée une clé. Une clé primaire dans une base de données relationnelle est une combinaison de colonnes dans un tableau qui identifie une ligne de table unique. La clé étrangère dans une base de données relationnelle est un champ dans un tableau qui correspond à la clé principale d'un autre tableau. La clé étrangère est utilisée pour traverser les tables de référence.
1. Aperçu et différence clé
2. Qu'est-ce que la clé étrangère
3. Qu'est-ce que la clé primaire
4. Comparaison côte à côte - clé étrangère et clé primaire sous forme tabulaire
5. Résumé
La clé étrangère est une contrainte référentielle entre deux tables. Il identifie une colonne ou un ensemble de colonnes dans une table, appelée le tableau référencé qui fait référence à un ensemble de colonnes dans une autre table, appelée le tableau référencé. La clé étrangère ou les colonnes de la table de référence doivent être la clé principale ou une clé candidate (une clé qui peut être utilisée comme clé principale) dans le tableau référencé. De plus, les clés étrangères permettent de lier des données sur plusieurs tables. Par conséquent, la clé étrangère ne peut pas contenir de valeurs qui n'apparaissent pas dans le tableau qu'elle fait référence. Ensuite, la référence fournie par la clé étrangère aide à relier les informations dans plusieurs tables et cela deviendrait essentiel avec les bases de données normalisées. Plusieurs lignes dans le tableau de référence peuvent se référer à une seule ligne dans le tableau référencé.
Figure 01: Mappage des clés étrangères
Dans la norme ANSI SQL, la contrainte de clé étrangère définit les clés étrangères. De plus, il est possible de définir les clés étrangères lors de la création du tableau lui-même. Une table peut avoir plusieurs clés étrangères, et ils peuvent faire référence à différentes tables.
La clé primaire est une colonne ou une combinaison de colonnes qui définissent de manière unique une ligne dans un tableau d'une base de données relationnelle. Une table peut avoir au plus une clé primaire. La clé primaire applique la contrainte implicite et non nul. Par conséquent, une colonne avec une clé primaire ne peut pas avoir des valeurs nulles. La clé primaire peut être un attribut normal dans le tableau qui est garanti d'être unique, comme un numéro de sécurité sociale, ou il peut être une valeur unique générée par le système de gestion de la base de données telle qu'un identifiant unique (GUID) dans Microsoft SQL Server.
Figure 02: clé primaire
De plus, la contrainte de clé primaire dans la norme ANSI SQL définit les clés primaires. Il est également possible de définir une clé primaire lors de la création du tableau. En plus de cela, SQL permet à la clé primaire d'être composée d'une ou plusieurs colonnes, et chaque colonne incluse dans la clé primaire est implicitement définie pour ne pas être nul. Mais certains systèmes de gestion de bases de données nécessitent de fabriquer explicitement les colonnes de clés principales non nuls.
Clé étrangère vs clé primaire | |
La clé étrangère est une colonne ou un groupe de colonnes dans une table de base de données relationnelle qui fournit une association entre les données dans deux tables. | La clé principale est une colonne de table de base de données relationnelle spéciale ou une combinaison de plusieurs colonnes qui permet d'identifier de manière unique tous les enregistrements de table. |
NUL | |
La clé étrangère accepte la valeur nul. | La valeur de la clé primaire ne peut pas être nul. |
Nombre de clés | |
La table peut avoir plusieurs clés étrangères. | La table ne peut avoir qu'une seule clé primaire. |
Reproduction | |
Les tuples peuvent avoir une valeur en double pour un attribut de clé étrangère. | Deux tuples d'une relation ne peuvent pas avoir de valeurs en double pour un attribut de clé primaire. |
La différence entre la clé étrangère et la clé principale est que la clé étrangère est une colonne ou un ensemble de colonnes qui se réfèrent à une clé primaire ou à une clé candidate d'une autre table tandis que la clé principale est une colonne ou un ensemble de colonnes qui peuvent être utilisées pour Identifiez une ligne dans un tableau.
1."Clé étrangère.»Wikipedia, Wikimedia Foundation, 12 mai 2018. Disponible ici
2."Clé primaire.»Wikipedia, Wikimedia Foundation, 3 avril. 2018. Disponible ici
1.'Mappage à touche étrange.0) via Commons Wikimedia
2.'Erd-id-as-primary-key'By Unicollab - propre travail, (CC by-sa 3.0) via Commons Wikimedia