Pular para o conteúdo principal

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

Banco de DadosTransações (Locks, ACID, etc.)
Código
qa630673
Banca
Quadrix
Órgão
NOVACAP
Ano
2024
Cargo
Ana Sis ( )
Acerca dos bancos de dados relacionais e da álgebra relacional, julgue o item a seguir.   Devido ao fato de as transações nos bancos de dados relacionais serem de baixa complexidade, elas não são estruturadas com as propriedades ACID.
  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”.

Transações ACID em bancos de dados relacionais

Gabarito: ERRADO (letra E). A afirmação está incorreta porque as transações em bancos de dados relacionais são estruturadas com as propriedades ACID — Atomicidade, Consistência, Isolamento e Durabilidade — independentemente da complexidade da transação. O ACID é um conjunto de garantias fundamentais oferecidas pelos SGBDs relacionais para assegurar a integridade e a confiabilidade dos dados, e não algo que se aplica apenas a transações complexas.

As propriedades ACID são um dos pilares dos sistemas de banco de dados relacionais. Elas garantem que cada transação seja processada de forma confiável, mesmo em cenários de falhas ou concorrência. A sigla representa:

  • Atomicidade: a transação é uma unidade indivisível — ou todas as operações são executadas com sucesso (commit) ou nenhuma delas é aplicada (rollback).

  • Consistência: a transação leva o banco de dados de um estado válido para outro estado válido, respeitando todas as regras e restrições definidas (chaves, checks, etc.).

  • Isolamento: transações concorrentes não interferem umas nas outras; o resultado final é o mesmo que se fossem executadas em sequência.

  • Durabilidade: uma vez confirmada (commit), as alterações são permanentes, mesmo diante de falhas de hardware ou queda do sistema.

Essas propriedades são implementadas pelo SGBD por meio de mecanismos como controle de concorrência (locks) e log de transações. A complexidade da transação — se é uma simples atualização de um registro ou uma operação que envolve múltiplas tabelas — não altera a necessidade de garantir ACID. Pelo contrário, é justamente em transações que envolvem múltiplas operações que a atomicidade e o isolamento se tornam ainda mais críticos.

Um exemplo clássico: uma transferência bancária entre duas contas. Essa transação envolve duas operações — debitar da conta A e creditar na conta B. Se ocorrer uma falha após o débito, mas antes do crédito, a atomicidade garante que o débito seja desfeito (rollback), mantendo a consistência do banco. Esse é um caso de transação de baixa complexidade, mas que exige plenamente as propriedades ACID.

A banca explora aqui uma confusão comum: associar ACID apenas a sistemas complexos ou distribuídos, quando na verdade é um requisito básico de qualquer SGBD relacional. Em contrapartida, sistemas NoSQL frequentemente adotam o modelo BASE (Basically Available, Soft state, Eventually consistent), que relaxa algumas dessas garantias em prol de escalabilidade — mas isso não se aplica aos bancos relacionais tradicionais.

Portanto, a premissa do enunciado — de que transações relacionais são de baixa complexidade e por isso não usam ACID — é duplamente equivocada: primeiro, porque a complexidade não é critério para a aplicação do ACID; segundo, porque mesmo transações simples dependem dessas propriedades para garantir a integridade dos dados.

1Atomicidade
Tudo ou nada (commit/rollback)
2Consistência
Estado válido → estado válido
3Isolamento
Concorrência não interfere
4Durabilidade
Commit é permanente
5Aplicação
Sempre, independente da complexidade
Exemplo: transferência bancária
6Contraste
NoSQL → BASE (relaxa ACID)
ACID
LEVELsoulevel.com.br
ACID: Atomicidade (Tudo ou nada (commit/rollback)); Consistência (Estado válido → estado válido); Isolamento (Concorrência não interfere); Durabilidade (Commit é permanente); Aplicação (Sempre, independente da complexidade, Exemplo: transferência bancária); Contraste (NoSQL → BASE (relaxa ACID))

Alternativa E — ✅ Correta (gabarito)

A alternativa E (Errado) é a resposta correta, pois a afirmação do enunciado é falsa. As transações em bancos de dados relacionais sempre são estruturadas com as propriedades ACID, independentemente da complexidade. O ACID é um requisito fundamental dos SGBDs relacionais, garantindo atomicidade, consistência, isolamento e durabilidade. A banca tenta induzir o candidato a acreditar que transações simples não precisam dessas garantias, mas isso é incorreto — mesmo uma operação de atualização de um único registro deve ser atômica, consistente, isolada e durável.

Gabarito: letra E (ERRADO).

Link permanente: /questoes/qa630673