Você está na página 1de 2

Chave estrangeira

Origem: Wikipédia, a enciclopédia livre.


Esta página ou secção não cita fontes confiáveis e independentes, o que compromete sua credibilidade (desde agosto de 2016). Por
favor, adicione referências e insira-as corretamente no texto ou no rodapé. Conteúdo sem fontes poderá ser removido.
—Encontre fontes: Google (notícias, livros e acadêmico)
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)[editar | editar código-fonte]
Uma 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[editar | editar código-fonte]


As 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.

1 ALTER TABLE <tabela>


2 ADD [ CONSTRAINT <restrição> ]
3 FOREIGN KEY ( <coluna> {, <coluna>}... )
4 REFERENCES <tabela> [ ( <coluna> {, <ccoluna>}... ) ]
5 [ ON UPDATE <ação> ]
6 [ ON DELETE <ação> ]

Ver também[editar | editar código-fonte]


 Chave primária
[Esconder]

v•e

Sistemas de gerenciamento de bancos d


Modelagem · Normalização · Estrutura de banco de dados · GDBS distribuídos · Integridade referencial · Álgebra relacional · Cálculo re
dados objeto-relacional · Processamento de t
Conceitos Banco de dados · ACID · CRUD · Null · Chave candidata · Chave estrangeira · Chave primária · Superkey · Surrogate ke
Objetos Relação (Tabela) · Vista · Trigger · · Cursor · Log de transação · Transação · Índice · Procedimento armazenado · Partiç
Componentes Controle de concorrência · Dicionário de dados · JDBC · ODBC · Linguagem de consulta · Query optimizer · Query plan
Funções Gestão e automatização · Otimização de consulta · Replicação
Produtos disponíveis no mercado: Orientados a objeto (Comparativo) · Relacionais (Compa

Você também pode gostar