O QUE E CHAVE ESTRANGEIRA?
Pessoal!
Eu sei o que é "Chave Primária" . Alguém pode me explicar o que é "Chave estrangeira"??
Eu sei o que é "Chave Primária" . Alguém pode me explicar o que é "Chave estrangeira"??
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...
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