Questão de Banco de Dados — PostgreSQL — FUNDATEC 2024
Banco de Dados›PostgreSQL
Código
qg165050
Banca
FUNDATEC
Órgão
IF-AP
Ano
2024
Nível
Médio
Cargo
Técnico em Tecnologia da Informação
No PostgreSQL, existe um recurso que possibilita que um programa seja executado sempre que um evento associado ocorrer. Como exemplo, tem-se, quando o nível de estoque de um item é atualizado, o programa disparado por este recurso compara o nível de estoque atual com o nível de estoque mínimo para este item e, se o nível estiver no mínimo ou abaixo dele, um novo pedido de compra para o item é criado. Esse recurso é conhecido como:
AAlter Table.
BTrigger.
CStored Procedure.
DPostgres Stored Function.
EPostgres Procedure.
Revelar gabarito e comentário▾
GabaritoB — Trigger.
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”.
Recurso de automação no PostgreSQL: Trigger
Gabarito: letra B. O recurso descrito é o trigger (gatilho), que executa automaticamente um programa (procedimento armazenado especial) sempre que ocorre um evento associado, como INSERT, UPDATE ou DELETE em uma tabela. O exemplo dado (verificar estoque mínimo após atualização e criar pedido se necessário) é um caso clássico de uso de trigger. Essa definição é amplamente reconhecida na documentação do PostgreSQL e em materiais didáticos sobre banco de dados.
A banca cobra o conhecimento do conceito de trigger em contraposição a outros objetos de banco de dados, como stored procedures e funções. A chave é a execução automática vinculada a eventos — característica exclusiva dos triggers.
Recurso
Descrição
Execução
Exemplo de Uso
Trigger
Programa armazenado disparado automaticamente por eventos de modificação (INSERT, UPDATE, DELETE) em uma tabela
Automática, vinculada ao evento
Verificar estoque mínimo após atualização e criar pedido de compra
Alter Table
Comando DDL para modificar estrutura de tabela
Manual, via comando SQL
Adicionar coluna, alterar tipo de dado
Stored Procedure
Bloco de código SQL armazenado executado sob demanda
Manual, por chamada explícita
Processamento batch, validações complexas
Postgres Stored Function
Função armazenada que retorna valor, executada quando chamada
Manual, por consulta ou código
Cálculos, transformações de dados
Postgres Procedure
Procedimento armazenado (similar a stored procedure)
Manual, por chamada explícita
Operações que não retornam valor
Alternativa A — ❌ Incorreta
Alter Table é um comando DDL (Data Definition Language) usado para modificar a estrutura de uma tabela (adicionar colunas, alterar tipos, etc.). Não possui capacidade de executar programas automaticamente em resposta a eventos.
Alternativa B — ✅ Correta ⟵ GABARITO
Trigger é exatamente o recurso descrito: um programa armazenado que é disparado automaticamente por eventos de modificação (INSERT, UPDATE, DELETE) sobre uma tabela. O exemplo do estoque é típico: ao atualizar o nível de estoque (evento), o trigger verifica condições e executa ações como criar um pedido de compra. É a definição padrão no PostgreSQL e em outros SGBDs relacionais.
Alternativa C — ❌ Incorreta
Stored Procedure é um bloco de código SQL armazenado que pode ser executado sob demanda, mas não é disparado automaticamente por eventos. Precisa ser chamado explicitamente por uma aplicação ou outro procedimento. Embora os triggers sejam implementados internamente como procedimentos especiais, o termo genérico “stored procedure” não carrega o conceito de execução automática vinculada a eventos.
Alternativa D — ❌ Incorreta
Postgres Stored Function é uma função armazenada que retorna um valor e também é executada apenas quando chamada (por uma consulta ou outro código). Não possui o comportamento automático de trigger. Funções podem ser usadas dentro de triggers (na definição da função disparada), mas o nome “stored function” sozinho não se refere ao recurso de automação.
Alternativa E — ❌ Incorreta
Postgres Procedure é similar a uma stored procedure (introduzida no PostgreSQL 11 para suportar transações dentro do procedimento), mas ainda assim é executada sob demanda, não automaticamente. O gatilho (trigger) é o termo correto para o recurso descrito.
PEGA ESSA DICA!
Para fixar: trigger = automático / evento; procedure/function = manual / chamada explícita. Nos estudos, lembre-se de que o trigger é um tipo especial de procedimento armazenado, mas o que o distingue é a execução reativa a operações DML.