Pular para o conteúdo principal

Questão de Banco de Dados — Conceitos e Fundamentos de Modelo Relacional — VUNESP 2023

Banco de DadosConceitos e Fundamentos de Modelo Relacional
Código
vu195623
Banca
VUNESP
Órgão
EsFCEx
Ano
2023
Cargo
CFO/QC ( )
Nos bancos de dados relacionais, é necessário ter mecanismos de controle de concorrência, sendo um desses mecanismos representado pelo uso de protocolos baseados em bloqueios. Considerando os modos compartilhado e exclusivo utilizados nesse tipo de protocolo, é correto afirmar que
  1. Ano modo exclusivo, uma transação pode ler, mas não escrever sobre um item de dados.
  2. Bno modo compartilhado, uma transação pode ler e escrever sobre um item de dados.
  3. Ctanto no modo exclusivo como no compartilhado, uma transação pode ler e escrever sobre um item de dados.
  4. Dno modo exclusivo, uma transação pode ler e escrever sobre um item de dados.
  5. Etanto no modo exclusivo como no compartilhado, uma transação pode ler, mas não escrever sobre um item de dados.
Revelar gabarito e comentário

GabaritoD — no modo exclusivo, uma transação pode ler e escrever sobre um item de dados.

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”.

Controle de concorrência: modos de bloqueio compartilhado e exclusivo

Gabarito: letra D. No protocolo de bloqueio de dois modos, o bloqueio exclusivo (X) concede à transação o direito de ler e escrever sobre o item de dados, enquanto o bloqueio compartilhado (S) permite apenas a leitura. A alternativa D é a única que descreve corretamente o modo exclusivo, sendo a resposta pedida pela banca.

O controle de concorrência é o mecanismo que garante a propriedade de isolamento das transações (uma das propriedades ACID), assegurando que transações executadas simultaneamente não interfiram umas nas outras. Os protocolos baseados em bloqueios são a forma mais clássica de implementar esse controle: antes de acessar um item de dados, a transação deve solicitar um bloqueio sobre ele, e o SGBD decide se concede ou não com base nos bloqueios já existentes.

Existem dois modos fundamentais de bloqueio:

  • Bloqueio compartilhado (S - shared): permite que a transação apenas leia o item de dados. Várias transações podem obter bloqueios compartilhados sobre o mesmo item simultaneamente, pois a leitura não conflita com outra leitura.

  • Bloqueio exclusivo (X - exclusive): permite que a transação leia e escreva sobre o item de dados. Apenas uma transação pode manter um bloqueio exclusivo sobre um item por vez, e nenhuma outra transação pode obter qualquer bloqueio (compartilhado ou exclusivo) sobre ele enquanto o exclusivo estiver ativo.

A lógica por trás dessa distinção é a compatibilidade entre modos: dois bloqueios são compatíveis se podem ser mantidos simultaneamente sobre o mesmo item. O bloqueio compartilhado é compatível com outro compartilhado (duas leituras simultâneas não causam problema), mas é incompatível com o exclusivo (uma escrita não pode ocorrer enquanto outra transação lê, pois isso violaria o isolamento). O exclusivo é incompatível com qualquer outro modo.

Na prática, quando uma transação deseja apenas consultar um dado, ela solicita um bloqueio compartilhado, permitindo que outras transações também leiam o mesmo dado. Quando precisa atualizar um dado, solicita o bloqueio exclusivo, garantindo que nenhuma outra transação acesse o item até que a operação seja concluída e o bloqueio seja liberado (normalmente no commit ou rollback).

A pegadinha que a banca explora nesta questão é a inversão das capacidades de cada modo: o candidato que confunde os modos pode marcar que o exclusivo só permite leitura (como na alternativa A) ou que o compartilhado permite escrita (como na B). A chave é lembrar que exclusivo = leitura + escrita e compartilhado = somente leitura.

Guarde essa fronteira: o modo exclusivo é o único que permite escrita; o compartilhado é restrito à leitura. É exatamente nessa distinção que as alternativas se dividem.

Modo de bloqueio

Leitura

Escrita

Compatibilidade

Compartilhado (S)

✅ Permite

❌ Não permite

Compatível com outro compartilhado

Exclusivo (X)

✅ Permite

✅ Permite

Incompatível com qualquer outro

Alternativa A — ❌ Incorreta

Afirma que no modo exclusivo a transação pode ler, mas não escrever. Isso inverte a capacidade do modo exclusivo: ele é justamente o modo que permite escrita. O modo que permite apenas leitura é o compartilhado. A alternativa descreve, na verdade, o comportamento do modo compartilhado, não do exclusivo.

Alternativa B — ❌ Incorreta

Afirma que no modo compartilhado a transação pode ler e escrever. O modo compartilhado é restrito à leitura; a escrita é exclusiva do modo exclusivo. Se uma transação pudesse escrever com um bloqueio compartilhado, não haveria necessidade de um modo exclusivo separado. A alternativa confunde a capacidade do modo compartilhado com a do exclusivo.

Alternativa C — ❌ Incorreta

Afirma que tanto no modo exclusivo quanto no compartilhado a transação pode ler e escrever. Isso é falso para o modo compartilhado, que permite apenas leitura. A alternativa generaliza indevidamente a capacidade de escrita para ambos os modos, ignorando a distinção fundamental entre eles.

Alternativa D — ✅ Correta ⟵ GABARITO

Afirma corretamente que no modo exclusivo a transação pode ler e escrever sobre um item de dados. Essa é a definição exata do bloqueio exclusivo (X): ele concede acesso total ao item, tanto para leitura quanto para escrita, garantindo que nenhuma outra transação possa acessá-lo enquanto estiver ativo. É a única alternativa que descreve com precisão o modo exclusivo.

Alternativa E — ❌ Incorreta

Afirma que tanto no modo exclusivo quanto no compartilhado a transação pode ler, mas não escrever. Isso é falso para o modo exclusivo, que permite escrita. A alternativa descreve o comportamento do modo compartilhado e o estende indevidamente ao modo exclusivo, invertendo a capacidade deste último.

NÃO CAIA NESSA!

A banca adora inverter as capacidades dos modos de bloqueio. O candidato que decora "compartilhado = leitura" e "exclusivo = escrita" pode se confundir quando a alternativa diz que o exclusivo "pode ler, mas não escrever" (letra A) ou que o compartilhado "pode ler e escrever" (letra B). A regra de ouro: exclusivo é o único que escreve; compartilhado só lê. Memorize essa frase e você elimina as alternativas A, B, C e E de imediato.

Gabarito: letra D

Link permanente: /questoes/vu195623