Para recuperar-se de falhas que afetam transações, um SGBD p...
a Internet, julgue os próximos itens.
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Alternativa correta: C - certo
O conceito abordado nesta questão é o mecanismo de recuperação de transações em um Sistema de Gerenciamento de Banco de Dados (SGBD). Compreender esse mecanismo é fundamental para garantir a integridade e a consistência dos dados mesmo na presença de falhas. Vamos destacar os componentes essenciais para entender a questão:
- Transação: uma sequência de operações realizadas no banco de dados que são vistas como uma única unidade lógica de trabalho.
- Log: um registro sequencial onde todas as operações de uma transação são armazenadas, incluindo informações como start_transaction e commit.
- Commit: uma operação que indica que uma transação foi concluída com sucesso e seus resultados podem ser permanentemente aplicados ao banco de dados.
- Rollback: o processo de desfazer as operações de uma transação que não foi concluída com sucesso, retornando o banco de dados ao estado consistente anterior.
Para uma recuperação efetiva, o SGBD analisa o log em busca de transações que iniciaram, mas não foram concluídas com um commit. Essas transações são consideradas incompletas ou falhas, e seus efeitos devem ser anulados. Esse processo de reversão é o rollback, e sua função é assegurar que alterações parciais feitas por transações incompletas não persistam no banco de dados, mantendo assim a sua integridade. A questão está correta ao afirmar que as transações sem registro de commit no log devem ser revertidas. Este é o princípio fundamental para a recuperação de falhas em um ambiente de banco de dados transacional.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
Portanto, questão correta.
Bons estudos.
Referência:
Sistema de Banco de Dados / A. Silberschatz, H. Korth, S. Susarshan. Elsevier, 2006.
Se após a falha o SGBD localizar registro de Star e Commit, a transação será refeita(redo).
fonte: Sistemas de Banco de Dados - Silberschatz, Korth e Sudarshan.
Bons estudos.
Complemento nas palavras de Navathe
Segundo Navathe(2011,p.507),"Se houver uma falha no sistema, podemos pesquisar de volta no log para todas as transações T que gravaram um registro [start_transaction, T] no log, mas ainda não gravaram seu registro [commit, T]. Essas transações podem ter de ser descartadas(rollback) para desfazer seu efeito sobre o banco de dados durante o processo de recuperação."
Bibliografia:
SISTEMAS DE BANCO DE DADOS- 6 EDIÇÃO 2011- NAVATHE
Certinho.
Todas as alterações em uma transação ativa são gravados no log de UNDO (arquivo em memória estável), pois em caso de falha a transação poderá ser desfeita (desfeita pois ainda não foi dado COMMIT). Quando a transação for dado COMMIT, as alterações desta transação serão transferidos para uma outra área, também em memória estável (disco), chamado REDO. Nesta área, se houver alguma falha no banco, a transação poderá ser refeita.
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo