[firebase-br] Criar gatilho ou deixar na chave estrangeira

Denis Rocha denisrocha em hotmail.com
Qui Maio 9 14:03:23 -03 2013


Boa tarde

Uma vez vi um post do Cantu dizendo para evitar chaves estrangeiras. Só não 
achei onde para postar aqui tbm. Creio que o melhor são triggers mesmo.



"Ronaldo Pereira" <ronaldowp em yahoo.com.br> 
escreveu na notícia da 
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
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use: 
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
> 





Mais detalhes sobre a lista de discussão lista