Entre clé primaire et clé unique
Clé primaire ou clé unique
Colonne ou ensemble de colonnes pouvant être utilisée pour identifier ou accéder à une ligne ou à un ensemble de lignes dans une base de données est appelé une clé. Une clé unique est une clé qui peut identifier de manière unique une ligne dans une table dans le contexte de bases de données relationnelles. Une clé unique est composée d'une seule colonne ou d'un ensemble de colonnes. Une clé primaire est également une combinaison de colonnes dans une table identifiant de manière unique une ligne. Mais il est considéré comme un cas particulier de la clé unique.
Qu'est-ce qu'une clé unique?
Comme mentionné précédemment, la clé unique est une seule colonne ou un ensemble de colonnes qui peuvent identifier de manière unique une ligne dans une table. Ainsi, une clé unique est contrainte de telle sorte que deux valeurs ne soient pas égales. Une propriété importante est que les clés uniques n'imposent pas la contrainte NOT NULL. Comme NULL représente l'absence d'une valeur, si deux lignes ont NULL dans une colonne, cela ne signifie pas que les valeurs sont égales. La colonne définie comme une clé unique n'autorise qu'une seule valeur NULL dans cette colonne. Ensuite, cela peut être utilisé pour identifier cette ligne particulière de façon unique. Par exemple, dans une table contenant des informations sur l'étudiant, l'ID d'étudiant peut être défini comme une clé unique. Puisque deux étudiants ne peuvent pas avoir le même ID, il identifie uniquement un seul étudiant. Ainsi, la colonne ID d'étudiant satisfait toutes les propriétés d'une clé unique. Selon la conception d'une base de données, une table peut avoir plus d'une clé unique.
Qu'est-ce qu'une clé primaire?
La clé primaire est également 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.
Différence entre clé primaire et clé uniqueMême si la clé primaire et la clé unique sont toutes deux une ou plusieurs colonnes pouvant identifier de façon unique une ligne dans une table, elles présentent des différences importantes. Plus important encore, une table peut avoir une seule clé primaire alors qu'elle peut avoir plus d'une clé unique.La clé primaire peut être considérée comme un cas particulier de la clé unique. Une autre différence est que les clés primaires ont une contrainte NON NULL implicite alors que la clé unique n'a pas cette contrainte. Par conséquent, les colonnes de clé uniques peuvent contenir ou non des valeurs NULL, mais les colonnes de clé primaire ne peuvent pas contenir de valeurs NULL.