[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