Questão nº 64

Questão de Banco de Dados · FGV CGU 2021 - Tarde (nº 64)

FGV2021Auditor Federal de Finanças e Controle - Área Tecnologia da InformaçãoBanco de Dados
Gabarito: Bver comentário ↓

Considere uma transação T1 de bancos de dados que transfere uma quantia em dinheiro da conta A para a conta B, gravando uma retirada da conta A e um depósito para a conta B.

Analise as três intercorrências independentes que poderiam surgir numa transação desse tipo.

I. É feita a retirada da conta A, mas T1 falha; a retirada é mantida, mas o depósito na conta B não é efetuado.
II. A retirada da conta A é efetuada; uma transação T2 lê o saldo da conta A após a retirada; o depósito na conta B falha e a retirada é revertida. T2 prossegue, com valores errôneos.
III. T1 é completada normalmente, mas há uma posterior falha na instalação, e as operações realizadas na execução de T1 são perdidas.

No âmbito das propriedades ACID para bancos de dados, além da consistência, a violação em cada caso, na ordem, é:

Resposta comentada

Gabarito Alternativa B

Conceito-chave: ACID são as quatro garantias de uma transação: Atomicidade (tudo ou nada), Isolamento (transações não enxergam estados intermediários umas das outras) e Durabilidade (uma vez commitada, a mudança sobrevive a falhas). A Consistência é o estado válido dos dados antes e depois.

  • (A) Incorreta: A ordem está errada: o caso II é isolamento (T2 viu estado intermediário), não durabilidade; e o caso III é durabilidade, não isolamento.
  • (B) Correta: Caso I viola atomicidade (retirada sem depósito = parcial); caso II viola isolamento (T2 leu dado não commitado, depois revertido); caso III viola durabilidade (dados commitados perdidos após falha).
  • (C) Incorreta: Caso I não é durabilidade (durabilidade só se aplica a transações commitadas; T1 falhou); caso III não é atomicidade (T1 completou, mas o efeito sumiu).
  • (D) Incorreta: Caso I não é isolamento (é falha parcial da própria T1, sem outra transação envolvida); caso III não é atomicidade (T1 foi completa).
  • (E) Incorreta: Caso I não é isolamento; caso II não é durabilidade (durabilidade não se aplica a transação revertida); caso III não é atomicidade.

Armadilha do distrator (A): A banca troca isolamento e durabilidade de posição. No caso II, a pegadinha é pensar "a transação foi revertida, então é atomicidade", mas atomicidade se refere à própria transação (T1), e aqui T1 foi revertida corretamente. O erro real é T2 ter lido um valor intermediário — isso é violação de isolamento. No caso III, a falha é após o commit — isso é durabilidade, não atomicidade.

Fonte: FGV CGU 2021 - Tarde Auditor Federal de Finanças e Controle - Área Tecnologia da Informação (Caderno Tipo 1). Reproduzida para fins de estudo.

Continue estudando

Estudar é izi

Pratique milhares de questões como esta, de graça, com explicação e gamificação no Quizinho.

Estudar de graça no Quizinho