Pular para o conteúdo principal

Questão de Banco de Dados — Banco de Dados Relacionais — FUNDATEC 2026

Banco de DadosBanco de Dados Relacionais
Código
qg685908
Banca
FUNDATEC
Órgão
IFC-SC
Ano
2026
Nível
Superior
Cargo
Professor EBTT - Informática: Banco de Dados
Em SGBDs relacionais como SQL Server e PostgreSQL, analise o trecho abaixo:Imagem associada para resolução da questãoEsse bloco é executado automaticamente pelo SGBD após uma inserção na tabela PEDIDO, sem chamada explícita da aplicação. Assinale a alternativa que indica corretamente o recurso que preenche a lacuna.
  1. ATrigger, pois é um bloco vinculado a um evento sobre uma tabela, disparado automaticamente pelo SGBD para executar validações e rotinas de auditoria.
  2. BCheckpoint, pois sincroniza periodicamente o buffer de memória com o disco após operações de escrita em tabelas críticas.
  3. CStored Procedure, pois é um bloco armazenado no banco executado automaticamente após eventos de manipulação de dados.
  4. DCommit, pois confirma definitivamente as operações da transação, garantindo que validações e registros de auditoria sejam persistidos.
  5. ESwapping, pois gerencia a alternância entre blocos de comandos ativos na memória priorizando rotinas críticas de validação.
Revelar gabarito e comentário

GabaritoA — Trigger, pois é um bloco vinculado a um evento sobre uma tabela, disparado automaticamente pelo SGBD para executar validações e rotinas de auditoria.

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Trigger: execução automática vinculada a eventos

Gabarito: letra A. O recurso descrito é a trigger (gatilho), pois é um bloco de código armazenado no banco que o SGBD executa automaticamente em resposta a um evento de manipulação de dados (INSERT, UPDATE, DELETE) sobre uma tabela — exatamente o que o enunciado descreve: "executado automaticamente pelo SGBD após uma inserção na tabela PEDIDO, sem chamada explícita da aplicação".

Uma trigger é um tipo especial de procedimento armazenado que não é invocado diretamente pela aplicação, mas sim disparado pelo próprio SGBD quando ocorre o evento ao qual está vinculada. Ela é amplamente usada para validações, auditoria, manutenção de integridade referencial e regras de negócio que devem ser aplicadas de forma consistente, independentemente de qual aplicação ou usuário executou a operação. No SQL Server, por exemplo, uma trigger pode ser definida com CREATE TRIGGER ... ON PEDIDO AFTER INSERT AS ...; no PostgreSQL, com CREATE TRIGGER ... AFTER INSERT ON PEDIDO FOR EACH ROW EXECUTE FUNCTION .... Em ambos os casos, o bloco é executado automaticamente após a inserção, sem que a aplicação precise chamá-lo.

A grande vantagem da trigger é centralizar a lógica de validação e auditoria no banco de dados, garantindo que ela seja aplicada em todas as rotas de acesso aos dados — seja por uma aplicação web, um script de manutenção ou uma consulta ad hoc. Isso evita que regras de negócio fiquem espalhadas e sujeitas a esquecimento em diferentes camadas da aplicação. Por outro lado, triggers devem ser usadas com parcimônia, pois podem impactar o desempenho de operações de escrita e tornar o fluxo de dados menos transparente.

É importante distinguir a trigger de outros mecanismos do SGBD que também atuam "por trás" das operações, mas com finalidades completamente diferentes. O checkpoint é um mecanismo de recuperação que sincroniza o buffer de memória com o disco; a stored procedure é um bloco armazenado, mas que exige chamada explícita; o commit é o comando que confirma uma transação; e o swapping é um conceito de gerência de memória do sistema operacional, não do banco de dados. A pegadinha da questão está justamente em confundir a trigger com a stored procedure: ambas são blocos armazenados, mas a trigger é automática (disparada por evento), enquanto a stored procedure é explícita (chamada pela aplicação).

Guarde essa fronteira: trigger = automática + vinculada a evento; stored procedure = explícita + chamada manual. É exatamente nesse critério que as alternativas se dividem.

Blocos armazenados no banco
  • 1Trigger
    • Automática (disparada por evento)
    • Vinculada a INSERT/UPDATE/DELETE
    • Validações e auditoria
  • 2Stored procedure
    • Exige chamada explícita
    • Invocada pela aplicação
  • 3Mecanismos que não são blocos
    • Checkpoint
      • Sincroniza buffer com disco
    • Commit
      • Confirma transação
    • Swapping
      • Gerência de memória (SO)
LEVEL · soulevel.com.br

Alternativa A — ✅ Correta ⟵ GABARITO

A alternativa descreve com precisão o conceito de trigger: "bloco vinculado a um evento sobre uma tabela, disparado automaticamente pelo SGBD para executar validações e rotinas de auditoria". Todos os elementos estão corretos: (1) é um bloco de código armazenado; (2) está vinculado a um evento (INSERT, UPDATE, DELETE); (3) é disparado automaticamente pelo SGBD; (4) serve para validações e auditoria. É exatamente o cenário do enunciado — uma inserção na tabela PEDIDO dispara o bloco sem chamada explícita.

Alternativa B — ❌ Incorreta

O checkpoint é um mecanismo de recuperação do SGBD que sincroniza periodicamente o buffer de memória com o disco, mas não é disparado por eventos de manipulação de dados nem executa validações ou rotinas de auditoria. Ele atua na persistência física dos dados, não na lógica de negócio. A alternativa confunde o mecanismo de gravação em disco com o mecanismo de execução automática de código.

Alternativa C — ❌ Incorreta

A stored procedure é de fato um bloco armazenado no banco, mas não é executada automaticamente após eventos de manipulação de dados — ela exige chamada explícita pela aplicação (via EXEC ou CALL). A pegadinha está em que a stored procedure também é um "bloco armazenado", mas o critério decisivo é a automaticidade: a trigger é disparada pelo SGBD; a stored procedure é invocada manualmente. O enunciado deixa claro que o bloco é executado "sem chamada explícita da aplicação", o que elimina a stored procedure.

Alternativa D — ❌ Incorreta

O commit é o comando que confirma definitivamente as operações de uma transação, tornando-as permanentes no banco. Ele não é um bloco de código executado automaticamente após uma inserção, nem executa validações ou rotinas de auditoria. A alternativa confunde o comando de controle de transação com o mecanismo de execução automática de código.

Alternativa E — ❌ Incorreta

O swapping é um conceito de gerência de memória de sistemas operacionais, que consiste em transferir processos entre memória principal e memória secundária para liberar espaço. Não tem relação com SGBDs, nem com execução automática de blocos após eventos de manipulação de dados. A alternativa mistura conceitos de sistemas operacionais com banco de dados.

NÃO CAIA NESSA!

A banca explora a confusão entre trigger e stored procedure (alternativa C): ambas são blocos armazenados no banco, mas a trigger é automática (disparada por evento) e a stored procedure é explícita (chamada pela aplicação). O enunciado diz "sem chamada explícita da aplicação" — essa é a palavra-chave que elimina a stored procedure e aponta para a trigger. Fique atento a essa distinção, pois é uma das mais cobradas em provas de banco de dados.

PEGA ESSA DICA!

Para diferenciar rapidamente na prova, pergunte-se: "quem chama esse bloco?" Se a resposta for "o SGBD, automaticamente, em resposta a um evento", é trigger. Se for "a aplicação, explicitamente", é stored procedure. Essa pergunta resolve a maioria das questões sobre o tema.

Gabarito: letra A

Link permanente: /questoes/qg685908