FC ConcursosFC Concursos

Questão FC372934

Considere uma tabela de produtos em estoque e outra de pedidos, em um banco de dados. Toda vez que um item for incluído na tabela de pedidos, a quantidade em estoque desse item, na

Sistema de Gerenciamento de Banco de Dados (SGBD)

FCC · 2020

Considere uma tabela de produtos em estoque e outra de pedidos, em um banco de dados. Toda vez que um item for incluído na tabela de pedidos, a quantidade em estoque desse item, na tabela de produtos, deve ser diminuída de modo equivalente. Um

 

Analista pode solucionar essa situação, e ainda ganhar em desempenho,

  1. usando um trigger.
  2. criando uma view com dados de produtos e de pedidos.
  3. atribuindo o acesso a essas tabelas para apenas um usuário responsável.
  4. atribuindo privilégios à tabela de pedidos.
  5. atribuindo privilégios à tabela de produtos.
Mostrar resposta e comentário

Gabarito

A

Comentário do professor

Um trigger é uma rotina do SGBD que é automaticamente executada em resposta a eventos (por exemplo INSERT, UPDATE, DELETE) em uma tabela. Ele permite encapsular lógica no servidor, garantindo que ações relacionadas ocorram sempre que o evento disparar.

No caso descrito, cria-se um trigger do tipo AFTER INSERT sobre a tabela de pedidos que, para cada nova linha, atualiza a tabela de produtos diminuindo a quantidade disponível com base na quantidade inserida.

Benefícios: a atualização fica atômica e consistente, reduzendo erros por concorrência, centraliza a regra no banco (manutenção mais simples) e evita tráfego extra entre aplicação e servidor, melhorando o desempenho.

Exemplo resumido:
UPDATE produtos SET estoque = estoque - NEW.quantidade WHERE id = NEW.produto_id;

Conteúdo do catálogo FC Concursos · Atualizado em

Continue aprendendo