A equipe responsável por um banco de dados de fiscalizações ...

Próximas questões
Com base no mesmo assunto
Q4279907 Banco de Dados
A equipe responsável por um banco de dados de fiscalizações recebeu as seguintes demandas:

I. Disponibilizar aos usuários uma forma de consultar apenas o número, a data e a situação das fiscalizações concluídas, sem criar uma nova cópia dos dados armazenados nas tabelas originais;
II. Reunir, em um único objeto do banco de dados, uma sequência de comandos que receba o identificador de um órgão como parâmetro e gere, quando solicitada, um resumo de suas fiscalizações;
III. Registrar automaticamente, em uma tabela de auditoria, toda alteração realizada no campo que armazena a situação de uma fiscalização.

Para atender, respectivamente, às demandas I, II e III, devem ser utilizados
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Gabarito: A

Fundamento decisivo: As expressões “sem criar uma nova cópia”, “quando solicitada” e “automaticamente” distinguem, respectivamente, consulta virtual, rotina chamada explicitamente e ação disparada por evento. Essa correspondência determina a sequência view, procedure e trigger, da alternativa A.

Tema central: Views, procedures e triggers
Análise das alternativas
A
Certa
A view comum define uma consulta sem materializar seus resultados, atendendo à seleção de campos e de fiscalizações concluídas em I. A procedure encapsula uma sequência de comandos, admite o identificador do órgão como parâmetro e é executada por chamada, atendendo a II. A trigger executa uma ação em resposta a um evento de atualização, sendo o objeto adequado para registrar automaticamente as alterações exigidas em III.
B
Errada
Erra as três posições: I caracteriza uma consulta virtual, correspondente a view; II exige uma rotina parametrizada chamada sob demanda, não uma trigger disparada por evento; III exige registro automático de alterações, função que uma view não desempenha.
C
Errada
A trigger reage a eventos, não corresponde à consulta virtual de I. A view define uma consulta, não a sequência de comandos parametrizada e chamada sob demanda de II. A procedure, isoladamente, não fornece o disparo automático exigido em III.
D
Errada
Acerta a view em I, mas inverte II e III: a execução solicitada de comandos com parâmetro corresponde a procedure; a reação automática à alteração de dados corresponde a trigger.
E
Errada
Acerta a trigger em III, mas inverte I e II: a consulta sem materialização dos resultados corresponde a view; a sequência de comandos que recebe parâmetro e é chamada sob demanda corresponde a procedure.
Pegadinha da questão
A distinção decisiva está entre “quando solicitada”, que indica chamada explícita da procedure, e “automaticamente”, que indica disparo da trigger por evento. Identificar apenas a view em I ou apenas a trigger em III não basta para escolher a alternativa.
Dica para questões semelhantes
  • Associe a consulta definida sem materialização dos resultados a uma view comum.
  • Associe comandos encapsulados, com parâmetro e execução por chamada, a uma procedure.
  • Associe a execução automática em resposta a uma alteração a uma trigger e confira a ordem completa das associações.

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

A: view, procedure e trigger.

A VIEW é como uma tabela virtual, tipo um filtro salvo. Você consulta só número, data e situação das fiscalizações concluídas sem copiar nada. A PROCEDURE é um bloco de comandos que você chama quando quiser, passando um parâmetro. Por exemplo, o ID do órgão, pra gerar o resumo. Já a TRIGGER não é chamada por você. Ela dispara sozinha quando um evento acontece, tipo um UPDATE no campo de situação. Aí ela grava na tabela de auditoria. Então, cada uma resolve exatamente uma das demandas.

Fonte: Gemini

Análise das demandas de banco de dados relacional:

  • I. Consulta simplificada/filtrada sem duplicar dados armazenados: Trata-se de uma View (Visão), que é uma tabela virtual baseada no resultado de uma instrução SQL. Ela expõe apenas as colunas e linhas desejadas das tabelas originais sem copiar os dados fisicamente.
  • II. Sequência reutilizável de comandos com parâmetros de entrada: Trata-se de uma Procedure (Stored Procedure / Procedimento Armazenado), um objeto do banco de dados que agrupa instruções SQL aceitando parâmetros de entrada (como o identificador do órgão) para executar uma lógica de negócios sob demanda.
  • III. Execução automática diante de um evento de alteração de dados (DML): Trata-se de uma Trigger (Gatilho), um procedimento executado automaticamente pelo SGBD em resposta a eventos específicos na tabela (como comandos , ou ), ideal para registros de auditoria e controle de alterações.

Portanto, os objetos para I, II e III são, respectivamente, uma view, uma procedure e uma trigger.

A alternativa correta é a A.

Vou tentar ajudar a voces decorarem de formas simples:

Se a questão disser:

“Permite criar uma consulta que pode ser utilizada como uma tabela virtual”
➡️ VIEW

“Conjunto de comandos armazenados no banco e executados quando chamado”
➡️ PROCEDURE

“Executado automaticamente após/antes de determinado evento”
➡️ TRIGGER

VEJO → FAÇO → ACONTECE
? VIEW → ⚙️ PROCEDURE → ⚡ TRIGGER

GRAVE AS PALAVRAS CHAVE!

A alternativa correta é a LETRA A (uma view, uma procedure e uma trigger).

  1. Demanda I: View (Visão Virtual)

    • Conceito: Uma view é uma tabela virtual cujo conteúdo é derivado de uma consulta (SELECT) feita sobre uma ou mais tabelas base.

    • Por que atende: O enunciado exige disponibilizar a consulta a um subconjunto específico de colunas e linhas sem criar uma nova cópia dos dados armazenados. A view atende exatamente a isso, pois não armazena os dados fisicamente no disco; ela apenas executa a consulta armazenada sob demanda e restringe o acesso dos usuários apenas aos campos autorizados.

  2. Demanda II: Procedure (Procedimento Armazenado)

    • Conceito: Uma stored procedure é um objeto de banco de dados que agrupa e encapsula um conjunto de instruções SQL e comandos procedurais em uma única rotina nomeada.

    • Por que atende: O requisito pede para reunir uma sequência de comandos em um único objeto, capaz de receber um identificador como parâmetro e ser executado quando solicitado (invocado explicitamente).

  3. Demanda III: Trigger (Gatilho)

    • Conceito: Um trigger é um bloco de código armazenado que é disparado/executado automaticamente pelo SGBD em resposta a um evento DML especifico (INSERT, UPDATE ou DELETE) em uma tabela.

    • Por que atende: A demanda exige registrar automaticamente toda alteração no campo de situação em uma tabela de auditoria. Trata-se do caso de uso mais clássico de triggers para rastreamento e auditoria.

  • Tabela virtual / Consulta guardada sem duplicar dados: VIEW.

  • Sequência de comandos com parâmetros chamada sob pedido: PROCEDURE.

  • Disparo automático decorrente de alteração/evento: TRIGGER.

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo