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

Auteur: Laura McKinney
Date De Création: 1 Avril 2021
Date De Mise À Jour: 3 Juillet 2024
Anonim
Différence entre la clé primaire et la clé candidate - La Technologie
Différence entre la clé primaire et la clé candidate - La Technologie

Contenu


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’un seul clé primaire dans une relation. Cependant, il peut y avoir plus d'un 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.

  1. Tableau de comparaison
  2. Définition
  3. Différences Clés
  4. Conclusion

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

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 que une clé primaire pour chaque relation. Il faut veiller à ce qu'une clé primaire jamais contenir un NUL valeur, et il doit avoir le unique valeur pour chaque tuple dans la relation. Les valeurs de l’attribut / s de la clé primaire doivent être statiquec'est-à-dire que la valeur de l'attribut ne devrait jamais ou rarement être modifiée.

Un de Clés du candidat se qualifie pour devenir une clé primaire. le règles qu'une clé candidate doit être qualifiée pour devenir principale sont que la valeur de la clé ne doit jamais être NUL et ça doit être unique pour tous les tuples.


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 compris deux clés du candidat {ID} et {Prénom nom de famille} car ils identifieront de manière unique chaque étudiant dans la relation d’étudiant. Maintenant, ici je vais choisir ID comme clé principale, car il peut arriver que deux étudiants aient le même prénom et le même nom; il sera donc facile de retrouver un élève avec ses 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'un 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 dont une clé candidate a besoin pour devenir une clé primaire sont la valeur d'attribut de la clé ne peut jamais être NUL dans n'importe quel domaine de la clé, il doit être unique et statique.

Si toutes les clés candidates se qualifient pour la clé primaire, une personne expérimentée DBA 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.

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

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

  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 sous la clé primaire ne peut jamais contenir une valeur NULL car la fonction principale de la clé primaire consiste à 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.