Les clés étrangères sont une fonctionnalité d'intégrité des données des bases de données relationnelles (et SQL). Une clé étrangère est un ensemble d'attributs dans une table relationnelle soumise à une contrainte d'intégrité référentielle. La contrainte d'intégrité référentielle exige que les valeurs des attributs de clé étrangère dans une table, A, doivent correspondre aux valeurs correspondantes dans une table B spécifiée (qui peut parfois être la même table que A).