Pular para o conteúdo principal

Questão de Banco de Dados — PostgreSQL — FUNDATEC 2024

Banco de DadosPostgreSQL
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:
  1. AAlter Table.
  2. BTrigger.
  3. CStored Procedure.
  4. DPostgres Stored Function.
  5. 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.

Gabarito: letra B.

Link permanente: /questoes/qg165050