Questão de Banco de Dados — Concorrência em Banco de Dados — FGV 2025
Banco de Dados›Concorrência em Banco de Dados
Código
fg108614
Banca
FGV
Órgão
DPE-RO
Ano
2025
Nível
Superior
Cargo
Analista de Redes e Comunicação de Dados - Classe B
Nos SGBDs, o isolamento das transações garante que as alterações de uma transação T1 não afetem outras transações Tn até que a T1 seja concluída. Considerando que o PostgreSQL 17 define quatro níveis distintos de isolamento de transações e que cada nível possui um grau de rigor próprio.O nível de isolamento mais rigoroso é o
Awrite uncommitted.
Bwrite committed.
Cread committed.
Drepeatable read.
Eserializable.
Revelar gabarito e comentário▾
GabaritoE — serializable.
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”.
Níveis de isolamento de transações: qual o mais rigoroso?
Gabarito: letra E — Serializable. O nível serializable é o mais rigoroso porque garante o isolamento completo, prevenindo todos os fenômenos de concorrência: leitura suja, leitura não repetível e leitura fantasma (phantom read). Os níveis de isolamento são padronizados pelo SQL e adotados pelo PostgreSQL 17, sendo que o serializable é o topo da hierarquia de rigor.
A banca testa o conhecimento dos quatro níveis definidos pelo padrão SQL (read uncommitted, read committed, repeatable read e serializable) e a capacidade de identificar o mais forte. A tabela abaixo resume os fenômenos que cada nível permite ou evita:
Nível de isolamento
Leitura suja
Leitura não repetível
Leitura fantasma
Read uncommitted
Pode ocorrer
Pode ocorrer
Pode ocorrer
Read committed
Evita
Pode ocorrer
Pode ocorrer
Repeatable read
Evita
Evita
Pode ocorrer
Serializable
Evita
Evita
Evita
NÃO CAIA NESSA!
A banca alterou os nomes de dois níveis: em vez de read uncommitted e read committed, aparecem write uncommitted e write committed. Esses nomes não existem no padrão SQL. O candidato deve reconhecer que são distratores e lembrar que o nível correto mais brando é read uncommitted, e o mais rigoroso é serializable. Fique atento: a FGV costuma trocar termos para testar a literalidade.
1Read uncommitted
2Read committed
3Repeatable read
4Serializable
LEVEL · soulevel.com.br
Alternativa A — ❌ Incorreta
Write uncommitted não existe como nível de isolamento. O nome correto é read uncommitted, que é o nível menos rigoroso (permite leitura suja). Portanto, não pode ser o mais rigoroso.
Alternativa B — ❌ Incorreta
Write committed também não é um nível real. O padrão é read committed, que evita leitura suja, mas permite leitura não repetível e fantasma. É mais rigoroso que read uncommitted, mas ainda está longe do serializable.
Alternativa C — ❌ Incorreta
Read committed é um nível válido, mas não é o mais rigoroso. Ele previne apenas leitura suja, permitindo leituras não repetíveis e fantasmas. Está em segundo lugar na escala de rigor.
Alternativa D — ❌ Incorreta
Repeatable read é mais rigoroso que read committed, pois evita leitura suja e não repetível. No entanto, ainda permite leituras fantasmas, o que o torna menos rigoroso que o serializable.
Alternativa E — ✅ Correta ⟵ GABARITO
Serializable é o nível máximo de isolamento. Ele garante que as transações executem como se fossem seriais (uma após a outra), evitando todos os fenômenos de concorrência. É a resposta correta segundo o padrão SQL e a documentação do PostgreSQL.