Clé primaire

Définition - Que signifie clé primaire?

Une clé primaire est une colonne de table de base de données relationnelle spéciale (ou une combinaison de colonnes) désignée pour identifier de manière unique chaque enregistrement de table.

Une clé primaire est utilisée comme identifiant unique pour analyser rapidement les données dans la table. Une table ne peut pas avoir plus d'une clé primaire.

Les principales caractéristiques d'une clé primaire sont:

  • Il doit contenir une valeur unique pour chaque ligne de données.
  • Il ne peut pas contenir de valeurs nulles.
  • Chaque ligne doit avoir une valeur de clé primaire.

Une clé primaire peut utiliser un ou plusieurs champs déjà présents dans le modèle de données sous-jacent, ou un champ supplémentaire spécifique peut être créé pour être la clé primaire.

Definir Tech explique la clé primaire

Le concept de clé primaire est essentiel à une base de données relationnelle efficace. Sans la clé primaire et les concepts de clé étrangère étroitement liés, les bases de données relationnelles ne fonctionneraient pas.

En fait, comme une table peut facilement contenir des milliers d'enregistrements (y compris des doublons), une clé primaire est nécessaire pour garantir qu'un enregistrement de table peut toujours être identifié de manière unique.

Toutes les clés provenant d'observables et d'attributs du monde réel sont appelées clés primaires naturelles, par opposition aux clés primaires de substitution qui sont, à la place, attribuées arbitrairement à chaque enregistrement.

Presque tous les individus traitent fréquemment mais sans le savoir des clés primaires naturelles dans la vie quotidienne.

Par exemple, les étudiants reçoivent régulièrement des numéros d'identification uniques (ID), et tous les citoyens américains ont des numéros de sécurité sociale attribués par le gouvernement et identifiables de manière unique. Les adresses ou numéros de permis de conduire sont des exemples de clés primaires utilisées pour identifier de manière unique (respectivement) des emplacements ou des voitures.

Comme autre exemple, une base de données doit contenir toutes les données stockées par une banque commerciale. Deux des tables de la base de données incluent le CUSTOMER_MASTER, qui stocke les données client de base et statiques (nom, date de naissance, adresse, numéro de sécurité sociale, etc.) et le ACCOUNTS_MASTER, qui stocke diverses données de compte bancaire (date de création du compte, type de compte, limites de retrait ou informations de compte correspondantes, etc.).

Pour identifier de manière unique les clients, une colonne ou une combinaison de colonnes est sélectionnée pour garantir que deux clients n'ont jamais la même valeur unique. Ainsi, certaines colonnes sont immédiatement supprimées, par exemple le nom et la date de naissance.

Un bon candidat clé primaire est la colonne qui est désignée pour contenir les numéros de sécurité sociale. Cependant, certains titulaires de compte peuvent ne pas avoir de numéros de sécurité sociale, la candidature de cette colonne est donc éliminée.

L'option logique suivante consiste à utiliser une combinaison de colonnes, comme l'ajout du nom de famille à la date de naissance à l'adresse e-mail, ce qui entraîne une clé primaire longue et encombrante.

La meilleure option consiste à créer une clé primaire distincte dans une nouvelle colonne nommée CUSTOMER_ID. Ensuite, la base de données génère automatiquement un numéro unique à chaque fois qu'un client est ajouté, garantissant une identification unique.

Lors de la création de cette clé, la colonne est désignée comme clé primaire dans le script SQL qui crée la table et toutes les valeurs nulles sont automatiquement rejetées.

Le numéro de compte associé à chaque CUSTOMER_ID permet le traitement sécurisé des requêtes des clients et des temps de recherche rapides (comme pour toute table indexée).

Par exemple, un client peut être invité à fournir son nom de famille lors d'une demande bancaire. Une requête commune sur le nom de famille (comme Smith) est susceptible de renvoyer plusieurs résultats.

Lors de l'interrogation de données, l'utilisation de la fonction d'unicité de clé primaire garantit un résultat.