Entre clé étrangère et clé primaire

Anonim

Clé étrangère vs Clé primaire

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. Clé étrangère dans une base de données relationnelle est un champ d'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érence.

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 NON NULL. Ainsi, une colonne définie comme clé primaire ne peut pas contenir de valeurs NULL. La clé primaire peut être un attribut normal dans la table qui est garanti comme unique, par exemple 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, tel qu'un identificateur globalement unique (GUID) dans Microsoft SQL Server. Les clés primaires sont définies par la contrainte PRIMARY KEY dans ANSI SQL Standard. La clé primaire peut également être définie lors de la création de la table. SQL permet à la clé primaire d'être constituée d'une ou plusieurs colonnes et chaque colonne incluse dans la clé primaire est implicitement définie comme NOT NULL. Mais certains systèmes de gestion de base de données nécessitent explicitement que les colonnes de clé primaire ne soient pas NULL.

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 (clé pouvant être utilisée comme clé primaire) dans la table référencée. Les clés étrangères sont utilisées pour 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 se réfère. Ensuite, la référence fournie par la clé étrangère peut être utilisée pour lier des informations dans plusieurs tables et ceci deviendrait essentiel avec des bases de données normalisées. Plusieurs lignes dans la table de référence peuvent faire référence à une seule ligne dans la table référencée. Dans la norme ANSI SQL, les clés étrangères sont définies à l'aide de la contrainte FOREIGN KEY. En outre, les clés étrangères peuvent être définies 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 des tables différentes.

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

La différence principale entre la clé primaire et la clé étrangère est 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 alors 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.La clé étrangère fournit principalement une méthode pour lier des informations dans plusieurs tables. Une autre différence est qu'une table peut avoir une seule clé primaire, mais elle peut avoir plusieurs clés étrangères qui peuvent référencer des tables différentes.