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 fait référence à une clé primaire ou à une clé candidate d'une autre table, tandis que la clé primaire est une colonne ou un ensemble de colonnes pouvant être utilisé pour identifier de manière unique une ligne dans une table.
Une colonne ou un ensemble de colonnes pouvant être utilisé pour identifier ou accéder à une ligne ou à un ensemble de lignes dans une base de données s'appelle une clé. Une clé primaire dans une base de données relationnelle est une combinaison de colonnes dans une table qui identifie de manière unique une ligne de la table. La clé étrangère dans une base de données relationnelle est un champ dans une table qui correspond à la clé primaire d'une autre table. La clé étrangère est utilisée pour croiser les tables.
1. Vue d'ensemble et différence clé
2. Quelle est la clé étrangère
3. Quelle est la clé primaire
4. Comparaison côte à côte - Clé étrangère et clé primaire sous forme de tableau
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 table de référence, qui fait référence à un ensemble de colonnes dans une autre table, appelée table référencée. La clé étrangère ou les colonnes de la table de référence doivent être la clé primaire ou une clé candidate (une clé pouvant être utilisée comme clé primaire) dans la table référencée. 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 la table à laquelle elle fait référence. Ensuite, la référence fournie par la clé étrangère permet de lier des informations dans plusieurs tables, ce qui deviendrait essentiel avec des bases de données normalisées. Plusieurs lignes de la table de référence peuvent faire référence à une seule ligne de la table référencée..
Figure 01: Mappage de clé étrangère
En norme SQL ANSI, la contrainte FOREIGN KEY 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 de la table elle-même. Une table peut avoir plusieurs clés étrangères et référencer différentes tables..
La clé primaire est une colonne ou une combinaison de colonnes qui définit de manière unique une ligne dans une table d'une base de données relationnelle. Une table peut avoir au plus une clé primaire. La clé primaire applique la contrainte implicite NOT NULL. Par conséquent, une colonne avec une clé primaire ne peut pas contenir de valeur NULL. La clé primaire peut être un attribut normal de la table qui est garanti unique, tel qu'un numéro de sécurité sociale, ou une valeur unique générée par le système de gestion de base de données, telle qu'un identificateur global unique (GUID) dans Microsoft SQL Server..
Figure 02: clé primaire
De plus, la contrainte PRIMARY KEY dans ANSI SQL Standard définit les clés primaires. Il est également possible de définir une clé primaire lors de la création de la table. En plus de cela, SQL permet à la clé primaire de se composer d'une ou de plusieurs colonnes et chaque colonne incluse dans la clé primaire est définie implicitement comme étant NOT NULL. Mais certains systèmes de gestion de base de données requièrent que les colonnes de clé primaire soient explicitement NON NOT.
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 de deux tables.. | La clé primaire 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 NULL. | La valeur de la clé primaire ne peut pas être NULL. |
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é primaire est que cette clé est une colonne ou un ensemble de colonnes faisant référence à une clé primaire ou à une clé candidate d'une autre table, tandis que la clé primaire est une colonne ou un ensemble de colonnes pouvant être utilisées de manière unique. identifier une ligne dans une table.
1. «Clé étrangère». Wikipedia, Wikimedia Foundation, 12 mai 2018. Disponible ici
2. «Clé primaire». Wikipedia, Wikimedia Foundation, 3 avril 2018.. Disponible ici
1.'Forign-Key-Key-Mapping'Par MovGP0 - Propre travail, (CC BY-SA 3.0) via Wikimedia Commons
2.'Erd-id-as-primary-key'Par UniCollab - Propre travail, (CC BY-SA 3.0) via Wikimedia Commons