Une clé primaire identifie de manière unique chaque enregistrement d'une table. Deux lignes ne peuvent pas partager la même valeur de clé primaire. La clé ne peut pas être nulle. Elle doit être unique et stable. Dans une table de clients, la clé primaire peut être un identifiant client. Dans une table de commandes, il peut s'agir d'un numéro de commande. La clé primaire est le point d'ancrage de l'enregistrement. Les autres tables y font référence via des clés étrangères. Sans clé primaire, il est difficile d'identifier, de mettre à jour ou de supprimer des enregistrements de manière fiable.
Il existe deux types de clés primaires. Les clés naturelles sont extraites des données elles-mêmes : un numéro de sécurité sociale, une adresse e-mail ou une référence produit. Elles sont significatives, mais peuvent changer. Les particuliers changent d’adresse e-mail et les entreprises modifient leurs codes produits. Les clés de substitution, quant à elles, sont générées par le système. Il s’agit d’entiers auto-incrémentés ou d’UUID. Elles n’ont aucune signification en dehors de la base de données et ne changent jamais. Les clés de substitution sont généralement préférées, car la stabilité prime sur la signification. Une clé naturelle qui change entraîne des mises à jour dans toutes les tables qui la référencent. Une clé de substitution reste inchangée. Certaines tables utilisent des clés primaires composites, constituées de deux colonnes ou plus. Un article de commande peut être identifié par la combinaison de son identifiant et de son numéro de ligne. Les clés composites fonctionnent, mais complexifient les jointures et les références de clés étrangères. Une clé de substitution unique est plus simple.
propriétés de clé primaire
- Unique — aucun doublon
- Non nul — a toujours une valeur
- Stable — ne change pas avec le temps
- Simple ou composite — une colonne ou plusieurs
- Indexé — automatiquement pour des recherches rapides
Une clé primaire est une identité. Elle permet d'identifier un enregistrement et aucun autre. Sans elle, les données n'ont aucun point d'ancrage.
Comments
No comments yet. Be the first to share a thought.
Leave a comment