Différence entre la clé étrangère et la clé primaire

Table des matières:

Différence entre la clé étrangère et la clé primaire
Différence entre la clé étrangère et la clé primaire

Vidéo: Différence entre la clé étrangère et la clé primaire

Vidéo: Différence entre la clé étrangère et la clé primaire
Vidéo: Oracle DB 12C: 5. Clé Primaire et Clé Etrangère 2024, Juillet
Anonim

La principale différence entre la clé étrangère et la clé primaire est que la clé étrangère est une colonne ou un ensemble de colonnes qui font 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 qui peut ê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 est appelé une clé. Une clé primaire dans une base de données relationnelle est une combinaison de colonnes dans une table qui identifient 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 de références.

Différence entre clé étrangère et clé primaire - Résumé de la comparaison
Différence entre clé étrangère et clé primaire - Résumé de la comparaison
Différence entre clé étrangère et clé primaire - Résumé de la comparaison
Différence entre clé étrangère et clé primaire - Résumé de la comparaison

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

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 la table de référence qui fait référence à un ensemble de colonnes dans une autre table, appelée la 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é qui peut ê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 entre 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 et cela deviendrait indispensable 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.

Différence entre clé étrangère et clé primaire
Différence entre clé étrangère et clé primaire
Différence entre clé étrangère et clé primaire
Différence entre clé étrangère et clé primaire

Figure 01: Mappage de clé étrangère

Dans la 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 elles peuvent référencer différentes tables.

Qu'est-ce que la clé primaire ?

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 valeurs NULL. La clé primaire peut être un attribut normal dans la table dont l'unicité est garantie, tel qu'un numéro de sécurité sociale, ou il peut s'agir d'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.

Différence clé entre la clé étrangère et la clé primaire
Différence clé entre la clé étrangère et la clé primaire
Différence clé entre la clé étrangère et la clé primaire
Différence clé entre la clé étrangère et la clé primaire

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 d'être composée d'une ou plusieurs colonnes, et chaque colonne incluse dans la clé primaire est implicitement définie comme étant NOT NULL. Mais certains systèmes de gestion de base de données nécessitent de rendre les colonnes de clé primaire explicitement NOT NULL.

Quelle est la différence entre la clé étrangère et la clé primaire ?

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.
NULL
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.
Duplication
Les tuples peuvent avoir une valeur en double pour un attribut de clé étrangère. Deux tuples dans une relation ne peuvent pas avoir de valeurs en double pour un attribut de clé primaire.

Résumé - Clé étrangère vs clé primaire

La différence entre clé étrangère et clé primaire est que la clé étrangère 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 qui peut être utilisé pour identifier de manière unique une ligne dans une table.

Conseillé: