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:
- atualização perdida;
- atualização temporária;
- resumo incorreto;
- leitura não repetitiva;
- 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