Questão de Banco de Dados — Banco de Dados Relacionais — FCC 2018
Banco de Dados›Banco 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
Adevem conter valores antigos e novos de registros que sofreram modificações.
Bnão se aplicam a bancos de dados de pequeno porte.
Ccontêm, exclusivamente, indicação de instantes de início e final de cada transação.
Dnão indicam se as transações foram confirmadas ou abortadas.
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.