O QUE E CHAVE ESTRANGEIRA?

MARCOS 27/07/2005 13:18:18
#96217
Pessoal!
Eu sei o que é "Chave Primária" . Alguém pode me explicar o que é "Chave estrangeira"??
TRUHILLO 27/07/2005 13:29:44
#96218
Resposta escolhida
Olá, Marcos...

As Foreign keys (chaves estrangeiras) servem para criar uma ligação entre duas tabelas.
Em bancos de dados relacionais como o Firebird e o MySQL isso pode ser útil para evitar exclusões de registros que possuam relacionamentos em outras tabelas.

Por exemplo:
Imagine uma tabela de Produtos e outra de Grupos de produtos.
Na tabela de Produtos temos o campo COD_GRUPO que é ligado ao campo CODIGO da tabela Grupos. Isso é uma chave estrangeira.

Se você excluir um grupo que tenha produtos "ligados" a ela, vai ocorrer um erro e o registro não poderá ser excluído a menos que você exclua todos os produtos que contenham no campo COD_GRUPO o número do CODIGO do grupo que deseja excluir.
Esse erro pode ser tratado para exibir uma mensagem do tipo:

"Impossível excluir: existem produtos cadastrados para este grupo."

Pode-se também oferecer a opção para que o usuário exclua todos os produtos naquele mesmo instante. Mas isto é outra história...

Espero ter ajudado...
Tópico encerrado , respostas não são mais permitidas