Les clés de substitution (généralement des entiers) ont la valeur ajoutée de rendre vos relations de table plus rapides, et plus économiques en termes de stockage et de vitesse de mise à jour (encore mieux, les clés étrangères n'ont pas besoin d'être mises à jour lors de l'utilisation de clés de substitution, contrairement aux champs de clé métier, qui changent de temps en temps).
La clé primaire d'une table doit être utilisée pour identifier de manière unique la ligne, principalement à des fins de jointure. Pensez à une table de personnes: les noms peuvent changer et ils ne sont pas garantis uniques.
Pensez aux entreprises: vous êtes une entreprise Merkin heureuse qui fait affaire avec d'autres entreprises à Merkia. Vous êtes assez intelligent pour ne pas utiliser le nom de l'entreprise comme clé primaire, vous utilisez donc l'ID d'entreprise unique du gouvernement de Merkia dans son intégralité de 10 caractères alphanumériques. Merkia modifie ensuite les identifiants de l'entreprise car ils pensaient que ce serait une bonne idée. C'est bon, vous utilisez la fonctionnalité de mises à jour en cascade de votre moteur de base de données, pour un changement qui ne devrait pas vous impliquer en premier lieu. Plus tard, votre entreprise se développe et maintenant vous travaillez avec une entreprise à Freedonia. L'identifiant de la société franconienne comprend jusqu'à 16 caractères. Vous devez agrandir la clé primaire de l'ID de société (également les champs de clé étrangère dans les commandes, les problèmes, les transferts d'argent, etc.), en ajoutant un champ Pays dans la clé primaire (également dans les clés étrangères). Aie! Guerre civile à Freedonia, c'est s divisé en trois pays. Le nom du pays de votre associé doit être remplacé par le nouveau; mises à jour en cascade à la rescousse. BTW, quelle est votre clé primaire? (Pays, CompanyID) ou (CompanyID, Country)? Ce dernier facilite les jointures, le premier évite un autre index (ou peut-être plusieurs, si vous voulez que vos commandes soient également regroupées par pays).
Tout cela n'est pas une preuve, mais une indication qu'une clé de substitution pour identifier de manière unique une ligne pour toutes les utilisations, y compris les opérations de jointure, est préférable à une clé métier.