Le chiavi esterne sono una funzionalità di integrità dei dati dei database relazionali (e SQL). Una chiave esterna è un insieme di attributi in una tabella relazionale soggetta a un vincolo di integrità referenziale. Il vincolo di integrità referenziale impone che i valori degli attributi della chiave esterna in una tabella, A, debbano corrispondere con i valori corrispondenti in una determinata tabella B (che a volte può essere la stessa tabella di A).