Qual a vantagem de se usar chave estrangeira no banco de dados?
28/09/2016
0
Já vi sistemas que não usavam chave estrangeira nas suas tabelas e aparentemente funcionavam bem.
Eu queria saber todas vantagens ou desvantagens no uso de chaves estrangeiras.
Calebe Menezes
Post mais votado
28/09/2016
exemplo:
Tabela Carro Tabela Pessoa
Cod Nome Cod Nome
1 Celta 1 João
2 Uno 2 José
3 Palio 3 Mario
(nesse sistema fictício, só existem três carros)
(na tabela abaixo vamos preencher quem possui qual carro)
Tabela propriedade
Carro Pessoa
1 1
2 2
4 3
Você percebeu que o Carro 4 não existe?
Como é possível a pessoa 3 possuir um carro que não está cadastrado?
Isso é considerado uma inconsistência no banco de dados, que só aconteceu porque:
1 - Não existe chave estrangeria na tabela "Propriedade" ligando a coluna Carro a coluna Cod na tabela "Carro"
2 - Algum código no software está inserindo dado incorreto na tabela ou alguem executou um insert de forma errada.
ou seja, se houvesse chave estrangeira, esse registro
Carro Pessoa
4 3
nunca teria sido inserido.
Ronaldo Santos
Mais Posts
28/09/2016
Ronaldo Santos
Considerando o exemplo acima:
Você não poderia apagar dados da tabela Carro se houver registros na tabela Propriedade pertinentes a tabela carro, dessa forma gerando registros "orfãos" na tabela Propriedade.
Você teria que apagar os dados na tabela Propriedade primeiro e somente após apagar dados na tabela Carro.
28/09/2016
Jones Granatyr
Jones
28/10/2016
Pestana
Clique aqui para fazer login e interagir na Comunidade :)