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

Ronaldo Pereira ronaldowp em yahoo.com.br
Qua Abr 24 21:58:17 -03 2013


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