© Yurich/Shutterstock.com

Lorsque vous utilisez des bases de données relationnelles avec des systèmes tels que MySQL, les clés sont une partie essentielle de vos opérations. De manière générale, les clés sont utilisées pour identifier les lignes d’une base de données et pour exprimer les relations entre les valeurs des données. Il existe de nombreux types de clés utilisées dans ces bases de données, mais les plus courantes et les plus essentielles sont les clés primaires et candidates. Découvrez ce que signifient ces termes et comment ils sont utilisés dans cet article.

Candidate Key Vs. Clé primaire : comparaison côte à côte

Clé candidateClé primaireSignificationUn ou plusieurs ensembles d’attributs sont utilisés pour identifier les enregistrements dans une table. Peut avoir une ou plusieurs clés candidates par tableSpecific choisies pour identifier de manière unique la table. Ne peut en avoir qu’une par tableNULL statusPeut avoir des valeurs NULLNe peut pas avoir de valeur NULLUniquenessUnique, mais plusieurs choix pour une clé candidateUnique, mais une seule clé primaire peut être choisie parmi les clés candidatesUsagePeut être utilisé comme clé primaire ou comme clé alternative pour d’autres colonnes dans la tableÉtablissez des relations entre les tables et maintenez l’unicité de chaque enregistrement

Dans cette base de données, Customer_id est la clé primaire de la table Customer.

©Joe Techapanupreeda/Shutterstock.com

Candidat Vs. Clé primaire : quelle est la différence ?

Les principales différences ont été résumées dans le tableau ci-dessus, mais examinons-les de plus près.

Signification

En termes simples , une clé candidate est un champ, ou une combinaison de champs, qui peut être utilisé pour identifier de manière unique chaque enregistrement dans la table. En tant que tel, vous pouvez avoir plusieurs clés candidates potentielles dans une table. Par exemple, considérons un tableau avec les colonnes”ID”,”Nom”,”Âge”,”Date de naissance”,”Poids”,”Taille”et”Adresse”. Dans ce cas, nous pourrions identifier de manière unique chaque enregistrement avec le champ”ID”ou potentiellement les champs”Nom”et”Date de naissance”, car ceux-ci seront probablement uniques.

D’autre part, il ne peut être qu’une seule clé primaire par table. En effet, il s’agit d’une clé spécifique choisie parmi les clés candidates pour représenter la table. En continuant avec l’exemple précédent, nous pouvons voir que”ID”est un bon choix pour une clé primaire, car elle sera unique pour chaque personne dans la table, alors que tous les autres champs pourraient potentiellement contenir des valeurs en double.

Statut NULL

C’est un autre domaine où les clés diffèrent. Les clés candidates peuvent potentiellement contenir des valeurs nulles, mais uniquement si elles satisfont aux critères d’une clé candidate-les critères d’unicité et de minimalité. Cela signifie que, pour que le champ soit une clé candidate potentielle, il doit être capable d’identifier de manière unique la table par des attributs minimaux. Par minimal, nous entendons que si nous supprimions un attribut de la clé, il perdrait son unicité. En tant que tel, il contient le nombre minimum d’attributs pour être un identifiant unique. Si nous regardons l’exemple précédent, nous pouvons prendre soit les champs « Nom » et « Date de naissance » comme clé candidate, ainsi que le champ « ID ». En effet, même si d’autres attributs sont supprimés, ceux-ci peuvent toujours être utilisés pour identifier de manière unique la table. En tant que tels, ces champs peuvent contenir des valeurs nulles en théorie.

Les clés primaires, cependant, ne peuvent pas contenir de valeurs nulles. En effet, si le champ contenait des valeurs nulles, il ne s’agirait pas de valeurs uniques. Par conséquent, la clé primaire ne réussirait pas à identifier de manière unique la table.

Unicité

Les deux types de clés sont uniques, mais il existe quelques différences dans leur unicité. Il peut y avoir plusieurs clés candidates potentielles, tant qu’elles peuvent chacune être utilisées pour identifier de manière unique une table, de cette manière, les clés candidates ne sont pas strictement uniques dans la mesure où il peut y en avoir plus d’une.

Dans En revanche, il ne peut y avoir qu’une seule clé primaire identifiée par table, soit une colonne, soit une combinaison. Par conséquent, la clé primaire est également unique et sera utilisée seule pour chaque table.

Utilisation

Les deux types de clés peuvent potentiellement être utilisés pour identifier de manière unique une table, mais leur utilisation ne varier. Les clés candidates peuvent être utilisées à d’autres fins de base de données. Celles-ci incluent :

L’indexation, afin d’accélérer les opérations de récupération et de recherche.L’application de contraintes, telles que la contrainte d’unicité. Cela signifie que deux lignes de la table ne peuvent pas avoir la même valeur pour les colonnes identifiées avec cette clé. Optimisation des requêtes, afin que les requêtes complexes puissent être rendues plus efficaces. Modélisation des données, telle que l’identification des attributs clés et l’optimisation des performances de la base de données.

Les clés primaires ont des utilisations courantes, telles que l’indexation, la modélisation des données et l’application de l’unicité, mais elles peuvent également être utilisées pour l’intégrité référentielle. En termes simples, cela signifie que la clé primaire peut être utilisée dans d’autres tables comme quelque chose appelé clé étrangère. Il s’agit d’une clé dans une autre table qui fait référence à la clé primaire, garantissant que les valeurs de cette colonne correspondent aux valeurs de la colonne de clé primaire. De cette façon, les clés primaires peuvent être utilisées pour maintenir la cohérence de la base de données.

La mise en page correcte, avec les clés primaires, est très importante dans la planification de la base de données.

©Wichy/Shutterstock.com

Candidate Key Vs. Clé primaire : récapitulation

Pour conclure, les clés candidates sont des clés primaires potentielles utilisées à des fins d’indexation, d’optimisation des requêtes, de modélisation des données et d’application de contraintes. Les clés primaires sont utilisées de la même manière, mais également pour l’intégrité référentielle et le maintien de l’unicité d’une table. Bien que vous puissiez avoir plusieurs clés candidates par table, vous ne pouvez avoir qu’une seule clé primaire. Vous pouvez également avoir des valeurs nulles dans les champs de clé candidate, mais pas dans les champs de clé primaire.

Vs clé candidate. Clé primaire : quand devez-vous les utiliser ? FAQ (Foire aux questions) 

Qu’est-ce qu’une clé candidate ?

Une clé candidate est une ou plusieurs colonnes d’un tableau qui peuvent identifier le tableau de manière unique Lignes. Ce sont des clés primaires potentielles, et il peut y en avoir une ou plusieurs par table.

À quoi servent les clés candidates ?

Elles sont utilisées de manière unique identifier les lignes, ainsi que pour l’indexation, l’optimisation des requêtes, la modélisation des données et l’application des contraintes.

Qu’est-ce qu’une clé primaire ?

Une clé primaire est une ou plusieurs colonnes dans une table qui identifie de manière unique les lignes et est choisie parmi les clés candidates. Vous ne pouvez en avoir qu’une par table.

À quoi servent les clés primaires ?

Elles sont utilisées pour identifier de manière unique une table et renforcer l’intégrité référentielle entre tables, ainsi qu’aux mêmes fins que les clés candidates.

Qu’est-ce qu’une clé étrangère ?

Une clé étrangère est une ou plusieurs colonnes dans un table séparée qui fait référence à la clé primaire de la première table. Cela permet d’appliquer l’intégrité référentielle et d’établir une relation entre les tables. Lorsque les valeurs de la clé primaire sont mises à jour, ces modifications sont reflétées dans la clé étrangère.

By Henry Taylor

Je travaille en tant que développeur back-end. Certains d'entre vous m'ont peut-être vu à la conférence des développeurs. Dernièrement, j'ai travaillé sur un projet open source.