Pular para o conteúdo principal

Questão de Banco de Dados — Transações (Locks, ACID, etc.) — FGV 2024

Banco de DadosTransações (Locks, ACID, etc.)
Código
fg165245
Banca
FGV
Órgão
TJ MS
Ano
2024
Cargo
Tec NS ( )
No processamento de transações em bancos de dados, é fundamental garantir que uma transação não sofra interferências de outras transações executadas simultaneamente. Para isso, o resultado parcial de uma transação não deve ser acessado por outra transação, até a sua efetivação.   Nesse sentido, deve ser assegurada a propriedade de transação conhecida como:
  1. Aatomicidade;
  2. Bconsistência;
  3. Cisolamento;
  4. Ddurabilidade;
  5. Enormalização.
Revelar gabarito e comentário

GabaritoC — isolamento;

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”.

Propriedades ACID: Isolamento

Gabarito: letra C. A propriedade que garante que o resultado parcial de uma transação não seja acessado por outra transação até a sua efetivação é o isolamento — uma das quatro propriedades ACID (Atomicidade, Consistência, Isolamento e Durabilidade) que regem o processamento de transações em bancos de dados.

O enunciado descreve exatamente o conceito de isolamento: cada transação deve operar como se fosse a única no sistema, sem que outras transações concorrentes enxerguem seus resultados intermediários. Essa propriedade é essencial para evitar problemas de concorrência, como leituras sujas (dirty reads), leituras não repetíveis e leituras fantasma.

Vamos entender cada propriedade ACID para fixar:

  • Atomicidade: trata a transação como uma unidade indivisível — ou todas as operações são executadas com sucesso (commit), ou nenhuma delas (rollback). É o princípio do "tudo ou nada".

  • Consistência: garante que a transação leve o banco de dados de um estado válido para outro estado válido, respeitando todas as regras e restrições (chaves, unicidade, integridade referencial).

  • Isolamento: assegura que transações simultâneas não interfiram umas nas outras; os resultados parciais de uma transação não são visíveis para as demais até o commit.

  • Durabilidade: uma vez confirmada (commit), as alterações são permanentes, mesmo em caso de falha do sistema.

A pegadinha da questão está em distinguir isolamento de atomicidade. A atomicidade também lida com "não deixar transações parciais", mas sob o aspecto da indivisibilidade lógica (tudo ou nada), não da visibilidade entre transações concorrentes. O isolamento é especificamente sobre o controle de concorrência — é ele que impede que uma transação veja o trabalho parcial de outra.

Na prática, o isolamento é implementado pelo SGBD por meio de locks (bloqueios) e níveis de isolamento (READ UNCOMMITTED, READ COMMITTED, REPEATABLE READ, SERIALIZABLE), que controlam o grau de exposição entre transações concorrentes.

Guarde a fronteira: atomicidade = indivisibilidade da transação; isolamento = não interferência entre transações concorrentes. É exatamente nessa distinção que as alternativas se dividem.

Alternativa A — ❌ Incorreta

A atomicidade garante que a transação seja executada por completo ou não seja executada (tudo ou nada), mas não trata da visibilidade de resultados parciais entre transações concorrentes. O enunciado fala de "não sofrer interferências de outras transações executadas simultaneamente", o que é isolamento, não atomicidade.

Alternativa B — ❌ Incorreta

A consistência assegura que o banco de dados permaneça em um estado válido após a transação, respeitando regras e restrições de integridade. Não tem relação com o acesso a resultados parciais por outras transações.

Alternativa C — ✅ Correta ⟵ GABARITO

O isolamento é exatamente a propriedade que garante que uma transação não sofra interferência de outras transações executadas simultaneamente, e que o resultado parcial de uma transação não seja acessado por outra até a sua efetivação (commit). É o mecanismo de controle de concorrência do SGBD.

Alternativa D — ❌ Incorreta

A durabilidade garante que, após o commit, as alterações sejam permanentes e persistam mesmo em caso de falha do sistema. Não trata da interferência entre transações concorrentes.

Alternativa E — ❌ Incorreta

Normalização é um processo de modelagem de dados para eliminar redundâncias e anomalias, não é uma propriedade de transações. Não se aplica ao contexto de concorrência.

Gabarito: letra C

Link permanente: /questoes/fg165245