Pular para o conteúdo principal

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

Banco de DadosTransações (Locks, ACID, etc.)
Código
qa699102
Banca
FUNDATEC
Órgão
BRDE
Ano
2025
Cargo
Ana Sist ( )
Quando transações são executadas concorrentemente, de maneira intercalada, a ordem de execução das operações das várias transações é conhecida como Plano de
  1. AReestruturabilidade.
  2. BVisão.
  3. CConflitos.
  4. DTeste.
  5. EExecução.
Revelar gabarito e comentário

GabaritoE — Execuçã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”.

Plano de execução de transações concorrentes

Gabarito: letra E. Quando transações são executadas de forma concorrente e intercalada, a ordem de execução das operações é chamada de plano de execução (ou schedule). É esse plano que o controle de concorrência analisa para garantir que o resultado seja equivalente a uma execução serial, preservando a propriedade de isolamento do ACID.

O conceito central aqui é o de transação em banco de dados. Uma transação é uma unidade lógica de trabalho composta por várias operações — por exemplo, transferir dinheiro entre contas envolve debitar uma conta e creditar outra. Para que o banco de dados permaneça íntegro, toda transação deve obedecer às propriedades ACID: Atomicidade (tudo ou nada), Consistência (respeitar as regras do banco), Isolamento (transações concorrentes não interferem entre si) e Durabilidade (uma vez confirmada, a alteração é permanente).

Quando várias transações rodam ao mesmo tempo, o SGBD precisa intercalar suas operações. A ordem específica em que essas operações são executadas é o que chamamos de plano de execução (ou schedule). O controle de concorrência usa esse plano para verificar se a execução é serializável — ou seja, se o resultado final é o mesmo que seria obtido se as transações fossem executadas uma após a outra, sem intercalação. Se o plano não for serializável, podem ocorrer anomalias como leitura suja, leitura não repetível e fantasma.

Na prática, imagine duas transações: T1 transfere R$ 100 da conta A para a conta B, e T2 consulta o saldo das contas. Se o SGBD intercalar as operações de T1 e T2 de forma inadequada, T2 pode ler um estado intermediário (por exemplo, A já debitado, mas B ainda não creditado). O plano de execução determina exatamente essa ordem de operações, e o controle de concorrência (via locks, por exemplo) garante que o plano seja serializável.

A pegadinha desta questão é que o termo "plano de execução" pode ser confundido com outros conceitos de banco de dados, como "visão" (uma consulta armazenada) ou "conflitos" (operações que disputam o mesmo dado). Mas o enunciado pergunta especificamente pela ordem de execução das operações, que é exatamente o que define um plano de execução. As demais alternativas não têm relação com esse conceito.

Guarde a definição: plano de execução = ordem de execução das operações de transações concorrentes. É esse o critério que separa a alternativa correta das demais.

  1. 1Transações (unidade ACID)
  2. 2Intercalação de operações
  3. 3Plano de execução (schedule)
  4. 4Controle de concorrência (locks)
  5. 5Serializabilidade
LEVEL · soulevel.com.br

Alternativa A — ❌ Incorreta

Reestruturabilidade não é um termo usado em banco de dados para descrever a ordem de execução de transações. Esse termo não existe no contexto de transações e concorrência; pode até lembrar "reestruturação" de tabelas, mas não se aplica aqui.

Alternativa B — ❌ Incorreta

Visão (ou view) é uma consulta armazenada que se comporta como uma tabela virtual. Não tem relação com a ordem de execução de operações de transações concorrentes. A banca coloca esse termo para confundir quem pensa em "visualização" dos dados.

Alternativa C — ❌ Incorreta

Conflitos referem-se a operações de transações diferentes que acessam o mesmo item de dado e pelo menos uma delas é de escrita. Conflitos são um conceito importante no controle de concorrência, mas não são a ordem de execução em si — são as situações que o plano precisa tratar.

Alternativa D — ❌ Incorreta

Teste é um termo genérico, sem significado específico em transações de banco de dados. Não corresponde à definição pedida.

Alternativa E — ✅ Correta ⟵ GABARITO

Plano de execução (ou schedule) é exatamente a ordem em que as operações de transações concorrentes são executadas de forma intercalada. É o conceito central do controle de concorrência, que analisa o plano para garantir a serializabilidade e, assim, a propriedade de isolamento.

PEGA ESSA DICA!

Na prova, quando o enunciado falar em "ordem de execução das operações" ou "intercalação de transações", a resposta quase sempre será plano de execução (ou schedule). Memorize essa associação direta — é um termo técnico específico da área de transações.

Gabarito: letra E

Link permanente: /questoes/qa699102