Questão de Banco de Dados — Concorrência em Banco de Dados — FURB 2025
Banco de Dados›Concorrência em Banco de Dados
Código
qg497153
Banca
FURB
Órgão
Prefeitura de Florianópolis - SC
Ano
2025
Nível
Superior
Cargo
Auditor Fiscal de Tributos Municipais - Tecnologia da Informação - 2º Dia
Transações ACID em bancos de dados relacionais garantem propriedades fundamentais para manter a integridade dos dados em operações concorrentes. Um dos parâmetros mais importantes é o nível de isolamento (Isolation Level), que define como e quando os efeitos das alterações realizadas por uma transação são visíveis para outras. Considere uma aplicação bancária de grande porte, utilizando um sistema de gerenciamento de banco de dados (SGBD) com suporte ao nível de isolamento SERIALIZABLE. Nessa configuração, assinale a alternativa que descreve corretamente o comportamento pela escolha do nível de isolamento SERIALIZABLE:
ATransações podem visualizar dados modificados por outras transações antes do commit (dirty reads).
BTransações não utilizam bloqueios para controlar o acesso concorrente.
CA atomicidade da transação é garantida, não a consistência.
DNenhuma transação concorrente pode causar leituras fantasmas (phantom reads).
EEsse nível prioriza o desempenho ao invés da consistência dos dados.
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ível de Isolamento SERIALIZABLE
Gabarito: letra D. O nível SERIALIZABLE é o mais rigoroso do modelo ACID, garantindo que transações concorrentes sejam executadas como se fossem sequenciais, eliminando todas as anomalias de leitura, incluindo as leituras fantasmas (phantom reads). A alternativa D está correta ao afirmar que nenhuma transação concorrente pode causar phantom reads.
A banca testa o conhecimento dos níveis de isolamento definidos pelo padrão SQL. O SERIALIZABLE é o único nível que evita completamente dirty reads, non-repeatable reads e phantom reads. As demais alternativas confundem suas características com outros níveis ou com propriedades distintas do ACID.
1READ UNCOMMITTEDNenhuma
2READ COMMITTEDDirty read
3REPEATABLE READDirty + Non-repeatable
4SERIALIZABLEDirty + Non-repeatable + Phantom
LEVEL · soulevel.com.br
Alternativa A — ❌ Incorreta
Afirma que transações podem visualizar dados não commitados (dirty reads). Isso é característico do nível READ UNCOMMITTED, não do SERIALIZABLE. No SERIALIZABLE, dirty reads são estritamente proibidos.
Alternativa B — ❌ Incorreta
Diz que transações não utilizam bloqueios. Na prática, o SERIALIZABLE geralmente emprega bloqueios (como bloqueios de intervalo) ou técnicas de controle de concorrência multiversão (MVCC) para garantir a serialização. A afirmação de que não há bloqueios é falsa.
Alternativa C — ❌ Incorreta
Afirma que apenas a atomicidade é garantida, e não a consistência. O nível de isolamento não está diretamente ligado à atomicidade; ambas as propriedades são garantidas pelo ACID. O SERIALIZABLE, ao evitar anomalias, contribui para a consistência dos dados.
Alternativa D — ✅ Correta ⟵ GABARITO
Correta. O SERIALIZABLE é o único nível que evita completamente as leituras fantasmas (phantom reads), pois garante que o conjunto de linhas retornado por uma consulta não mude durante a transação.
Alternativa E — ❌ Incorreta
Inverte a prioridade: o SERIALIZABLE prioriza a consistência em detrimento do desempenho. É o nível com maior overhead, justamente para garantir a máxima integridade dos dados.
NÃO CAIA NESSA!
A banca tenta confundir o candidato atribuindo ao SERIALIZABLE características de níveis inferiores (dirty reads, falta de bloqueios) ou invertendo a relação entre desempenho e consistência. Lembre-se: quanto maior o isolamento, menor o desempenho, mas maior a consistência.