Questão FC546295
Em um sistema de gerenciamento de banco de dados relacional (SGBD), triggers são mecanismos que executam ações automáticas em resposta a eventos como inserções, atualizações ou exc
Sistema de Gerenciamento de Banco de Dados (SGBD)
FURB · 2025
Em um sistema de gerenciamento de banco de dados relacional (SGBD), triggers são mecanismos que executam ações automáticas em resposta a eventos como inserções, atualizações ou exclusões em tabelas. Quando triggers são mal projetados, especialmente em cenários que envolvem múltiplas tabelas, eles podem resultar em "cascading triggers" ou "trigger storms", um comportamento em que um trigger dispara outro que, por sua vez, dispara mais triggers, potencialmente levando a loops infinitos, desempenho degradado ou dificuldades de depuração. Considere um SGBD que permite triggers aninhados sem limite estrito de profundidade. Avalie as seguintes afirmações sobre cenários de definição de triggers em um banco de dados relacional e assinale aquela que descreve um cenário de cascading triggers ou trigger storms:
- Um trigger BEFORE UPDATE em uma tabela que impede a modificação de uma chave primária.
- Um trigger BEFORE INSERT em uma tabela que atualiza um campo na mesma tabela.
- Um trigger AFTER INSERT em uma tabela A que causa uma inserção em uma tabela B que, por sua vez, tem um trigger AFTER INSERT que atualiza a tabela A.
- Um trigger AFTER UPDATE em uma tabela que insere um registro em uma tabela de auditoria relacionada.
- Um trigger AFTER DELETE em uma tabela que atualiza uma estatística agregada em outra tabela.
Mostrar resposta e comentário
Gabarito
Certo
Comentário do professor
Na alternativa correta descreve-se um ciclo clássico de cascading triggers. Um trigger AFTER INSERT em A realiza uma inserção em B. Em seguida, o trigger AFTER INSERT em B executa uma atualização em A.
Essa sequência cria uma cadeia de eventos encadeados porque a ação do trigger em B provoca uma operação sobre A que pode, por sua vez, ativar outros triggers definidos em A. Se existir algum trigger em A que responda à atualização ou se a atualização levar de novo a uma inserção em B, os triggers passam a disparar uns aos outros.
O resultado pode ser repetição incessante de execuções, consumo excessivo de recursos e dificuldade para depurar. Por isso esse cenário ilustra precisamente o risco de trigger storms em ambientes que permitem triggers aninhados sem limite de profundidade.
Conteúdo do catálogo FC Concursos · Atualizado em