Chave estrangeira
Este artigo não cita fontes confiáveis. (Agosto de 2016) |
No contexto dos banco de dados, o conceito de chave estrangeira ou chave externa se refere ao tipo de relacionamento entre distintas tabelas de dados do banco de dados.
Uma chave estrangeira é chamada quando há o relacionamento entre duas tabelas.
Sempre em chave estrangeira vai haver relacionamentos entre tabelas, por exemplo, se uma tabela que tem uma chave primária de outra tabela.
Chave externas ou estrangeiras (Foreign Key - FK)
editarUma chave estrangeira é um campo, que aponta para a chave primária de outra tabela ou da mesma tabela. Ou seja, passa a existir uma relação entre duplas de duas tabelas ou de uma única tabela. A finalidade da chave estrangeira é garantir a integridade dos dados referenciais, pois apenas serão permitidos valores que supostamente vão aparecer na base de dados.
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. Isso também exige uma maior atenção do administrador da base de dados, quanto à própria manipulação dos dados.
Definindo chaves estrangeiras
editarAs chaves estrangeiras são definidas no padrão ISO do SQL, através de uma restrição FOREIGN KEY. A sintaxe para adicionar uma tal restrição a uma tabela existente é definido no SQL: 2003, como mostrado abaixo. Omitindo a lista de colunas na cláusula de referências implica que a chave estrangeira deve referenciar a chave primária da tabela referenciada.
ALTER TABLE <tabela>
ADD [ CONSTRAINT <restrição> ]
FOREIGN KEY ( <coluna> {, <coluna>}... )
REFERENCES <tabela> [ ( <coluna> {, <ccoluna>}... ) ]
[ ON UPDATE <ação> ]
[ ON DELETE <ação> ]