Para recuperar-se de falhas que afetam transações, um SGBD p...

Próximas questões
Com base no mesmo assunto
Q53008 Banco de Dados
Acerca de arquiteturas de aplicações cliente-servidor e para
a Internet, julgue os próximos itens.

Para recuperar-se de falhas que afetam transações, um SGBD pode manter um log, de modo a controlar as operações da transação que afetem valores dos itens do banco de dados. Quando de uma falha, o SGBD deve buscar, no log, as transações T com registro [start_transaction,T], mas que não tenham o registro [commit,T]. Essas transações serão revertidas (rollback), de modo a possibilitar que seus efeitos sejam desfeitos no banco de dados.
Alternativas

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

Sem pegadinhas - Definição Perfeita.
Segundo Silberschatz essa técnica é a modificação imediata no banco de dados, que permite que as modificações sejam enviadas ao BD enquanto a transação ainda está no seu estado ativo. Na ocorrência  de uma falha, o sistema precisa usar o campo 'valor antigo' dos registros de log para restaurar os itens de dados (rollback) moficidados para o valor que tinham antes do início da transação; tarefa feita pela operação undo.


Portanto, questão correta.


Bons estudos.


Referência:
Sistema de Banco de Dados / A. Silberschatz, H. Korth, S. Susarshan. Elsevier, 2006.
Para complementar o conceito de recuperação.

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