La differenza fondamentale tra chiave esterna e chiave primaria è quella chiave esterna è una colonna o un insieme di colonne che si riferiscono a una chiave primaria o una chiave candidata di un'altra tabella mentre la chiave primaria è una colonna o un insieme di colonne che possono essere utilizzate per identificare in modo univoco una riga in una tabella.
Una colonna o un insieme di colonne che possono essere utilizzati per identificare o accedere a una riga o un insieme di righe in un database è chiamato chiave. Una chiave primaria in un database relazionale è una combinazione di colonne in una tabella che identificano in modo univoco una riga della tabella. La chiave esterna in un database relazionale è un campo in una tabella che corrisponde alla chiave primaria di un'altra tabella. La chiave esterna viene utilizzata per incrociare le tabelle.