No contexto de sistemas de banco de dados relacionais, muit...

Próximas questões
Com base no mesmo assunto
Q1394674 Banco de Dados
No contexto de sistemas de banco de dados relacionais, muitos esquemas de controle de concorrência têm por base a propriedade da serialização (serializability). Um dos protocolos que permite a serialização é obrigar que o acesso aos itens de dados seja feito de maneira mutuamente exclusiva, isto é, enquanto uma transação acessa um item de dados nenhuma outra transação pode modificá-lo. Este protocolo é denominado
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

A alternativa correta é a D - Protocolo com base em Bloqueios (Lock).

O controle de concorrência é um aspecto crucial no design de sistemas de banco de dados relacionais, pois permite que múltiplas transações acessem e modifiquem o banco de dados de maneira controlada, evitando inconsistências e garantindo a integridade dos dados. A propriedade da serialização é fundamental nesse contexto, pois ela garante que, mesmo com várias transações sendo executadas concorrentemente, o resultado final será o mesmo que seria obtido se as transações fossem executadas sequencialmente, uma após a outra.

O protocolo de bloqueios, também conhecido como locking, é um método utilizado para garantir que apenas uma transação por vez possa acessar um determinado item de dados para modificação. Este método funciona através do estabelecimento de bloqueios, que podem ser compartilhados (leitura) ou exclusivos (escrita). Quando uma transação deseja ler um item de dados, ela solicita um bloqueio compartilhado, que permite que outras transações também leiam o mesmo item simultaneamente. No entanto, se uma transação deseja modificar um item de dados, ela deve solicitar um bloqueio exclusivo, que impede qualquer outra transação de ler ou escrever neste item até que o bloqueio seja liberado.

Esse protocolo é eficaz na prevenção de problemas clássicos de concorrência, como as condições de corrida e os problemas conhecidos como lost update, dirty read, non-repeatable read, e phantom read.

Com base no que foi exposto, a justificativa para a alternativa correta ser a D é que o protocolo de bloqueios é exatamente o mecanismo que impõe acesso mutuamente exclusivo aos itens de dados. Quando uma transação detém um bloqueio exclusivo em um item de dados, nenhuma outra transação pode modificar esse item até que o bloqueio seja liberado. Isso permite que o banco de dados mantenha a consistência e integridade dos dados mesmo com múltiplas transações ocorrendo simultaneamente.

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

Técnicas de controle de concorrência

Bloqueio: sincroniza o acesso por transações concorrentes aos itens do banco de dados.

Ordenação por rótulo de tempo (timestemp): é um identificador exclusivo criado pelo SGBD para identificar uma transação.

Multiversão: mantém os valores antigos de um item de dados quando este é atualizado.

Otimista: nenhuma verificação é feita enquanto a transação está executando. As atualizações não são aplicadas diretamente aos itens do banco de dados até que a transação alcance seu final. 

Alternativa: D

d-

Lock-based protocols are a common method used to ensure serializability in database systems, meaning that concurrent transactions behave as if they were executed serially (one after another), even when they're actually executed concurrently. This helps avoid issues such as inconsistent reads or lost updates that can arise when multiple transactions interact with the same data simultaneously.

In this type of protocol, any transaction cannot read or write data until it acquires an appropriate lock on it.

https://www.javatpoint.com/dbms-lock-based-protocol

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo