Dans le domaine des bases de données, une clé artificielle (en opposition à une clé naturelle), aussi parfois appelée clé de remplacement (de l'anglais surrogate key) désigne un ensemble de données adjointes aux données d'une table pour les indexer.

La génération de la clé artificielle est effectuée par le concepteur de la table. Toute clé indexant chaque ligne de manière unique est valable. Parmi les méthodes de génération courantes de clé artificielle nous pouvons citer les clés incrémentales (les lignes sont numérotées au fur et à mesure de leur introduction dans la table).

Les clés artificielles sont les seules clés possibles quand :

  • il n'existe pas de clé candidate dans la table initiale (il existe des lignes doublons) ;

D'autres raisons courantes pour adjoindre une clé artificielle à une table sont :

  • il existe un risque significatif que des doublons de lignes existantes soient introduits ultérieurement dans la table ;
  • les clés candidates sont peu utilisables (par exemple elles sont trop longues, ce qui nuit aux performances d'interrogation) ;
  • il existe une instabilité trop importante sur les données faisant partie des clés candidates entraînant des modifications trop fréquentes (correction d'erreurs de saisie, changement de référentiel…).

Pour être considérée comme une clé artificielle, le mode de génération de la clé doit être indépendant ou partiellement indépendant des données indexées. Une clé générée par une fonction déterministe à partir de données de l'enregistrement (en général pour en réduire la taille) est appelée une clé hachée (en référence aux fonctions de hachage).

Voir aussi modifier