Pular para o conteúdo principal

Questão de Banco de Dados — Transações (Locks, ACID, etc.) — VUNESP 2023

Banco de DadosTransações (Locks, ACID, etc.)
Código
vu196271
Banca
VUNESP
Órgão
Pref Peruíbe
Ano
2023
Cargo
Ana Sis (Peruíbe)
Em sistemas de bancos de dados, a propriedade caracterizada pela garantia de que uma série de operações em uma transação serão executadas por completo (em caso de sucesso), ou então que nenhuma dessas operações irá ocorrer (em caso de falha), não sendo possível que ocorram parcialmente, é chamada de
  1. Aconsistência.
  2. Batomicidade.
  3. Cisolamento.
  4. Ddurabilidade.
  5. Eidempotência.
Revelar gabarito e comentário

GabaritoB — atomicidade.

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: atomicidade

Gabarito: letra B. A propriedade descrita no enunciado — executar todas as operações de uma transação em caso de sucesso, ou nenhuma delas em caso de falha — é a atomicidade, o "tudo ou nada" das transações em bancos de dados. As demais propriedades ACID (consistência, isolamento e durabilidade) tratam de aspectos distintos, e a idempotência nem sequer faz parte do acrônimo ACID.

Uma transação é uma unidade lógica de trabalho, composta por várias operações sobre os dados (leituras, inserções, atualizações, exclusões). O exemplo clássico é a transferência bancária: debitar R$ 100 da conta A e creditar R$ 100 na conta B são duas operações que, juntas, formam uma única transação. A atomicidade garante que essas operações sejam tratadas como um bloco indivisível: ou todas são executadas com sucesso (commit), ou, se qualquer uma falhar, todas são desfeitas (rollback), retornando o banco ao estado anterior. Jamais pode ocorrer o débito sem o crédito, ou vice-versa.

A responsabilidade por garantir a atomicidade é do subsistema de recuperação de transações do SGBD, que utiliza mecanismos como logs para desfazer (rollback) ou confirmar (commit) as operações. É importante distinguir a atomicidade das outras propriedades ACID:

Propriedade

O que garante

Responsável no SGBD

Atomicidade

Tudo ou nada: a transação é indivisível

Subsistema de recuperação

Consistência

O banco vai de um estado válido a outro, respeitando regras e restrições

Programador / módulo de integridade

Isolamento

Transações simultâneas não interferem entre si

Subsistema de controle de concorrência

Durabilidade

Efeitos de transações confirmadas são permanentes

Subsistema de recuperação

A pegadinha desta questão é justamente a confusão entre atomicidade e consistência. A consistência trata do respeito às regras de integridade (chaves, restrições, unicidade), enquanto a atomicidade trata da indivisibilidade da execução. O enunciado fala explicitamente em "executadas por completo" ou "nenhuma dessas operações irá ocorrer" — isso é a definição literal de atomicidade, o "tudo ou nada".

Guarde a fronteira: atomicidade = indivisibilidade da execução (tudo ou nada); consistência = validade do estado (respeito às regras). É exatamente nessa distinção que as alternativas se separam.

1Atomicidade
Tudo ou nada
Commit ou rollback
2Consistência
Estado válido
Respeita regras de integridade
3Isolamento
Transações simultâneas não interferem
4Durabilidade
Efeitos permanentes após commit
Propriedades ACID
LEVELsoulevel.com.br
Propriedades ACID: Atomicidade (Tudo ou nada, Commit ou rollback); Consistência (Estado válido, Respeita regras de integridade); Isolamento (Transações simultâneas não interferem); Durabilidade (Efeitos permanentes após commit)

Alternativa A — ❌ Incorreta

A consistência garante que a transação leve o banco de dados de um estado consistente para outro, respeitando todas as regras e restrições de integridade (chaves estrangeiras, unicidade, checagem de valores). Não trata da execução completa ou parcial das operações, mas da validade do estado resultante. O enunciado não menciona regras ou restrições — fala de execução integral ou nenhuma, o que é atomicidade.

Alternativa B — ✅ Correta ⟵ GABARITO

A atomicidade é exatamente a propriedade descrita: a transação é uma unidade lógica indivisível, executada por completo (commit) ou não executada (rollback em caso de falha). O texto do enunciado — "executadas por completo (em caso de sucesso), ou então que nenhuma dessas operações irá ocorrer (em caso de falha)" — é a definição clássica de atomicidade, o princípio do "tudo ou nada".

Alternativa C — ❌ Incorreta

O isolamento garante que transações executadas simultaneamente não interfiram umas nas outras, de modo que uma transação não visualize resultados parciais de outra em andamento. É uma propriedade de concorrência, não de execução integral ou parcial de uma única transação. O enunciado não trata de transações simultâneas, mas da indivisibilidade de uma transação individual.

Alternativa D — ❌ Incorreta

A durabilidade garante que os efeitos de uma transação confirmada (commit) sejam permanentes, persistidos em armazenamento estável, e somente possam ser desfeitos por uma transação subsequente. Não trata da execução completa ou parcial das operações, mas da persistência dos resultados após a confirmação. O enunciado fala de execução, não de persistência.

Alternativa E — ❌ Incorreta

Idempotência é um conceito de sistemas distribuídos e APIs: uma operação é idempotente se pode ser aplicada múltiplas vezes produzindo o mesmo resultado (ex.: definir um valor, em vez de incrementá-lo). Não faz parte das propriedades ACID de transações em bancos de dados e não tem relação com a execução integral ou parcial descrita no enunciado.

Gabarito: letra B — a propriedade descrita é a atomicidade, o "tudo ou nada" das transações ACID.

Link permanente: /questoes/vu196271