Questão nº 38
Questão de Tecnologia da Informação · FGV TJ-MS 2024 (nº 38)
No contexto de atualização imediata, o banco de dados pode ser atualizado por algumas operações de uma transação antes que ela alcance seu ponto de confirmação. Dessa forma, durante a recuperação de um banco de dados após uma falha de transação, é necessário desfazer as operações não confirmadas e refazer as operações confirmadas para manter a integridade dos dados.
Para tanto, o algoritmo de recuperação do banco de dados que deverá ser aplicado é:
- AUNDO/REDO; (alternativa correta)
- BUNDO/NO-REDO;
- CNO-UNDO/REDO;
- DROLLBACK/COMMIT;
- ECOMMIT/ROLLBACK.
Resposta comentada
Gabarito Alternativa A
Em um sistema de atualização imediata, as mudanças de uma transação são escritas no banco de dados antes mesmo que a transação seja confirmada. Se houver uma falha, é preciso desfazer as mudanças de transações que não terminaram (não confirmadas) e refazer as mudanças de transações que terminaram com sucesso (confirmadas) para garantir que nada se perca.
(A) Correta: O algoritmo UNDO/REDO é o método de recuperação aplicado em sistemas de atualização imediata. Ele desfaz as operações de transações não confirmadas (UNDO) e refaz as operações de transações confirmadas (REDO) para restaurar o banco de dados a um estado consistente após uma falha.
(B) Incorreta: UNDO/NO-REDO é usado quando todas as operações confirmadas são garantidas de estarem no disco antes da falha, o que não é o caso geral da atualização imediata.
(C) Incorreta: NO-UNDO/REDO é usado em sistemas de atualização adiada (deferred update), onde as mudanças só são escritas no banco de dados após a transação ser confirmada, o que contradiz a descrição da questão.
(D) Incorreta: ROLLBACK/COMMIT são comandos ou estados de uma transação (desfazer/confirmar), não o nome de um algoritmo de recuperação que lida com a persistência dos dados após uma falha. Esta é a armadilha, pois usa termos relacionados à gestão de transações, mas não descreve o algoritmo de recuperação pós-falha.
(E) Incorreta: COMMIT/ROLLBACK são comandos ou estados de uma transação, não um algoritmo de recuperação de banco de dados.
Fonte: FGV TJ-MS 2024 Técnico de Nível Superior - Analista de Banco de Dados (Caderno Tipo 1). Reproduzida para fins de estudo.