Questão de Banco de Dados — Banco de Dados — FUNDATEC 2023
Banco de Dados›Banco de Dados
Código
qq896942
Banca
FUNDATEC
Órgão
PROCERGS
Ano
2023
Nível
Superior
Cargo
ANC - Analista em Computação - Ênfase em Suporte de Banco de Dados
Assinale a alternativa que indica um cenário em que a propriedade atomicidade da sigla ACID seria violada num sistema de banco de dados.
AUma transação atualiza duas tabelas diferentes sem nenhuma característica em comum e realiza o “commit” com sucesso, implementando as atualizações nas tabelas.
BUma transação começa com uma atualização de uma tabela, mas não completa a atualização por causa de uma falha na rede, resultando na transação sendo revertida ao seu estado anterior (rollback).
CUma transação começa com uma atualização a uma tabela, finaliza a transação, implementando a atualização na tabela, mas, após a transação ser finalizada, há uma falha na rede.
DUma transação começa com uma atualização a uma tabela, mas outra transação realiza uma leitura na tabela antes da atualização ser implementada (commit da primeira transação), resultando na primeira transação sendo revertida (rollback).
EUma transação começa com uma atualização a uma tabela, mas a atualização é interrompida pelo desligamento do servidor, resultando na reversão da transação (rollback).
Revelar gabarito e comentário▾
GabaritoD — Uma transação começa com uma atualização a uma tabela, mas outra transação realiza uma leitura na tabela antes da atualização ser implementada (commit da primeira transação), resultando na primeira transação sendo revertida (rollback).
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”.
Propriedades ACID: Violação da Atomicidade
Gabarito: letra D. A atomicidade garante que uma transação seja executada por completo (commit) ou totalmente desfeita (rollback), sem deixar estados intermediários visíveis. A alternativa D descreve uma situação onde uma transação realiza uma atualização, outra transação lê esses dados antes do commit da primeira, e então a primeira é revertida. Isso viola a atomicidade porque os efeitos parciais da transação (atualização) foram expostos a outra transação antes de sua conclusão, quebrando o princípio da indivisibilidade.
A questão testa o entendimento das propriedades ACID, especialmente a diferença entre atomicidade e isolamento. Enquanto as demais alternativas mostram casos em que a atomicidade é mantida (commit ou rollback adequados), a alternativa D apresenta uma interferência indevida que compromete a atomicidade.
Alternativa
Descrição do Cenário
Violação da Atomicidade?
Motivo
A
Transação atualiza duas tabelas e realiza commit com sucesso.
Não
Todas as operações foram efetivadas como uma unidade atômica.
B
Transação sofre falha de rede e é revertida (rollback).
Não
A transação foi completamente desfeita, sem deixar estados intermediários.
C
Transação realiza commit, depois ocorre falha de rede.
Não
A atomicidade foi garantida no commit; a falha posterior afeta a durabilidade, não a atomicidade.
D
Transação T1 atualiza, T2 lê antes do commit de T1, e T1 sofre rollback.
Sim
Efeitos parciais de T1 foram expostos a T2, quebrando a indivisibilidade da transação.
E
Transação é interrompida por desligamento do servidor e sofre rollback.
Não
A transação foi revertida completamente, preservando a atomicidade.
Alternativa A — ❌ Incorreta
A transação atualiza duas tabelas e realiza commit com sucesso. A atomicidade foi respeitada: todas as operações foram efetivadas de uma só vez.
Alternativa B — ❌ Incorreta
Ocorre uma falha de rede no meio da transação, mas ela é revertida (rollback). A atomicidade é mantida, pois a transação foi completamente desfeita, evitando qualquer estado parcial.
Alternativa C — ❌ Incorreta
A transação é finalizada com commit antes da falha de rede. A atomicidade foi garantida no momento do commit; a falha posterior pode afetar a durabilidade, mas não a atomicidade.
Alternativa D — ✅ Correta ⟵ GABARITO
Uma transação (T1) atualiza uma tabela, outra transação (T2) lê esses dados antes do commit de T1, e depois T1 sofre rollback. Aqui, a atomicidade é violada porque T2 teve acesso a um estado intermediário de T1, o que não deveria ocorrer. A transação T1 não foi executada como uma unidade atômica: seus efeitos parciais foram visíveis, mesmo que no final ela tenha sido desfeita.
Alternativa E — ❌ Incorreta
O servidor desliga no meio da transação, mas ela é revertida (rollback). Novamente, a atomicidade é preservada pelo rollback.
NÃO CAIA NESSA!
A banca explora a confusão entre atomicidade e isolamento. Muitos candidatos pensam que um rollback (em B ou E) viola a atomicidade, quando na verdade é o mecanismo que a garante. Já em D, a leitura não autorizada é tipicamente associada ao isolamento, mas o fato de a transação ser revertida após a leitura fere o caráter indivisível da transação, configurando violação da atomicidade.