[firebase-br] Criar gatilho ou deixar na chave estrangeira
Carlos H. Cantu
listas em warmboot.com.br
Qui Maio 9 16:19:10 -03 2013
Não me recordo de ter dito isso, até porque eu uso FKs constantemente.
[]s
Carlos H. Cantu
www.FireBase.com.br - www.firebirdnews.org
www.warmboot.com.br - blog.firebase.com.br
DR> Boa tarde
DR> Uma vez vi um post do Cantu dizendo para evitar chaves estrangeiras. Só não
DR> achei onde para postar aqui tbm. Creio que o melhor são triggers mesmo.
DR> "Ronaldo Pereira" <ronaldowp em yahoo.com.br>
DR> escreveu na notícia da
DR> mensagem:1366851497.95343.YahooMailNeo em web163904.mail.gq1.yahoo.com...
>> Boa noite Pessoal,
>>
>> Gostaria de saber se alguém já passou por isso. Temos aqui na
>> empresa um banco de dados com em torno de 900 tabelas. Temos muitas
>> procedures e gatilhos no banco.
>> Recentemente ficamos na dúvida sobre o que é mais indicado na
>> estrutura de tabelas mestre/detalhe.
>> A dúvida está na exclusão de um registro da tabela principal
>> (mestre) e que tenha um registro filho (detalhe). Devemos deixar que a
>> chave estrangeira se encarregue disso, não permitindo, ou devemos criar um
>> gatilho na tabela principal, verificando se existe um registro na tabela
>> detalhe (filho), e caso exista poderia até dar uma exceção mais
>> específica.
>> Verificamos que se deixarmos para o banco controlar pela chave, ele
>> chega mesmo a tentar executar, e mesmo que não grave, se for pego um
>> gerador, ele não volta mais, mesmo a transação não ter sido gravada.
>>
>> Ronaldo Pereira
>> SDI Sistemas
Mais detalhes sobre a lista de discussão lista