Pular para o conteúdo principal

Questão de Banco de Dados — Gerência de Transações — INSTITUTO AOCP 2024

Banco de DadosGerência de Transações
Código
qg263150
Banca
INSTITUTO AOCP
Órgão
UFS
Ano
2024
Nível
Superior
Cargo
Analista de Tecnologia da Informação - Classe E
A Universidade Federal de Sergipe (UFS) está planejando atualizar seu sistema de gerenciamento de banco de dados para melhorar a eficiência na manipulação de dados acadêmicos. Maria, a administradora do banco de dados, está avaliando se o sistema atual pode suportar transações ACID (Atomicidade, Consistência, Isolamento, Durabilidade). Com base no cenário apresentado, qual das seguintes alternativas Maria deveria considerar como uma característica crucial para garantir que o novo sistema de banco de dados suporte transações ACID?
  1. ASuporte para múltiplas linguagens de programação.
  2. BPossibilidade de criar múltiplas tabelas em um único banco de dados.
  3. CCapacidade de suportar múltiplos usuários simultaneamente.
  4. DCapacidade de rollback em caso de falha de transação.
  5. ECapacidade de exportar dados para diferentes formatos.
Revelar gabarito e comentário

GabaritoD — Capacidade de rollback em caso de falha de transação.

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 em transações de banco de dados

Gabarito: letra D. A capacidade de rollback em caso de falha de transação é uma característica crucial para garantir transações ACID, pois está diretamente ligada à propriedade da atomicidade — o princípio de que uma transação é "tudo ou nada": ou todas as operações são concluídas com sucesso, ou o banco de dados é revertido ao estado anterior, sem efeitos parciais. As demais alternativas descrevem funcionalidades genéricas de um SGBD, mas não são propriedades específicas do modelo transacional ACID.

O acrônimo ACID define as quatro propriedades que garantem a confiabilidade das transações em um banco de dados: Atomicidade, Consistência, Isolamento e Durabilidade. Cada uma delas protege um aspecto diferente da transação, e é essencial compreender o que cada uma significa para identificar qual característica é realmente crucial para o suporte a transações ACID.

A atomicidade é a propriedade que garante que uma transação seja executada por completo ou não seja executada de forma alguma. Se qualquer operação da transação falhar, todo o conjunto de operações é desfeito, retornando o banco de dados ao estado em que se encontrava antes do início da transação. É exatamente isso que o mecanismo de rollback faz: ele desfaz todas as alterações realizadas por uma transação que não pôde ser concluída, garantindo que nenhum efeito parcial permaneça no banco de dados. Por isso, a capacidade de rollback é a materialização prática da atomicidade.

A consistência assegura que uma transação leve o banco de dados de um estado válido para outro estado válido, respeitando todas as regras de integridade definidas (como chaves primárias, estrangeiras e restrições de domínio). A durabilidade garante que, uma vez confirmada (commit), as alterações da transação sejam permanentes, mesmo diante de falhas no sistema, como queda de energia ou travamento do servidor. Já o isolamento garante que transações concorrentes não interfiram umas nas outras, como se cada uma fosse executada de forma isolada, evitando que uma transação leia dados parciais de outra ainda não confirmada.

Para fixar o contraste entre as propriedades e as alternativas da questão, observe a tabela abaixo:

Propriedade ACID

O que garante

Mecanismo associado

Atomicidade

Tudo ou nada: a transação é completa ou é desfeita

Rollback / undo

Consistência

Banco de dados válido antes e depois da transação

Regras de integridade

Isolamento

Transações concorrentes não interferem entre si

Controle de concorrência (locks)

Durabilidade

Alterações confirmadas persistem mesmo após falhas

Log de transações / redo

A pegadinha desta questão está em confundir características gerais de um SGBD (como suporte a múltiplos usuários ou múltiplas tabelas) com as propriedades específicas do modelo transacional ACID. O enunciado pergunta qual característica é crucial para garantir transações ACID, e não qual é uma funcionalidade desejável em um banco de dados. A capacidade de rollback é a única alternativa que se relaciona diretamente com uma das quatro propriedades (atomicidade), enquanto as demais são recursos comuns a praticamente qualquer SGBD moderno, mas que não definem o suporte a transações ACID.

Guarde a fronteira entre propriedades ACID (atomicidade, consistência, isolamento, durabilidade) e funcionalidades genéricas de SGBD (múltiplas linguagens, múltiplas tabelas, múltiplos usuários, exportação de dados): é exatamente nela que as alternativas se dividem.

1Atomicidade
Tudo ou nada
Rollback em falha
2Consistência
Estado válido antes/depois
Regras de integridade
3Isolamento
Transações concorrentes
Locks / controle de concorrência
4Durabilidade
Commit permanente
Log de transações / redo
Propriedades ACID
LEVELsoulevel.com.br
Propriedades ACID: Atomicidade (Tudo ou nada, Rollback em falha); Consistência (Estado válido antes/depois, Regras de integridade); Isolamento (Transações concorrentes, Locks / controle de concorrência); Durabilidade (Commit permanente, Log de transações / redo)

Alternativa A — ❌ Incorreta

O suporte a múltiplas linguagens de programação é uma funcionalidade de um SGBD que permite que aplicações desenvolvidas em diferentes linguagens (Java, Python, C#, etc.) acessem o banco de dados. Embora seja útil para a integração com sistemas diversos, não tem relação com as propriedades ACID, que dizem respeito ao comportamento das transações, e não à interface de programação.

Alternativa B — ❌ Incorreta

A possibilidade de criar múltiplas tabelas em um único banco de dados é uma característica fundamental do modelo relacional, permitindo organizar dados em diferentes entidades e relacionamentos. No entanto, isso é uma capacidade estrutural do banco, não uma propriedade transacional. As propriedades ACID tratam da execução de transações, não da organização lógica dos dados.

Alternativa C — ❌ Incorreta

A capacidade de suportar múltiplos usuários simultaneamente é uma característica importante de um SGBD para permitir o acesso concorrente aos dados. Embora o controle de concorrência esteja relacionado à propriedade de isolamento, o simples suporte a múltiplos usuários não garante as propriedades ACID. O isolamento é uma propriedade que deve ser implementada pelo SGBD para garantir que transações concorrentes não interfiram entre si, mas a alternativa fala apenas da capacidade de acesso simultâneo, não do mecanismo que garante o isolamento.

Alternativa D — ✅ Correta ⟵ GABARITO

A capacidade de rollback em caso de falha de transação é a materialização da propriedade de atomicidade. Quando uma transação falha no meio da execução, o rollback desfaz todas as operações já realizadas, retornando o banco de dados ao estado anterior ao início da transação. Isso garante que a transação seja "tudo ou nada": ou todas as operações são concluídas com sucesso (commit), ou nenhuma delas tem efeito permanente (rollback). Sem essa capacidade, uma falha poderia deixar o banco de dados em um estado inconsistente, com apenas parte das operações aplicadas, violando a atomicidade.

Alternativa E — ❌ Incorreta

A capacidade de exportar dados para diferentes formatos (CSV, JSON, XML, etc.) é uma funcionalidade de interoperabilidade e integração de dados, útil para compartilhar informações com outros sistemas ou para fins de backup e migração. No entanto, não está relacionada às propriedades ACID, que dizem respeito à execução confiável de transações, e não à transferência de dados para fora do banco.

NÃO CAIA NESSA!

A banca explora a confusão entre funcionalidades genéricas de um SGBD e propriedades específicas do modelo transacional ACID. Alternativas como suporte a múltiplos usuários ou múltiplas tabelas são características reais e importantes de um banco de dados, mas não são propriedades ACID. A única alternativa que se conecta diretamente a uma das quatro propriedades é a capacidade de rollback, que implementa a atomicidade. Ao ver uma questão sobre ACID, pergunte-se: "esta característica está ligada a atomicidade, consistência, isolamento ou durabilidade?" Se não estiver, é um distrator.

Gabarito: letra D

Link permanente: /questoes/qg263150