FC ConcursosFC Concursos

Questão FC369542

Edgar, DBA de uma multinacional, recebeu um e-mail do usuário A. Nele, o usuário informava que, ao executar uma transação em um registro na tabela de pessoal, obtinha valores incor

Sistema de Gerenciamento de Banco de Dados (SGBD)

FGV · 2024

Edgar, DBA de uma multinacional, recebeu um e-mail do usuário A. Nele, o usuário informava que, ao executar uma transação em um registro na tabela de pessoal, obtinha valores incorretos.

 

Pouco tempo depois, recebeu um e-mail do usuário B, no qual este relatava acessar o mesmo registro do usuário A e informava que, às vezes, os dados ficavam incorretos. Edgar identificou que as duas transações acessavam os mesmos itens do banco de dados e tinham problemas em suas serializações, o que tornava o valor do item incorreto.

 

Edgar identificou um problema chamado:

  1. atualização perdida;
  2. atualização temporária;
  3. resumo incorreto;
  4. leitura não repetitiva;
  5. leitura suja.
Mostrar resposta e comentário

Gabarito

A

Comentário do professor

A questão descreve um caso clássico de atualização perdida. Esse problema ocorre quando duas transações concorrem sobre o mesmo item: ambas leem um valor, realizam cálculos ou alterações localmente e depois escrevem de volta. Se as operações se entrelaçam, uma gravação pode sobrescrever a outra, fazendo com que uma atualização efetivamente se perca.

Num exemplo simples: T1 lê X, T2 lê X; T1 grava X', T2 grava X''. O valor final reflete apenas a última gravação, perdendo a mudança da outra transação.

O trecho que menciona acesso aos mesmos itens e problemas de serialização indica justamente essa condição de interleaving entre escritas, caracterizando a atualização perdida.

Para evitar, empregam-se mecanismos de controle de concorrência (bloqueios de escrita, níveis de isolamento ou controle otimista com versões) que garantem que escritas concorrentes não se sobrescrevam inadvertidamente.

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

Continue aprendendo