Pular para o conteúdo principal

Questão de Banco de Dados — Recuperação de Dados em SGBDs — CESPE / CEBRASPE 2023

Banco de DadosRecuperação de Dados em SGBDs
Código
ce398072
Banca
CESPE / CEBRASPE
Órgão
DATAPREV
Ano
2023
Cargo
Ana TI ( )

No que se refere à recuperação após falha, julgue o item a seguir.

 

Na recuperação baseada em log, o identificador de item de dados é o identificador exclusivo da transação que realizou a operação WRITE.

  1. CCerto
  2. EErrado
Revelar gabarito e comentário

GabaritoE — Errado

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Recuperação de dados: registros de log e identificadores

Gabarito: Errado. Na recuperação baseada em log, o identificador de item de dados não é o identificador exclusivo da transação que realizou a operação WRITE — o identificador de item de dados é o identificador do próprio dado (por exemplo, o nome do campo ou o endereço do registro), enquanto o identificador da transação é um campo separado no registro de log. A afirmação confunde dois conceitos distintos que coexistem em cada entrada de log.

A recuperação baseada em log é uma técnica fundamental de recuperação de falhas em sistemas de gerenciamento de banco de dados (SGBD). O log — também chamado de diário do SGBD — é um arquivo sequencial, apenas para inserção, mantido em disco, que registra todas as operações que alteram o estado do banco de dados. Quando uma transação executa uma operação de escrita (WRITE), o SGBD grava um registro de log contendo informações essenciais para que, em caso de falha, seja possível desfazer (undo) ou refazer (redo) as operações.

Cada registro de log de uma operação WRITE contém, tipicamente, os seguintes campos: o identificador da transação (T), o identificador do item de dados (X), o valor antigo e o valor novo. O identificador da transação é um valor exclusivo gerado automaticamente pelo sistema para cada transação, usado para identificar qual transação realizou a operação. Já o identificador do item de dados é o identificador do próprio dado que foi modificado — por exemplo, o nome do campo ou o endereço do registro no banco. São, portanto, dois identificadores distintos, cada um com sua função: um identifica a transação; o outro identifica o dado.

A confusão entre esses dois identificadores é exatamente o que a banca explora nesta questão. O candidato que não domina a estrutura dos registros de log pode facilmente marcar como correto, achando que o identificador de item de dados se refere à transação. Mas a estrutura correta de um registro de log de escrita é algo como: [write_item, T, X, valor_antigo, valor_novo], onde T é o identificador da transação e X é o identificador do item de dados. São campos independentes e complementares.

Para fixar: o log registra operações, não apenas transações. Cada operação de escrita gera um registro que identifica tanto a transação quanto o dado afetado. A recuperação usa esses registros para desfazer ou refazer operações específicas, retornando os itens alterados aos seus valores antigos ou reaplicando os valores novos, conforme o caso.

NÃO CAIA NESSA!

A banca troca o identificador do item de dados pelo identificador da transação. São dois campos distintos no registro de log: o identificador da transação (T) identifica quem executou a operação; o identificador do item de dados (X) identifica qual dado foi modificado. Guarde a estrutura do registro de log — [write_item, T, X, valor_antigo, valor_novo] — e essa pegadinha não te derruba mais.

Registro de log (WRITE)
  • 1Identificador da transação (T)
    • Identifica quem executou
  • 2Identificador do item de dados (X)
    • Identifica o dado modificado
  • 3Valor antigo
  • 4Valor novo
LEVEL · soulevel.com.br

Item — ❌ Errado

A afirmação está incorreta porque atribui ao identificador de item de dados uma função que pertence ao identificador da transação. No registro de log de uma operação WRITE, o identificador de item de dados (X) identifica o dado que foi modificado — por exemplo, o nome do campo ou o endereço do registro —, enquanto o identificador da transação (T) é um campo separado, que identifica exclusivamente a transação que realizou a operação. A estrutura típica de um registro de log de escrita é [write_item, T, X, valor_antigo, valor_novo], com T e X como campos independentes. Portanto, a afirmação de que o identificador de item de dados é o identificador exclusivo da transação está errada.

Gabarito: Errado.

Link permanente: /questoes/ce398072