Recommandé, 2024

Choix De L'Éditeur

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

Les clés sont l'attribut ou un ensemble d'attributs utilisés pour accéder aux n-uplets d'une table ou pour créer une relation entre deux tables. Dans cet article, nous allons discuter des clés primaire et candidate et de leurs différences. Les clés primaire et candidate identifient de manière unique un tuple dans une relation ou une table. Mais le point le plus important qui les différencie est qu'il ne peut y avoir qu'une seule clé primaire dans une relation. Cependant, il peut y avoir plus d'une clé candidate dans une relation.

Il y a quelques autres différences entre la clé primaire et la clé candidate que je discuterai à l'aide du tableau de comparaison présenté ci-dessous.

Tableau de comparaison

Base de comparaisonClé primaireClé du candidat
De baseIl ne peut y avoir qu'une seule clé primaire dans une relation.Il peut y avoir plus d'une clé candidate dans une relation.
NULAucun attribut d'une clé primaire ne peut contenir une valeur NULL.L'attribut d'une clé candidate peut avoir une valeur NULL.
SpécifierIl est facultatif de spécifier une clé primaire pour toute relation.Il ne peut y avoir de relation sans clé candidate spécifiée.
FonctionnalitéLa clé primaire décrit l'attribut le plus important pour la relation.Les clés de candidat présentent les candidats pouvant prétendre à la clé primaire.
Vice versaUne clé primaire est une clé candidate.Mais il n'est pas obligatoire que chaque clé candidate puisse être une clé primaire.

Définition de clé primaire

La clé primaire est un attribut ou un ensemble d'attributs qui identifiera de manière unique chaque tuple dans une relation. Il ne peut y avoir qu'une seule clé primaire pour chaque relation. Il faut veiller à ce qu'une clé primaire ne contienne jamais une valeur NULL et qu'elle ait la valeur unique pour chaque tuple de la relation. Les valeurs de l'attribut / s de la clé primaire doivent être statiques, c'est-à-dire que la valeur de l'attribut ne devrait jamais ou rarement être modifiée.

Une des clés candidates est qualifiée pour devenir une clé primaire. Les règles qu'une clé candidate doit qualifier pour devenir principales sont que la valeur de la clé ne doit jamais être NULL et qu'elle doit être unique pour tous les n-uplets.

Si une relation contient un attribut qui est la clé primaire d'une autre relation, cet attribut est appelé clé étrangère .

Il est conseillé de déterminer la clé primaire d'une relation avant d'introduire d'autres attributs d'une relation car la clé primaire identifie chaque tuple de manière unique. Il est préférable de choisir un seul attribut ou un petit nombre d'attributs comme clé primaire, ce qui facilite la gestion des relations.

Voyons maintenant un exemple de clé primaire.

 Etudiant {ID, Prénom, Nom, Âge, Adresse} 

Ici, nous allons d'abord déterminer les clés du candidat. J'ai identifié deux clés candidates {ID} et {Prénom, Nom}, car elles identifieront de manière unique chaque élève dans la relation Étudiant. Maintenant, ici, je vais choisir ID comme clé primaire, car il peut arriver que deux étudiants aient le même prénom et le même nom, il est donc facile de retrouver un étudiant avec son ID .

Définition de la clé candidate

Une clé candidate est un attribut ou un ensemble d'attributs qui définit de manière unique un tuple dans une relation. Il y a plus d'une clé candidate dans une relation. Ces clés de candidat sont les candidats pouvant prétendre à devenir une clé primaire.

Bien que chaque clé candidate soit qualifiée pour devenir une clé primaire, vous ne pouvez en choisir qu'une seule. Les règles requises par une clé candidate pour devenir une clé primaire sont la valeur d'attribut de la clé qui ne peut jamais être NULL dans un domaine de la clé, elle doit être unique et statique .

Si toutes les clés candidates se qualifient pour la clé primaire, un administrateur de base de données expérimenté doit prendre la décision de déterminer la clé primaire. Il ne peut jamais y avoir de relation sans clé candidate.

Laissez-nous comprendre la clé candidate avec un exemple. Si nous ajoutons quelques attributs supplémentaires à la relation d'étudiant, j'ai discuté ci-dessus.

 Etudiant {ID, Prénom, Nom, Âge, Adresse, Date de naissance, Nom du département} 

Ici, je peux déterminer deux clés candidates qui sont {ID}, {Prénom, Nom, Nom, DOB} . Vous pouvez donc comprendre que les clés candidates sont celles qui identifient de manière unique un tuple dans une relation.

Différences entre les clés primaires et candidates

  1. Le point fondamental qui différencie la clé primaire de la clé candidate est qu'il ne peut y avoir qu'un seul primaire pour toute relation dans un schéma. Cependant, il peut exister plusieurs clés candidates pour une même relation.
  2. L'attribut situé sous la clé primaire ne peut jamais contenir une valeur NULL car la fonction principale de la clé primaire est d'identifier de manière unique un enregistrement en relation. Même une clé primaire peut être utilisée comme clé étrangère dans une autre relation. Par conséquent, elle ne doit pas être NULL pour que la relation de référence puisse trouver les n-uplets dans une relation référencée. La clé candidate peut être NULL sauf si la contrainte d'attribut spécifiée est définie sur null.
  3. Il est facultatif de spécifier une clé primaire, mais il ne peut y avoir de relation sans clés candidates.
  4. La clé primaire décrit l'attribut unique et le plus important d'une relation, tandis que la clé candidate fournit les candidats parmi lesquels une peut être sélectionnée comme clé primaire.
  5. Chaque clé primaire est une clé candidate, mais l'inverse n'est pas vrai.

Conclusion:

Il est facultatif pour une relation de spécifier une clé primaire. Par contre, si vous déclarez une relation, des clés candidates doivent être présentes dans cette relation pour pouvoir construire une bonne relation.

Top