logo

Différence entre la clé primaire et la clé unique

Les clés dans MySQL sont la colonne ou l'ensemble de colonnes utilisé pour construire une relation entre une ou plusieurs tables. Ils sont également utilisés pour accéder aux enregistrements de la table. Les deux clés garantissent l'unicité d'une colonne ou d'un ensemble de colonnes dans une table ou une relation. La principale différence entre eux est que la clé primaire identifie chaque enregistrement de la table et que la clé unique empêche les entrées en double dans une colonne, à l'exception d'une valeur NULL. . Dans cet article, nous allons comparer les différences essentielles entre les clés primaires et uniques en fonction de divers paramètres. Avant de faire une comparaison, nous aborderons brièvement ces clés.

Rajinikanth
Clé primaire vs clé unique

Qu’est-ce que la clé primaire ?

La clé primaire est un unique ou non nul clé qui identifie de manière unique chaque enregistrement de cette table ou relation. La colonne de clé primaire ne peut pas stocker de valeurs en double, ce qui signifie que les valeurs de la colonne de clé primaire sont toujours uniques. On l'appelle aussi un super clé minimale ; par conséquent, nous ne pouvons pas spécifier plus d’une clé primaire dans une relation. Une colonne de clé primaire d'une table peut être référencée par une colonne de clé étrangère d'une autre table.

Par exemple , nous avons une table nommée étudiants avec des attributs tels que Stud_ID, Roll_No, Name, Mobile et Email.

Clé primaire vs clé unique

Ici seulement le Roll_Non La colonne ne peut jamais contenir une valeur identique et NULL. Nous savons que chaque élève possède un numéro de matricule unique. Deux élèves ne peuvent donc jamais avoir le même numéro de matricule. Cette fonctionnalité permet d'identifier de manière unique chaque enregistrement de la base de données. Par conséquent, nous pouvons faire de l’attribut Roll_No une clé primaire.

Caractéristiques de la clé primaire

Voici les principales caractéristiques principales essentielles :

garniture javascript
  • La colonne de clé primaire ne peut pas contenir de valeurs en double.
  • La clé primaire implémente l'intégrité de l'entité de la table.
  • Une table ne peut pas avoir plus d'une colonne de clé primaire.
  • Nous pouvons créer la clé primaire à partir d'un ou plusieurs champs de table.
  • La colonne de clé primaire doit avoir des contraintes NOT NULL.

Qu'est-ce qu'une clé unique ?

Le clé unique est une seule colonne ou une combinaison de colonnes dans une table pour identifier de manière unique les enregistrements de base de données. Une clé unique empêche du stockage valeurs en double dans la colonne. Une table peut contenir plusieurs colonnes de clé unique, contrairement à une colonne de clé primaire. Cette clé est similaire à la clé primaire, sauf qu'une valeur NULL peut être stockée dans la colonne de clé unique. La clé unique est également appelée contraintes uniques et peut être référencé par la clé étrangère d'une autre table.

Par exemple , considérons la même table nommée étudiants avec des attributs tels que Stud_ID, Roll_No, Name, Mobile et Email.

Clé primaire vs clé unique

Ici Stud_ID peut être attribué comme une contrainte unique car chaque étudiant doit avoir un numéro d’identification unique. Si un étudiant change de collège, il n’aura alors aucune carte d’étudiant. Dans ce cas, l'entrée peut contenir un NUL value car une contrainte de clé unique permet de stocker NULL, mais il ne doit y en avoir qu'une.

Caractéristiques de la clé unique

Voici les principales caractéristiques uniques essentielles :

  • Nous pouvons construire la clé unique à partir d'un ou plusieurs champs de table.
  • Une table peut définir plusieurs colonnes clés uniques.
  • Par défaut, une clé unique se trouve dans des index uniques non clusterisés.
  • La colonne de contrainte unique peut stocker la valeur NULL, mais un seul NULL est autorisé par colonne.
  • La clé étrangère peut faire référence à la contrainte d'unicité pour préserver l'unicité d'une table.

Principales différences entre la clé primaire et la clé unique

Les points suivants expliquent les principales différences entre les clés primaires et candidates :

  • Une clé primaire peut constituer un ou plusieurs champs d'une table pour identifier de manière unique les enregistrements d'une table. D'un autre côté, une clé unique empêche deux lignes d'avoir des entrées en double dans une colonne.
  • Une table ne peut pas avoir plus d'une clé primaire dans une base de données relationnelle, alors qu'il peut y avoir plusieurs clés uniques par table.
  • Une colonne de clé primaire ne peut pas contenir de valeurs NULL, alors qu'une clé unique peut avoir des valeurs NULL, mais un seul NULL est autorisé dans une table.
  • Une clé primaire doit être unique, mais une clé unique ne peut pas nécessairement être la clé primaire.
  • La clé primaire par défaut est un index clusterisé où les données sont physiquement organisées dans l'index séquentiel. En revanche, la clé unique est un index unique non clusterisé.
  • La clé primaire implémente l'intégrité de l'entité, tandis que la clé unique applique des données uniques.

Tableau de comparaison des clés primaires et des clés uniques

Le tableau comparatif suivant explique rapidement leurs principales différences :

jeux d'images sur Android
Base de comparaison Clé primaire Clé unique
Basique La clé primaire est utilisée comme identifiant unique pour chaque enregistrement de la table. La clé unique est également un identifiant unique pour les enregistrements lorsque la clé primaire n'est pas présente dans la table.
NUL Nous ne pouvons pas stocker les valeurs NULL dans la colonne de clé primaire. Nous pouvons stocker la valeur NULL dans la colonne clé unique, mais un seul NULL est autorisé.
But Il renforce l’intégrité de l’entité. Il applique des données uniques.
Indice La clé primaire, par défaut, crée un index clusterisé. La clé unique, par défaut, crée un index non clusterisé.
Nombre de clé Chaque table ne prend en charge qu'une seule clé primaire. Une table peut avoir plusieurs clés uniques.
Modification de la valeur Nous ne pouvons pas modifier ou supprimer les valeurs de la clé primaire. Nous pouvons modifier les valeurs uniques des colonnes clés.
Les usages Il est utilisé pour identifier chaque enregistrement de la table. Cela empêche de stocker des entrées en double dans une colonne, à l'exception d'une valeur NULL.
Syntaxe Nous pouvons créer une colonne de clé primaire dans le tableau en utilisant la syntaxe ci-dessous :
CREATE TABLE Employee ( Id INT PRIMARY KEY, name VARCHAR(150), address VARCHAR(250) )
Nous pouvons créer une colonne clé unique dans le tableau en utilisant la syntaxe ci-dessous :
CREATE TABLE Person ( Id INT UNIQUE, name VARCHAR(150), address VARCHAR(250) )

Conclusion

Dans cet article, nous avons fait une comparaison entre les contraintes de clé primaire et de clé unique. Ici, nous avons conclu qu'une clé unique est utile lorsque nous voulons que les colonnes ne contiennent pas de valeurs en double. Et la clé primaire est utile lorsque nous ne voulons pas conserver la valeur NULL dans la table. Cela peut également être idéal lorsque nous avons une clé étrangère dans une autre table pour créer une relation entre les tables.