Uma chave estrangeira é um campo, que aponta para a chave primária de outra tabela ou da mesma tabela. ... Esse tipo de atributo não permite exclusão, modificação ou inserção de dados em tabelas que estejam dependentes umas das outras("foreign key"), o que requer modificadores especiais, como cascade, por exemplo.
A criação de chaves estrangeiras em uma tabela se dá de duas formas: a Listagem 2 mostra a adição da chave estrangeira diretamente quando criamos a tabela, enquanto na Listagem 3 vemos a utilização do comando ALTER TABLE para inserir essa constraint em uma tabela já existente.
Para criar uma chave primária
Chaves primárias O valor armazenado em um atributo ou mais atributos de um registro deve ser único em relação a todos os registros da tabela. Este é o conceito de chave primária. Devemos portanto definir quais registros irão compor a chave primária, sendo que cada tabela possui uma única chave primária.
Relacionamentos entre Tabelas Neste item vou apresentar o conceito de relacionamento entre tabelas, este um conceito fundamental para o Modelo Relacional de Dados. Também falarei sobre os diferentes tipos de relacionamentos existentes.