Questão de Banco de Dados — Modelo relacional — FGV 2023
- Código
- fg067749
- Banca
- FGV
- Órgão
- Receita Federal
- Ano
- 2023
- Nível
- Superior
- Cargo
- Analista-Tributário (manhã)
- ACursores.
- BStored procedures.
- CTriggers.
- DUtilitários de exportação de dados.
- EViews.
GabaritoC — Triggers.
Gabarito: letra C. A ferramenta mais adequada para monitorar e registrar automaticamente operações de insert e update em uma tabela, com fins de auditoria, é a trigger (gatilho). Triggers são procedimentos armazenados que são executados automaticamente em resposta a eventos de manipulação de dados (DML), como inserções, atualizações ou exclusões, permitindo capturar informações sobre quem, quando e o que foi alterado, sem intervenção manual ou alteração nas aplicações.
A banca testa o conhecimento dos principais recursos de banco de dados e sua aplicabilidade prática. O cenário descreve a necessidade de monitorar operações em uma tabela utilizada por múltiplas aplicações e usuários, o que exige um mecanismo automático e transparente.
Mecanismo | Descrição | Automático? | Adequado para auditoria? |
|---|---|---|---|
Cursores | Estrutura para percorrer resultados de consultas linha a linha | ❌ Não | ❌ Não |
Stored procedures | Bloco de código SQL executado sob demanda | ❌ Não | ❌ Não |
Triggers | Procedimento disparado automaticamente por eventos DML (INSERT, UPDATE, DELETE) | ✅ Sim | ✅ Sim |
Utilitários de exportação | Ferramentas para extrair dados do banco | ❌ Não | ❌ Não |
Views | Tabelas virtuais baseadas em consultas | ❌ Não | ❌ Não |
Cursores são estruturas utilizadas para percorrer, linha a linha, o resultado de uma consulta SQL. Embora possam ser usados para processar dados, eles não monitoram automaticamente as operações; exigem código explícito em cada transação e não são acionados de forma autônoma por eventos de inserção/atualização.
Stored procedures são blocos de código SQL armazenados no banco de dados que podem ser executados sob demanda. Entretanto, elas não são automaticamente invocadas quando uma operação de insert ou update ocorre. Para realizar o monitoramento, seria necessário modificar todas as aplicações para chamar a stored procedure após cada operação, o que é inviável no cenário descrito (múltiplas aplicações e usuários).
As triggers são o mecanismo ideal para auditoria, pois são associadas a uma tabela e disparadas automaticamente pelo SGBD antes ou depois de operações DML (INSERT, UPDATE, DELETE). Dessa forma, é possível registrar em uma tabela de log os dados alterados, o usuário, a data/hora e o tipo de operação, sem qualquer alteração nas aplicações clientes e de forma consistente.
Lembre-se da relação entre trigger e auditoria: sempre que uma questão mencionar monitoramento automático de alterações em uma tabela, a resposta esperada é trigger. Stored procedures exigem chamada explícita; cursores são para navegação; views são consultas virtuais; utilitários de exportação são manuais.
Utilitários de exportação de dados (como mysqldump, pg_dump, bcp) são ferramentas para realizar cópias de segurança ou transferir dados entre bancos. Eles não monitoram operações em tempo real e exigem execução manual ou agendada, não atendendo ao requisito de monitoramento contínuo e automático.
Views são consultas armazenadas que apresentam dados de uma ou mais tabelas como se fossem uma tabela virtual. Elas não possuem capacidade de monitorar ou registrar alterações nos dados subjacentes; servem apenas para simplificar consultas ou controlar acesso a determinados dados.
Gabarito: letra C
Link permanente: /questoes/fg067749