Questão de Arquitetura de Software — Banco de Dados — IF-MT 2023
Arquitetura de Software›Banco de Dados
Código
qq952020
Banca
IF-MT
Órgão
IF-MT
Ano
2023
Nível
Superior
Cargo
Analista de Tecnologia da Informação
Sobre o gerenciamento de transações em bancos de dados, assinale a alternativa INCORRETA:RAMAKRISHNAN, Raghu; GEHRKE, Johannes. Database Management Systems. 3ed, 2018.
AÉ uma das tarefas do SGBD (DBMS) gerenciar o acesso aos dados para que cada usuário possa, de forma segura, ignorar o fato de que há outros usuários acessando esses dados de forma concorrente.
BUm protocolo de bloqueio (locking protocol) estabelece um conjunto de regras a serem seguidas por cada transação para garantir que, mesmo que as ações de várias transações possam ser intercaladas, o resultado seja idêntico à execução de todas as transações em alguma ordem serial.
CBloqueio leve (soft lock) é aquele em que um objeto pode ser mantido por diversas transações e as transações não se importam com modificações que são realizadas no objeto.
DBloqueio compartilhado (shared lock) é aquele em que um objeto pode ser mantido por duas transações diferentes ao mesmo tempo.
EBloqueio exclusivo (exclusive lock) em um objeto garante que nenhuma outra transação mantenha qualquer bloqueio nesse objeto.
Revelar gabarito e comentário▾
GabaritoC — Bloqueio leve (soft lock) é aquele em que um objeto pode ser mantido por diversas transações e as transações não se importam com modificações que são realizadas no objeto.
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”.
Gerenciamento de Transações e Bloqueios em Bancos de Dados
Gabarito: letra C. A alternativa C está INCORRETA ao definir "bloqueio leve (soft lock)" como um bloqueio que pode ser mantido por várias transações e que estas não se importam com modificações. Esse conceito não existe na teoria de controle de concorrência. Os tipos clássicos de bloqueio são: compartilhado (shared lock) — permite que várias transações leiam o objeto simultaneamente, mas nenhuma pode escrever — e exclusivo (exclusive lock) — permite que apenas uma transação acesse (leia ou escreva) o objeto, impedindo qualquer outro bloqueio.
A banca cria um termo fictício ("soft lock") para testar o conhecimento dos tipos reais de bloqueio. O aluno que não conhece a terminologia pode ser induzido a aceitar a descrição como verdadeira.
Alternativa
Afirmação sobre Gerenciamento de Transações
Correta/Incorreta
Justificativa
A
O SGBD gerencia o acesso concorrente para que cada usuário ignore a existência de outros acessos.
✅ Correta
Descreve o princípio de isolamento (ACID).
B
Protocolo de bloqueio garante que a execução concorrente seja equivalente a alguma ordem serial.
✅ Correta
Refere-se à serializabilidade, objetivo do 2PL.
C
Bloqueio leve (soft lock) permite que várias transações mantenham o objeto e ignorem modificações.
❌ Incorreta (GABARITO)
Conceito fictício; não existe na literatura. Viola isolamento e consistência.
D
Bloqueio compartilhado (shared lock) pode ser mantido por duas transações simultaneamente.
✅ Correta
Permite leitura concorrente, mas não escrita.
E
Bloqueio exclusivo (exclusive lock) impede qualquer outro bloqueio no objeto.
✅ Correta
Garante acesso exclusivo para leitura ou escrita.
Bloqueios em BD: Compartilhado (shared) (Várias transações leem, Nenhuma escreve); Exclusivo (exclusive) (Só uma transação acessa, Nenhum outro bloqueio); Fictício (soft lock) (Não existe na teoria, Descrição incorreta)
Alternativa A — ✅ Correta
A afirmação descreve corretamente uma das funções do SGBD: gerenciar o acesso concorrente para que cada usuário tenha a ilusão de que está sozinho no sistema (isolamento). É um dos princípios ACID.
Alternativa B — ✅ Correta
Protocolos de bloqueio (como o Two-Phase Locking – 2PL) garantem a serializabilidade das transações, isto é, o resultado da execução concorrente equivale a alguma ordem serial das transações. A alternativa descreve exatamente esse objetivo.
Alternativa C — ❌ Incorreta (⟵ GABARITO)
Não existe na literatura de banco de dados um bloqueio chamado "soft lock" ou "bloqueio leve" com essa definição. O comportamento descrito — objeto mantido por várias transações que ignoram modificações — não é um tipo de bloqueio válido. Se várias transações mantêm um bloqueio sobre o mesmo objeto e "não se importam com modificações", isso quebraria o isolamento e a consistência. A descrição mais se aproximaria de um bloqueio compartilhado, mas mesmo assim as transações que mantêm esse bloqueio não podem modificar o objeto e, se outra transação tentar escrever, será bloqueada. Portanto, a alternativa está completamente incorreta.
Alternativa D — ✅ Correta
Um bloqueio compartilhado (shared lock) permite que duas ou mais transações mantenham simultaneamente o bloqueio sobre o mesmo objeto, desde que todas apenas leiam o dado. É a definição correta.
Alternativa E — ✅ Correta
O bloqueio exclusivo (exclusive lock) concede à transação o direito exclusivo de acessar o objeto, impedindo qualquer outro bloqueio (seja compartilhado ou exclusivo) sobre ele. A afirmação está correta.
NÃO CAIA NESSA!
A banca inventa o termo "bloqueio leve / soft lock" para confundir o candidato. Não existe tal conceito; os tipos oficiais são compartilhado e exclusivo. Fique atento a termos que parecem técnicos mas não estão nos livros clássicos (ex.: Ramakrishnan & Gehrke).