Questão de Banco de Dados — Concorrência em Banco de Dados — FUNDATEC 2026
Banco de Dados›Concorrência em Banco de Dados
Código
qg685510
Banca
FUNDATEC
Órgão
IFC-SC
Ano
2026
Nível
Superior
Cargo
Professor EBTT - Computação
O controle de concorrência em sistemas de banco de dados objetiva garantir que transações executadas simultaneamente produzam resultados equivalentes a alguma execução serial. Anomalias clássicas surgem quando a isolação entre transações é insuficiente. Nesse sentido, assinale a alternativa correta.
AO Protocolo de Bloqueio em Duas Fases (2PL) garante a serializabilidade de escalonamentos: na fase crescente, a transação somente adquire bloqueios; na fase decrescente, somente os libera, sem adquirir novos bloqueios.
BUma leitura suja (dirty read) ocorre quando duas transações leem o mesmo item concorrentemente e, a partir dessa leitura, cada uma calcula um novo valor e confirma sua escrita, de modo que a atualização da primeira é silenciosamente sobrescrita pela segunda — que desconhecia a modificação anterior — e definitivamente perdida.
CO Protocolo de Bloqueio em Duas Fases (2PL) garante a propriedade de durabilidade das transações, assegurando que os efeitos de toda transação confirmada persistam mesmo após falhas do sistema.
DUma leitura fantasma (phantom read) ocorre quando uma transação lê o mesmo item de dado duas vezes e obtém valores diferentes, porque outra transação o atualizou e confirmou entre as duas leituras.
EA propriedade de atomicidade do ACID é a responsável por garantir que transações executadas concorrentemente fiquem completamente isoladas umas das outras, como se executassem em série.
Revelar gabarito e comentário▾
GabaritoA — O Protocolo de Bloqueio em Duas Fases (2PL) garante a serializabilidade de escalonamentos: na fase crescente, a transação somente adquire bloqueios; na fase decrescente, somente os libera, sem adquirir novos bloqueios.
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”.
Concorrência em Banco de Dados
Gabarito: letra A. O Protocolo de Bloqueio em Duas Fases (2PL) é um mecanismo clássico de controle de concorrência que garante a serializabilidade dos escalonamentos. Sua definição correta divide a transação em duas fases: a crescente (apenas aquisição de bloqueios) e a decrescente (apenas liberação de bloqueios, sem adquirir novos). As demais alternativas apresentam erros conceituais comuns, como trocar definições de anomalias ou propriedades ACID.
NÃO CAIA NESSA!
A banca explora confusões clássicas: a dirty read (leitura suja) é leitura de dados não confirmados, não a perda de atualização descrita em B (que é lost update). A phantom read (leitura fantasma) envolve inserção de novas linhas, não a re-leitura do mesmo item com valor diferente (que é non-repeatable read). Além disso, o 2PL não garante durabilidade (C) — esta é obtida por logs e mecanismos de recuperação. A atomicidade (E) não assegura isolamento; isolamento é uma propriedade separada do ACID.
Anomalias de concorrência
1Dirty read (leitura suja)
Lê dado não confirmado
2Non-repeatable read
Mesmo item, valores diferentes
3Phantom read (leitura fantasma)
Novas linhas inseridas
4Lost update (perda de atualização)
Escrita sobrescrita
5Protocolo 2PL
Fase crescente
Só adquire bloqueios
Fase decrescente
Só libera bloqueios
Garante serializabilidade
LEVEL · soulevel.com.br
Alternativa A — ✅ Correta ⟵ GABARITO
Define corretamente o Protocolo 2PL: a transação primeiro adquire todos os bloqueios necessários (fase crescente) e depois os libera (fase decrescente), sem adquirir novos bloqueios após iniciar a liberação. Esse comportamento garante a serializabilidade do escalonamento.
Alternativa B — ❌ Incorreta
Descreve uma perda de atualização (lost update), não uma dirty read. A leitura suja ocorre quando uma transação lê dados não confirmados (ainda não commitados) de outra transação. No cenário descrito, ambas leem o mesmo valor inicial, calculam e escrevem, resultando na sobrescrita da primeira — isso é um conflito de escrita sem isolamento adequado, mas não é dirty read.
Alternativa C — ❌ Incorreta
O Protocolo 2PL é um mecanismo de controle de concorrência para isolamento e serializabilidade, não para durabilidade. A durabilidade é garantida por técnicas de recuperação, como registros em log (write-ahead log) e checkpoints, que asseguram que os efeitos de transações confirmadas persistam mesmo após falhas.
Alternativa D — ❌ Incorreta
A descrição corresponde a uma leitura não repetível (non-repeatable read), onde o mesmo item de dado é lido duas vezes e obtém valores diferentes devido a uma atualização e commit de outra transação. A leitura fantasma (phantom read) ocorre quando uma transação executa a mesma consulta duas vezes e, na segunda, aparecem linhas adicionais (insert) que satisfazem a condição — não se trata de um único item, mas de um conjunto de registros.
Alternativa E — ❌ Incorreta
A propriedade que garante que transações concorrentes sejam isoladas umas das outras, como se executassem em série, é o isolamento (I do ACID), não a atomicidade. A atomicidade (A) garante que uma transação seja executada por completo ou totalmente desfeita (all-or-nothing).