Dans le contexte des
bases de données relationnelles , une
clé alternative
(ou clé secondaire) est toute
clé candidate
qui n'est pas sélectionnée pour être la
clé primaire (PK) .
Par exemple, une
base de
données relationnelle avec une table
"employee" pourrait avoir des attributs tels que "employee_id",
"national_insurance_number", etc. Dans ce cas, "employee_id"
et "national_insurance_number" servent d'identifiants uniques pour un
employé donné
, et pourraient donc sans doute être utilisés pour une clé primaire. Par conséquent, les
deux sont appelées « clés candidates ». Si, par exemple,
"national_insurance_number" a été choisi comme clé primaire, "employee_id"
deviendrait la clé alternative.
Dans un RDMS pratique, il est normal de déclarer toutes les clés candidates / clés
alternatives non utilisées comme clé primaire comme « uniques », pour éviter les
erreurs où une clé alternative se retrouve avec des valeurs en double en raison de fautes de frappe
(cela ne se produirait pas pour le candidat clé choisie comme
clé primaire
, le RDMS la détecterait automatiquement dans ce cas). Dans l'
exemple ci-dessus, si "national_insurance_number" était choisi comme
clé primaire
, "employee_id" serait déclaré unique, et vice versa. Dans certaines
conceptions pratiques,
un concepteur peut utiliser une
clé de substitution
au lieu d'une clé candidate naturelle - ici aussi, la
clé alternative inutilisée
doit être déclarée comme « unique ».