← Questões de Banco de Dados

Banco de Dados · FGV · 2023

Questão comentada de Banco de Dados

Considere um banco de dados relacional em que as operações de insert e update efetuadas numa certa tabela devem ser monitoradas e anotadas, como subsídio aos procedimentos de auditoria da empresa. Essa tabela é utilizada por uma série de aplicações, em diferentes tipos de transações, e iniciadas por um número considerável de usuários. Nesse cenário, assinale o mecanismo mais adequado para a implementação desse monitoramento.

Gabarito: C

Quando a ideia é monitorar automaticamente o que acontece dentro de uma tabela, especialmente inserts e updates feitos por vários usuários e por várias aplicações, você precisa de um mecanismo que seja disparado pelo próprio banco de dados no momento da operação. É aí que entram as triggers: elas ficam “de plantão” e executam ações sempre que um evento ocorre na tabela, sem depender de a aplicação lembrar de registrar isso manualmente. No seu caso, a necessidade é de auditoria. Então, além de registrar a operação, a trigger pode gravar quem fez, quando fez e até o antes/depois da alteração, tudo em uma tabela de log. Isso dá rastreabilidade e padroniza o controle, o que é perfeito quando há muitos usuários e transações diferentes circulando ao mesmo tempo. As demais opções não resolvem bem esse tipo de monitoramento automático. Cursores servem para percorrer linhas, stored procedures dependem de serem chamadas explicitamente, views apenas virtualizam consultas e utilitários de exportação servem para mover dados, não para auditar eventos em tempo real. Por isso o gabarito é a letra C. Em termos de banco relacional, trigger é justamente o mecanismo indicado para reagir a eventos de inserção e atualização e apoiar controles de integridade e auditoria.

Continue treinando

Questões relacionadas