A principal diferença entre a chave estrangeira e a chave primária é que a chave estrangeira é uma coluna ou um conjunto de colunas que se referem a uma chave primária ou uma chave candidata de outra tabela enquanto a chave primária é uma coluna ou um conjunto de colunas que pode ser usado para identificar exclusivamente uma linha em uma tabela.
Uma coluna ou conjunto de colunas que podem ser usados para identificar ou acessar uma linha ou conjunto de linhas em um banco de dados é chamada de chave. Uma chave primária em um banco de dados relacional é uma combinação de colunas em uma tabela que identifica exclusivamente uma linha da tabela. A chave estrangeira em um banco de dados relacional é um campo em uma tabela que corresponde à chave primária de outra tabela. A chave estrangeira é usada para tabelas de referência cruzada.