Différence entre Clé primaire et Clé unique
La clé primaire et la clé unique sont utilisées pour identifier un tuple de manière unique et appliquer l’unicité dans une colonne ou une combinaison de colonnes.
La différence clé entre la clé primaire et la clé unique est que la clé primaire n’accepte pas les valeurs NULL alors que les valeurs NULL sont autorisées dans les contraintes de clé uniques.
Table de comparaison
Clé primaire | Clé unique | |
---|---|---|
Définition | Il est utilisé pour servir d’identifiant unique pour chaque ligne d’une table. | Il détermine également de manière unique une ligne, qui n’est pas définie en tant que clé primaire. |
Valeur NULL acceptée | La clé primaire n’acceptera pas les valeurs NULL. | La clé unique acceptera une valeur NULL. |
Nombre de clés pouvant être définies dans la table | Une seule clé primaire | Peut avoir plusieurs clé unique |
Index | Crée un index cluster | Crée un index non cluster |
Définition de la clé primaire
L’objectif principal de la clé primaire est de fournir un moyen d’identifier chaque enregistrement dans la table.
La clé primaire fournit un moyen d’identifier chaque ligne, en utilisant les données dans le tuple. Une clé primaire peut être basée sur une ou plusieurs colonnes, telles que le prénom et le nom de famille; Pourtant, dans de nombreux cas, la clé primaire est un nombre généré automatiquement à partir d’une colonne d’identité.
Tous les systèmes de gestion de base de données relationnelle prennent en charge les clés primaires. En effet, pour qu’une table soit considérée comme une table relationnelle, et sous la première forme normale, elle doit avoir une clé primaire.
La clé primaire est appelée une contrainte PRIMARY KEY. Une clé primaire a les caractéristiques suivantes:
- Il ne peut y avoir qu’une seule clé primaire pour une table.
- La clé primaire consiste en une ou plusieurs colonnes.
- La clé primaire renforce l’intégrité de l’entité de la table.
- Toutes les colonnes définies doivent être définies comme NOT NULL.
- La clé primaire identifie de manière unique une ligne.
- Les clés primaires génèrent par défaut des index uniques CLUSTERED.
Comme vous pouvez le voir, la clé primaire est la clé principale d’une table. Son but principal est d’identifier chaque tuple.
Définition de clé unique
Similaire à une clé primaire, les contraintes de clé uniques identifient également un tuple unique dans une relation. Mais, il y a certaines différences entre eux. Une table peut avoir plusieurs clés uniques. Les contraintes de clé uniques ne peuvent accepter qu’une seule valeur NULL pour une colonne.
Différences clés entre clé primaire et clé unique
- Lorsqu’un attribut est déclaré comme clé primaire, il n’accepte pas les valeurs NULL. De l’autre côté, lorsqu’un attribut est déclaré Unique, il peut accepter une valeur NULL.
- Une table peut avoir uniquement une clé primaire alors qu’il peut y avoir plusieurs contraintes uniques sur une table.
- Un index cluster créé automatiquement lorsqu’une clé primaire est définie. En revanche, la clé Unique génère l’index non-cluster.
Conclusion
La clé primaire et la clé unique servent à la fois d’identificateur unique pour les lignes d’une table et de valeurs uniques dans une colonne ou un groupe de colonnes. Ces contraintes de clé sont significativement différenciées où chaque table peut avoir au plus une clé primaire tandis qu’une table peut avoir plusieurs clés uniques qui ne sont pas primaires.