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, é:
- A)atomicidade, durabilidade, isolamento;
Errada, porque troca as violações do caso II e III, atribuindo durabilidade ao segundo cenário e isolamento ao terceiro.
- B)atomicidade, isolamento, durabilidade;
Certa, pois o caso I viola atomicidade, o caso II viola isolamento e o caso III viola durabilidade.
- C)durabilidade, isolamento, atomicidade;
Errada, porque coloca durabilidade no caso I e atomicidade no caso III, invertendo o sentido das falhas.
- D)isolamento, atomicidade, durabilidade;
Errada, porque o caso I não é isolamento e o caso II não é atomicidade; a sequência também não bate com os efeitos descritos.
- E)isolamento, durabilidade, atomicidade.
Errada, porque o primeiro caso não trata de isolamento, e o terceiro não trata de atomicidade; há inversão das propriedades.
Gabarito: B
Em transações, pense no ACID como quatro “travas” para o banco não virar bagunça. A consistência garante que o estado permaneça válido; aqui, a questão pede a falha em outras propriedades, caso a caso. O segredo é olhar o efeito prático de cada intercorrência: se uma parte da operação fica e a outra não, o problema é de atomicidade, porque a transação deveria acontecer como um todo ou não acontecer. No caso II, outra transação lê um valor intermediário e depois a operação é desfeita, então o erro é de isolamento, pois uma transação não deveria enxergar um estado “em obra”. Já no caso III, T1 termina com sucesso, mas depois os dados somem por falha na instalação, o que viola a durabilidade, isto é, o compromisso de que o que foi confirmado permanece salvo. É exatamente por isso que o gabarito é B: atomicidade, isolamento e durabilidade, nessa ordem.