Pular para o conteúdo principal

Questão de Banco de Dados — Concorrência em Banco de Dados — FURB 2025

Banco de DadosConcorrê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:
  1. ATransações podem visualizar dados modificados por outras transações antes do commit (dirty reads).
  2. BTransações não utilizam bloqueios para controlar o acesso concorrente.
  3. CA atomicidade da transação é garantida, não a consistência.
  4. DNenhuma transação concorrente pode causar leituras fantasmas (phantom reads).
  5. EEsse nível prioriza o desempenho ao invés da consistência dos dados.
Revelar gabarito e comentário

GabaritoD — Nenhuma transação concorrente pode causar leituras fantasmas (phantom reads).

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.

  1. 1READ UNCOMMITTEDNenhuma
  2. 2READ COMMITTEDDirty read
  3. 3REPEATABLE READDirty + Non-repeatable
  4. 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.

Gabarito: letra D

Link permanente: /questoes/qg497153