Les bases de données dépendent de clés pour stocker, trier et comparer ou créer des relations entre les enregistrements. Si vous connaissez les bases de données depuis un certain temps, vous avez probablement entendu parler de différents types de clés: les clés primaires, les clés candidates et les clés étrangères.
Lorsque vous créez une nouvelle table de base de données, vous êtes invité à sélectionner une clé primaire qui identifiera de manière unique chaque enregistrement stocké dans cette table.
Pourquoi une clé primaire est importante
La sélection d'une clé primaire est l'une des décisions les plus importantes que vous prendrez lors de la conception d'une nouvelle base de données. La contrainte la plus importante est que vous devez vous assurer que la clé sélectionnée est unique. S'il est possible que deux enregistrements (passés, présents ou futurs) partagent la même valeur pour un attribut, c'est un mauvais choix pour une clé primaire.
Un autre aspect important d'une clé primaire est son utilisation par d'autres tables qui y sont liées dans une base de données relationnelle. Dans cet aspect, une clé primaire agit comme la cible d'un pointeur. En raison de ces interdépendances, une clé primaire doit exister lors de la création d'un enregistrement et elle ne peut jamais changer.
Mauvais choix pour les clés primaires
Ce que certaines personnes pourraient considérer comme une sélection évidente pour une clé primaire pourrait être un mauvais choix à la place. Voici quelques exemples:
- Les codes postaux ne font pas de bonnes clés primaires pour une table des villes. Si vous créez une simple table de recherche de villes, le code postal semble être une clé primaire logique. Cependant, après une enquête plus approfondie, vous pourriez réaliser que plus d'une ville partage un code postal. Par exemple, les villes du New Jersey de Neptune, Neptune City, Tinton Falls et Wall Township partagent toutes le code postal 07753.
- Les numéros de sécurité sociale ne font pas de bonnes clés primaires pour de nombreuses raisons. La plupart des gens considèrent leur SSN privé et ne veulent pas qu'il soit clairement visible pour les utilisateurs de la base de données. De plus, certaines personnes n'ont pas de SSN.
- Les adresses e-mail sont également un mauvais choix pour une clé primaire. Bien qu'ils soient uniques, ils peuvent changer avec le temps. De plus, tout le monde n'a pas d'adresse e-mail.
Ce qui fait une bonne clé primaire
Alors, comment choisir une clé primaire efficace ? Dans la plupart des cas, adressez-vous à votre système de base de données pour obtenir de l'aide.
Une bonne pratique dans la conception de bases de données consiste à utiliser une clé primaire générée en interne. Votre système de gestion de base de données peut normalement générer un identifiant unique qui n'a aucune signification en dehors du système de base de données.
Par exemple, vous pouvez utiliser le type de données NuméroAuto Microsoft Access pour créer un champ appelé RecordID. Le type de données NuméroAuto incrémente automatiquement le champ chaque fois que vous créez un enregistrement. Bien que le nombre lui-même n'ait pas de sens, il fournit un moyen fiable de référencer un enregistrement individuel dans les requêtes.
Une bonne clé primaire est généralement courte, utilise des chiffres et évite les caractères spéciaux ou un mélange de caractères majuscules et minuscules pour faciliter les recherches et les comparaisons rapides dans la base de données.