A respeito de arquitetura, segurança, integridade, concorrên...

Próximas questões
Com base no mesmo assunto
Q3156735 Banco de Dados

A respeito de arquitetura, segurança, integridade, concorrência, recuperação após falhas e gerenciamento de transições em sistemas de gerenciamento de banco de dados (SGDB), julgue o próximo item.


Se a recuperação de falhas for realizada por meio do rollback, o SGDB que utiliza log de transações retornará todas as transições, tanto as confirmadas quanto as não confirmadas, a fim de garantir que o sistema retorne ao estado anterior à falha.

Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Para abordar a questão proposta, é essencial compreender o tema central em torno dos Sistemas de Gerenciamento de Banco de Dados (SGBD), especificamente a recuperação de falhas e o uso do log de transações.

Nos SGBDs, o log de transações é um componente crítico para garantir a integridade e a consistência dos dados em caso de falhas. Este log registra todas as operações realizadas no banco de dados, permitindo que o sistema retome um estado consistente após uma interrupção.

Durante a recuperação de falhas, duas operações são fundamentais: rollback e redo. O rollback desfaz transações que não foram confirmadas (ou committed), enquanto o redo reaplica operações de transações que já haviam sido confirmadas antes da falha.

No enunciado, é afirmado que um SGBD ao utilizar rollback retornaria todas as transições (ou transações), tanto as confirmadas quanto as não confirmadas. Aqui está o ponto central do erro: o rollback apenas desfaz transações não confirmadas, não afetando transações confirmadas.

A alternativa correta, portanto, é Errado (E), uma vez que a afirmação de que o rollback retornaria todas as transações, inclusive as confirmadas, é incorreta.

Portanto, para resolver questões desse tipo, é fundamental compreender a diferença entre as operações de rollback e redo e o papel do log de transações em garantir a integridade dos dados após falhas.

Gostou do comentário? Deixe sua avaliação aqui embaixo!

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

errada

só as que não foram confirmadas retornarão.

JUSTIFICATIVA - Errado. Em SGBDs que utilizam log de transações, o processo de recuperação de falhas usa “rollback” para desfazer transações não confirmadas, assegurando que apenas as transações confirmadas permaneçam no banco de dados. Isso mantém a integridade dos dados, revertendo operações não concluídas em caso de falha.

Imagine um banco de dados que está processando duas transações:

  1. Transação A: INSERT INTO clientes VALUES (1, 'João')
  2. Transação B: UPDATE saldo SET valor = valor - 100 WHERE conta = 123
  • Se o sistema falhar:
  • Antes de registrar Transação A no log: Nenhuma alteração será aplicada ao banco de dados, então o registro de João não aparecerá.
  • Após registrar Transação A no log, mas antes de aplicá-la no banco de dados: O sistema pode reaplicar a operação após a recuperação, garantindo que João seja inserido.
  • Durante a execução de Transação B: Se for interrompida antes de ser completamente registrada no log, qualquer mudança parcial será desfeita.

Rollback é um processo que permite reverter uma transação em um sistema de gerenciamento de banco de dados (SGBD). Ele é uma ferramenta importante para manter a integridade dos dados e garantir que as operações possam ser desfeitas em caso de falhas. 

O rollback é utilizado quando uma transação falha e o banco de dados deve retornar ao estado anterior ao início da transação. 

O rollback é implementado com um log de transações, mas também pode ser implementado por meio do controle de simultaneidade multiversão. 

O comando ROLLBACK é um dos comandos que fazem parte do TCL (Transaction Control Language) no SQL. 

Se ja foi confirmada pq iria retornar? Gabarito errado

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo