Quelle est la différence entre une clé candidate et une clé primaire?

Est-ce qu'une clé primaire est le candidat sélectionné clé choisi, pour un tableau?

38
demandé sur Celeritas 2012-10-10 10:36:31

11 réponses

Candidate Key - une clé Candidate peut être n'importe quelle colonne ou une combinaison de colonnes qui peut qualifiez comme clé unique dans la base de données. Il peut y avoir plusieurs clés de candidat dans une table. Chaque clé Candidate peut être qualifiée de clé primaire.

Primary Key – Une Clé Primaire est une colonne ou une combinaison de colonnes identifier de façon unique un enregistrement. Une seule clé Candidate peut être la clé primaire.

en savoir Plus sur ce lien exemple

76
répondu John Woo 2012-10-10 07:05:41

la réponse de John Woo est correcte, dans la mesure où elle va. Voici quelques points supplémentaires.

une clé primaire est toujours l'une des clés candidates. Assez souvent, il est le seul candidat.

une table sans les touches candidate ne représente pas une relation. Si vous utilisez le modèle relationnel pour vous aider à construire une bonne base de données, alors chaque table que vous concevez aura au moins une clé candidate.

le modèle relationnel serait complet sans le concept de clé primaire. Ce n'était pas dans la présentation originale du modèle relationnel. En pratique, l'utilisation de références à clé étrangère sans clé primaire déclarée mène à un désordre. Ça pourrait être un gâchis logiquement correct, mais c'est quand même un gâchis. Déclarer une clé primaire permet au SGBD de vous aider à appliquer les règles relatives aux données. La plupart du temps, avoir le SGBD vous aider à appliquer les règles de données est une bonne chose, et en vaut la peine.

Certains concepteurs de bases de données et certains utilisateurs ont certains la confusion mentale de savoir si la clé primaire identifie une ligne (enregistrement) dans une table ou une instance d'une entité dans le sujet que le tableau représente. Dans un monde idéal, il est censé faire à la fois, et il devrait y avoir une correspondance entre les lignes dans une table d'entité et les instances de l'entité correspondante.

Dans le monde réel, les choses se faire défoncer. Quelqu'un entre le même nouvel employé deux fois, et l'employé finit avec deux pièces d'identité. Quelqu'un se embauché, mais la saisie des données glisse entre les mailles du filet dans un processus manuel, et l'employé n'obtient pas d'identification, jusqu'à ce que l'omission soit corrigée. Une base de données qui ne s'effondre pas la première fois que les choses se gâtent est plus robuste que celle qui le fait.

19
répondu Walter Mitty 2012-10-21 11:39:37

touche primaire - > toute colonne ou ensemble de colonnes qui peut identifier de façon unique un enregistrement dans le tableau est une clé primaire. (il peut y avoir une seule clé Primaire dans le tableau)

clé Candidate - > toute colonne ou ensemble de colonnes qui sont candidat pour devenir la clé primaire sont de clé Candidate. (il peut y avoir un ou plusieurs candidats clé(s) dans le tableau, s'il n'y en a qu'un la clé candidate, elle peut être choisie comme clé primaire)

10
répondu Habib 2012-10-11 04:24:15

Il n'y a pas de différence. Une clé primaire est une clé candidate. Par convention, une clé candidate dans une relation est généralement choisie pour être la "primaire", mais le choix est essentiellement arbitraire et une question de commodité pour les utilisateurs/concepteurs/développeurs de bases de données. Cela ne fait pas d'une clé" primaire " une clé fondamentalement différente de toute autre clé candidate.

8
répondu sqlvogel 2012-10-10 08:33:47

une clé primaire est une sorte d'index spécial en ce que:

there can be only one;
it cannot be nullable
it must be unique.

Les clés des candidats sont sélectionnées à partir de l'ensemble des super-clés, la seule chose que nous prenons soin lors de la sélection de la clé des candidats est: il ne doit pas avoir d'attribut redondant.

exemple d'une table D'employé: Employé ( ID de l'employé, FullName, Le SSN, DeptID )

  1. clé Candidate: sont des colonnes individuelles dans un tableau qui se qualifie pour le caractère unique de toutes les lignes. Ici dans la table des employés EmployeeID & SSN sont des Candidats clés.

  2. touche primaire: ce sont les colonnes que vous choisissez pour maintenir l'unicité dans un tableau. Ici, dans le tableau des employés, vous pouvez choisir les colonnes EmployeeID ou SSN, EmployeeID est le choix préférable, car SSN est une valeur sûre.

  3. touche alternative: colonne Candidate autre la colonne principale, comme si EmployeeID est PK alors SSN serait la touche alternative.

  4. Super Key: Si vous ajoutez un autre colonne / attribut à une clé primaire puis elle devient une super-clé, comme EmployeeID + FullName est une Super-clé.

  5. clé Composite: si une table n'a pas une seule colonne qui se qualifie pour une clé Candidate, alors vous devez sélectionner 2 ou plusieurs colonnes pour rendre une rangée unique. Comme s'il n'y avait pas de colonnes EmployeeID ou SSN, alors vous pouvez faire FullName + DateOfBirth comme clé primaire Composite. Mais il y a quand même une faible chance de dupliquer row.

4
répondu Renuka Kulkarni 2018-08-31 07:26:08

une table peut avoir autant de colonnes qui peuvent identifier une rangée de façon unique. Cette colonne sont appelés candidat touchesclé primaire devrait être l'un d'eux parce qu'une clé primaire est suffisante pour une table. Donc la sélection d' clé primaire est important entre de nombreux candidats touche. C'est la principale différence.

2
répondu Mudassir 2014-01-10 04:54:47

pensez à une table de véhicules avec une clé primaire entière.

Le numéro d'enregistrement serait une clé candidate.

dans le monde réel, les numéros d'enregistrement sont sujets à changement, donc cela dépend un peu des circonstances ce qui pourrait être considéré comme une clé candidate.

1
répondu Hugh Jones 2012-10-10 08:01:30

une clé primaire est une colonne (ou des colonnes) dans une table qui identifie de façon unique les lignes de cette table.

CUSTOMERS


CustomerNo  FirstName   LastName
1   Sally   Thompson
2   Sally   Henderson
3   Harry   Henderson
4   Sandra  Wellington

Par exemple, dans le tableau ci-dessus, Numclient est la clé primaire.

les valeurs placées dans les colonnes de clés primaires doivent être uniques pour chaque ligne: aucun doublon ne peut être toléré. En outre, les nulls ne sont pas autorisés dans les colonnes de clés primaires.

Donc, après avoir dit qu'il est possible d'utiliser une ou plusieurs colonnes de la clé primaire, comment décidez-vous les colonnes (et combien) choisir?

Il y a des moments où il est conseillé OU essentiel d'utiliser plusieurs colonnes. Cependant, si vous ne pouvez pas voir une raison immédiate d'utiliser plusieurs colonnes, alors utilisez une. Ce n'est pas une règle absolue, c'est simplement un conseil. Toutefois, les clés primaires constituées de colonnes simples sont généralement plus faciles à entretenir et plus rapides à utiliser. Cela signifie que si vous interrogez la base de données, vous obtiendrez généralement la réponse plus rapidement si les tables ont une colonne simple les clés primaires.

question suivante-quelle colonne choisir? La façon la plus facile de choisir une colonne comme clé primaire (et une méthode qui est raisonnablement couramment employée) est d'obtenir la base de données elle-même pour attribuer automatiquement un nombre unique à chaque ligne.

dans une table d'employés, clairement n'importe quelle colonne comme prénom est un mauvais choix puisque vous ne pouvez pas contrôler les prénoms de l'employé. Souvent il n'y a qu'un seul choix pour la clé primaire, comme dans le cas ci-dessus. Toutefois, si il y en a plus d'un, ceux - ci peuvent être décrits comme des "clés de candidat" - le nom indique qu'ils sont des candidats pour le travail responsable de la clé principale.

0
répondu Abhimanyu Garg 2014-02-23 08:57:07

si superkey est un grand ensemble que la clé candidate est un plus petit ensemble à l'intérieur du grand ensemble et de la clé primaire n'importe quel élément(un à la fois ou pour une table) dans l'ensemble de la clé candidate.

0
répondu Vimal 2015-11-30 19:55:42

vous devez d'Abord savoir ce qu'est un déterminant? le déterminant est un attribut utilisé pour déterminer un autre attribut dans le même tableau. DONC le déterminant doit être une clé candidate. Et vous pouvez avoir plus d'un déterminant. Mais clé primaire est utilisé pour déterminer l'ensemble de l'enregistrement et vous ne pouvez avoir qu'une seule clé primaire. La clé primaire et la clé candidate peuvent toutes deux comporter un ou plusieurs attributs

0
répondu Mario R.Ayoub 2017-02-08 11:18:29

Touche Primaire

la clé primaire d'un tableau est une colonne (ou une combinaison de colonnes) utilisée comme identification unique des lignes dans ce tableau. En d'autres termes, deux lignes dans un tableau ne peut jamais avoir la même valeur de clé primaire, et pour chaque ligne de la table, la clé primaire doit toujours avoir une valeur.Ce dernier signifie que les valeurs nulles ne sont pas autorisées dans une clé primaire.

Nous rencontrons primaire les touches partout. Par exemple, le tableau dans lequel une banque stocke des données sur les comptes bancaires a le numéro de compte de banque de colonne comme clé primaire. De même, un tableau dans lequel différentes voitures sont immatriculées utilise la plaque d'immatriculation comme clé primaire

enter image description here


La Clé Du Candidat

certains tableaux contiennent plus d'une colonne (ou combinaison de colonnes) qui peut agir comme une clé primaire. Ces colonnes possèdent toutes la propriété d'unicité d'une clé primaire. Ici aussi, les valeurs nulles ne sont pas autorisées. Ces colonnes sont appelés candidat clés. Cependant, une seule est désignée comme clé principale. Par conséquent, une table a toujours au moins une clé candidate.

si nous supposons que les numéros de passeport sont également inclus dans une table de joueurs d'un club, cette colonne sera utilisée comme la clé de candidat parce que les numéros de passeport sont uniques. Deux joueurs ne peuvent jamais avoir le même numéro de passeport. Cette colonne pourrait également être désignée comme la clé principale.


Touche Alternative

Une clé candidate qui n'est pas la clé primaire d'une table est appelée d'une autre clé. Zéro d'autres touches peuvent être définis pour une table spécifique. Le terme clé de candidat est un terme général pour toutes les clés primaires et alternatives.


étrangers Clé

Une clé étrangère est une colonne (ou une combinaison de colonnes) dans un tableau dans lequel la population est un sous-ensemble de la population de la clé primaire d'une table (ce qui n'a pas à une autre table). Les clés étrangères sont parfois appelés référentiels clés.

0
répondu gadolf 2018-01-31 17:07:20