Pular para o conteúdo principal

Questão de Banco de Dados — Banco de Dados Relacionais — FCC 2018

Banco de DadosBanco de Dados Relacionais
Código
fc044183
Banca
FCC
Órgão
DPE-AM
Ano
2018
Cargo
Analista em Gestão Especializado de Defensoria - Analista de Banco de Dados
Na implementação de rotinas de recuperação de transações em bancos de dados relacionais, tem papel vital os arquivos de log, sobre os quais é correto afirmar que
  1. Adevem conter valores antigos e novos de registros que sofreram modificações.
  2. Bnão se aplicam a bancos de dados de pequeno porte.
  3. Ccontêm, exclusivamente, indicação de instantes de início e final de cada transação.
  4. Dnão indicam se as transações foram confirmadas ou abortadas.
  5. Eaplicam-se, exclusivamente, a bancos de dados que contenham informações sigilosas.
Revelar gabarito e comentário

GabaritoA — devem conter valores antigos e novos de registros que sofreram modificações.

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”.

Arquivos de log em transações de bancos de dados relacionais

Gabarito: letra A. O arquivo de log (ou log de transações) é essencial para garantir a atomicidade e durabilidade das transações (propriedades ACID). Para permitir a recuperação em caso de falha, o log deve registrar tanto os valores antigos (antes da modificação) quanto os novos (após a modificação) de cada registro alterado — isso viabiliza as operações de undo e redo. É um conceito fundamental, presente em qualquer sistema gerenciador de banco de dados relacional, independentemente do porte ou da sensibilidade dos dados.

Característica

Descrição

Função principal

Garantir atomicidade e durabilidade das transações (propriedades ACID)

Conteúdo essencial

Valores antigos (before) e novos (after) de cada registro modificado

Operações viabilizadas

Undo (desfazer transações não confirmadas) e redo (refazer transações confirmadas)

Abrangência

Aplica-se a bancos de dados de todos os portes, inclusive pequenos (ex.: SQLite com WAL)

Informações registradas

Início/fim de transações, operações individuais (insert, update, delete), dados before/after, flags de commit/abort

Indicação de estado

Sim: registros de commit (confirmada) ou abort (abortada) são escritos no log

Alternativa A — ✅ Correta ⟵ GABARITO

O log de transações precisa conter, para cada operação de escrita (insert, update, delete), os valores before e after (valores antigos e novos). Isso permite desfazer (rollback) uma transação não confirmada usando os valores antigos e refazer (redo) uma transação confirmada que não foi gravada no disco a tempo. Sem essa informação, a recuperação seria impossível.

Alternativa B — ❌ Incorreta

Os logs são utilizados em bancos de dados de todos os portes. Mesmo sistemas pequenos, como bancos embarcados (SQLite), usam logs (geralmente o write-ahead log — WAL) para garantir recuperação e consistência. A afirmação de que "não se aplicam a bancos de dados de pequeno porte" é falsa.

Alternativa C — ❌ Incorreta

O log não contém apenas os instantes de início e fim de cada transação. Ele armazena também, e principalmente, os registros de cada operação individual (inserção, alteração, exclusão), incluindo os dados before/after, além de informações de controle (como identificadores de transação, tipo de operação, e flags de commit/abort). A exclusividade mencionada na assertiva não procede.

Alternativa D — ❌ Incorreta

Os logs indicam sim se as transações foram confirmadas (commit) ou abortadas (rollback). Um registro de commit é escrito no log quando a transação é finalizada com sucesso; um registro de abort (ou a ausência de commit) sinaliza que a transação não foi confirmada e deve ser desfeita. Portanto, a afirmação de que "não indicam" está errada.

Alternativa E — ❌ Incorreta

A aplicação de logs não é exclusiva para bancos de dados com informações sigilosas. Todo banco de dados relacional que visa garantir durabilidade e atomicidade (propriedades ACID) utiliza logs, independentemente do conteúdo. Logs são uma técnica padrão de recuperação, não uma medida de segurança voltada apenas a dados sigilosos.

PEGA ESSA DICA!

Em provas sobre banco de dados, lembre-se sempre das propriedades ACID. A função do log de transações está diretamente ligada à atomicidade (rollback) e à durabilidade (redo). A presença de valores "antes e depois" é o ponto central. Questões que afirmam que logs servem apenas para indicar início/fim, ou que são restritos a bancos grandes ou sigilosos, são distratores fáceis de eliminar.

Gabarito: letra A

Link permanente: /questoes/fc044183