Pular para o conteúdo principal

Questão de Banco de Dados — Banco de Dados — FGV 2024

Banco de DadosBanco de Dados
Código
fg077430
Banca
FGV
Órgão
CVM
Ano
2024
Nível
Superior
Cargo
Analista - Perfil 9 - TI / Infraestrutura e Segurança - Tarde
Lara trabalha em uma empresa aérea e todos os dias, às 17:00, é gerado por ela um relatório com o número total de reservas em todos os voos de sua companhia. Porém, ao apresentar o relatório ao seu encarregado, ela vem notando que o número total tem mostrado inconsistências. O relatório calculava incorretamente a quantidade de reservas, pois pegava alguns dados de antes do cálculo do número total e outros de depois desse cálculo.Lara pesquisou o problema na transação e o identificou como:
  1. Aatualização temporária;
  2. Batualização perdida;
  3. Cresumo incorreto;
  4. Dleitura não repetitiva;
  5. Ebloqueio exclusivo.
Revelar gabarito e comentário

GabaritoC — resumo incorreto;

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”.

Resumo Incorreto (Incorrect Summary) em Transações Concorrentes

Gabarito: letra C. A situação descrita — relatório de total de reservas que lê alguns dados antes e outros depois de transações de reserva — caracteriza exatamente o problema de resumo incorreto, conforme a literatura de controle de concorrência. O contexto define: "O problema do resumo incorreto. Se uma transação está calculando uma função de resumo de agregação sobre uma série de itens do banco de dados, enquanto outras transações estão atualizando alguns desses itens, a função de agregação pode calcular alguns valores antes que eles sejam atualizados e outros depois que eles forem atualizados." Portanto, a alternativa correta é a letra C.

Alternativa A — ❌ Incorreta

O problema de atualização temporária (leitura suja) ocorre quando uma transação lê um valor atualizado por outra transação que ainda não foi confirmada e que posteriormente é abortada — ou seja, lê um valor que nunca será definitivo. No relatório de Lara, ela lê valores já confirmados (não sujos), mas em momentos diferentes.

Alternativa B — ❌ Incorreta

A atualização perdida (lost update) ocorre quando duas transações escrevem no mesmo dado de forma intercalada, fazendo com que uma das atualizações seja sobrescrita e perdida. O problema de Lara não envolve perda de atualização; ela apenas calcula um agregado sobre dados que estão sendo modificados.

Alternativa C — ✅ Correta ⟵ GABARITO

Conforme o trecho do contexto, o resumo incorreto descreve exatamente a situação: uma transação de resumo (relatório total) lê dados enquanto outras transações de reserva os atualizam, resultando em leitura de valores antes e depois das atualizações, gerando um total incorreto. O enunciado relata que o relatório "pegava alguns dados de antes do cálculo do número total e outros de depois desse cálculo", o que é a definição clássica do resumo incorreto.

Alternativa D — ❌ Incorreta

A leitura não repetitiva (non-repeatable read) ocorre quando uma transação lê o mesmo item duas vezes e obtém valores diferentes porque outra transação alterou o item entre as leituras. Lara não lê o mesmo item duas vezes; ela lê itens diferentes uma vez cada, e o problema é que algumas leituras são feitas antes e outras depois das atualizações.

Alternativa E — ❌ Incorreta

Bloqueio exclusivo é um mecanismo de controle de concorrência, não um problema. O problema descrito é um efeito de concorrência não controlada, não um bloqueio.

NÃO CAIA NESSA!

A banca pode confundir o resumo incorreto com a leitura não repetitiva. A diferença crucial: no resumo incorreto, a transação calcula uma função de agregação sobre múltiplos itens (lê cada item uma vez), enquanto na leitura não repetitiva a mesma transação lê o mesmo item duas vezes e obtém valores diferentes. O enunciado deixa claro que se trata de um relatório de total de reservas em todos os voos (agregação), não de uma segunda leitura do mesmo item. Fique atento a esse detalhe!

Gabarito: letra C.

Link permanente: /questoes/fg077430