Questão de Banco de Dados — Transações (Locks, ACID, etc.) — Quadrix 2024
- Código
- qa630673
- Banca
- Quadrix
- Órgão
- NOVACAP
- Ano
- 2024
- Cargo
- Ana Sis ( )
- CCerto
- EErrado
GabaritoE — Errado
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.
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