Questões de Concurso Comentadas sobre concorrência em banco de dados em banco de dados

Foram encontradas 119 questões

Q3696949 Banco de Dados
Em um sistema de reservas de passagens aéreas, dois agentes tentam simultaneamente reservar o último assento disponível no mesmo voo para clientes diferentes. Sem o controle adequado, isso resultaria em uma “venda dupla”. Qual mecanismo de controle de concorrência, gerenciado pelo SGBD, previne esse cenário ao garantir que apenas a primeira transação confirmada possa efetivar a reserva?
Alternativas
Q3696941 Banco de Dados
Dois analistas, Maria e Pedro, acessam ao mesmo tempo o mesmo registro de um produto para atualizar a quantidade em estoque. O valor inicial do estoque é de 100 unidades. Maria realiza uma operação que subtrai 5 unidades, enquanto Pedro realiza outra operação que subtrai 3 unidades. Se o sistema permitir que ambos leiam o valor original de 100 ao mesmo tempo e façam suas atualizações sem controle, o resultado final poderá ser incorreto, como 92, em vez do valor correto, que seria 95. Qual mecanismo do SGBD é utilizado para evitar esse tipo de situação e garantir que transações concorrentes sejam executadas de forma isolada e segura? 
Alternativas
Q3641767 Banco de Dados
No modelo ACID de transações em bancos de dados relacionais, o princípio de isolamento garante que transações concorrentes não interfiram de forma incorreta umas nas outras. Assinale a opção em que é indicado o mecanismo que implementa o princípio de isolamento por meio do uso de bloqueios que só são liberados depois da conclusão da fase de crescimento da transação. 
Alternativas
Q3636499 Banco de Dados
Durante o funcionamento de um banco de dados Microsoft SQL Server 2019, a seguinte sequência de eventos pode acontecer:

• Uma transação T1 adquire uma trava compartilhada (shared lock) na linha 1.
• Uma transação T2 adquire uma trava compartilhada na linha 2.
• A transação T1 tenta adquirir uma trava exclusiva (exclusive lock) na linha 2, ficando bloqueada até que a transação T2 libere a trava na linha 2.
• A transação T2 tenta adquirir uma trava exclusiva na linha 1, ficando bloqueada esperando que a transação T1 libere a trava na linha 1.

Sobre esse contexto, analise as assertivas a seguir:

I. O sistema é capaz de detectar essa situação automaticamente, e pode resolvê-la escolhendo uma das transações para terminar com um erro.
II. Situações semelhantes podem acontecer entre mais do que duas transações ao mesmo tempo.
III. Se todas as transações acessarem objetos na mesma ordem, situações semelhantes são menos prováveis de acontecer.

Quais estão corretas?
Alternativas
Q3636496 Banco de Dados
Em PostgreSQL 14, que implementa controle de concorrência multiversão (MVCC), assinale a alternativa que indica corretamente como o sistema determina quais versões dos registros ficam visíveis durante uma transação de leitura.
Alternativas
Q3636492 Banco de Dados
Durante o suporte a um sistema de banco de dados de grande porte, usuários relatam que algumas transações ficam em espera por locks (aparentemente sem avançar). Qual é a causa mais provável dessa situação?
Alternativas
Q3594436 Banco de Dados
Durante a apuração mensal da folha de pagamento de um órgão público, o sistema de recursos humanos executa diversas transações simultâneas para calcular valores de vencimentos e benefícios com base em registros atualizados de frequência, licenças e adicionais.
O gestor de TI detectou um problema: em determinados momentos, o sistema calcula valores com base em registros de frequência que são modificados por outra transação ainda em andamento, resultando em inconsistência nos valores pagos.
Para evitar esse problema, a equipe propõe ajustar o nível de isolamento da transação utilizada durante o cálculo da folha, de forma que os dados lidos não possam ser modificados ou inseridos por outras transações até que a atual seja concluída.
Com base nesse cenário, o nível de isolamento mais apropriado para evitar leituras inconsistentes causadas por alterações concorrentes é:
Alternativas
Q3508339 Banco de Dados

Em uma aplicação bancária que utiliza um sistema de banco de dados relacional compatível com o padrão ANSI SQL, um desenvolvedor implementa a seguinte lógica para garantir a consistência ao realizar transferências entre contas:



BEGIN;


SELECT saldo FROM contas WHERE id = 101 FOR UPDATE;


UPDATE contas SET saldo = saldo - 500 WHERE id = 101;


SELECT saldo FROM contas WHERE id = 202 FOR UPDATE;


UPDATE contas SET saldo = saldo + 500 WHERE id = 202;


COMMIT;



Durante testes de carga, outra transação concorrente tenta acessar a conta de id 101 logo após o início da transação acima. Com base nesse contexto, avalie as afirmações a seguir:


I. A cláusula FOR UPDATE utilizada no SELECT bloqueia a linha lida até o fim da transação, impedindo que outras transações atualizem ou façam SELECT FOR UPDATE na mesma linha enquanto o bloqueio estiver ativo.


II. O uso de FOR UPDATE é eficaz para evitar condições de corrida (race conditions) ao modificar linhas críticas em um modelo de leitura-modificação-escrita.


III. A cláusula FOR UPDATE garante isolamento no nível SERIALIZABLE por si só, impedindo leitura fantasma e garantindo que nenhuma transação concorrente acesse qualquer dado relacionado.



É correto o que se afirma em: 

Alternativas
Q3508337 Banco de Dados

Em um sistema de gerenciamento de banco de dados relacional que implementa os níveis de isolamento definidos pelo padrão ANSI SQL, cada nível oferece diferentes garantias contra anomalias de concorrência, como:



• Leitura suja (dirty read): leitura de dados ainda não confirmados.


• Leitura não repetível (non-repeatable read): dados lidos são alterados por outra transação entre duas leituras.


• Leitura fantasma (phantom read): novas linhas são inseridas por outras transações entre duas leituras.



Com base nesse contexto, avalie as afirmações a seguir:


I. O nível Read Uncommitted permite todas as três anomalias: leituras sujas, leituras não repetíveis e leituras fantasmas.


II. O nível Repeatable Read previne leituras sujas e leituras não repetíveis, mas não previne leituras fantasmas.


III. O nível Serializable evita todos os três fenômenos de concorrência, oferecendo o mais alto grau de isolamento conforme o padrão ANSI SQL.



É correto o que se afirma

Alternativas
Q3508327 Banco de Dados
Transações ACID em bancos de dados relacionais garantem propriedades fundamentais para manter a integridade dos dados em operações concorrentes. Um dos parâmetros mais importantes é o nível de isolamento (Isolation Level), que define como e quando os efeitos das alterações realizadas por uma transação são visíveis para outras. Considere uma aplicação bancária de grande porte, utilizando um sistema de gerenciamento de banco de dados (SGBD) com suporte ao nível de isolamento SERIALIZABLE. Nessa configuração, assinale a alternativa que descreve corretamente o comportamento pela escolha do nível de isolamento SERIALIZABLE: 
Alternativas
Q3504892 Banco de Dados
Os sistemas de gerenciamento de banco de dados (SGBD) oferecem recursos que garantem que múltiplos usuários possam acessar e modificar dados simultaneamente, sem comprometer a respectiva consistência. Nesse sentido, qual é o mecanismo utilizado pelos SGBD para garantir o controle de concorrência? 
Alternativas
Q3497427 Banco de Dados
Considere o contexto a seguir:
Em um sistema bancário, um cliente realiza uma transferência de R$ 500,00 da conta A para a conta B. No sistema, essa operação envolve duas instruções em Linguagem SQL: a primeira realiza o débito na conta A, enquanto a segunda realiza o crédito na conta B. Ambas as instruções são executadas dentro de uma transação. Nesse contexto, considere as sentenças a seguir sobre os níveis de isolamentos nesse processo de transferência:

I- Caso o nível de isolamento da transação de transferência seja repeatable read, o saldo da conta B irá variar entre duas consultas na mesma transação.

II- Caso o nível de isolamento da transação de transferência seja serializable, a execução sequencial completa das transações será simulada, evitando todos os tipos de anomalias, incluindo phantom reads.

III- Caso o nível de isolamento da transação de transferência seja read committed, ele garante que uma transação sempre verá a mesma versão dos dados durante toda a sua execução, impedindo non-repeatable reads.

IV- Caso o nível de isolamento da transação de transferência seja read uncommitted, uma transação pode ler o saldo de uma conta mesmo que a outra transação ainda não tenha finalizado o commit, possibilitando dirty reads. 


Assinale a alternativa com as sentenças CORRETAS sobre o cenário apresentado. 
Alternativas
Q3401804 Banco de Dados
Nos SGBDs, o isolamento das transações garante que as alterações de uma transação T1 não afetem outras transações Tn até que a T1 seja concluída. Considerando que o PostgreSQL 17 define quatro níveis distintos de isolamento de transações e que cada nível possui um grau de rigor próprio.
O nível de isolamento mais rigoroso é o
Alternativas
Q3362185 Banco de Dados
Uma das maneiras de impedir a ocorrência de deadlocks em bancos de dados relacionais é usar protocolos de prevenção de deadlocks que podem implementar diversas estratégias.
A definição “ Se o timestamp TS(Ti) < TS(Tj), então (a transação Ti é mais antiga que a transação Tj), então Ti tem permissão para esperar; caso contrário (Ti mais novo que Tj) aborta Tj e o reinicia mais tarde com o mesmo rótulo de tempo TS “ descreve a estratégia de prevenção de deadlock denominada
Alternativas
Q3252003 Banco de Dados
Garantir que múltiplas transações em um banco de dados possam ser executadas simultaneamente sem comprometer a consistência dos dados refere-se a qual funcionalidade? 
Alternativas
Q3218896 Banco de Dados
Em sistemas gerenciadores de banco de dados, é um exemplo de conceito relacionado aos protocolos de controle de concorrência que garantem a serialidade, de modo a impedir que transações interfiram umas nas outras:
Alternativas
Q3166842 Banco de Dados

Acerca de aspectos relativos a bancos de dados, julgue o próximo item.


Uma das características dos sistemas gerenciadores de banco de dados é o acesso concorrente, que é garantido através de índices e visões específicas.  

Alternativas
Q3548911 Banco de Dados
Uma das características das transações de Sistemas Gerenciadores de Banco de Dados (SGBD) é a de isolamento.
Assinale a alternativa que apresenta a descrição dessa característica.
Alternativas
Q3541000 Banco de Dados
Dentre os protocolos utilizados para o tratamento de bloqueios está o protocolo de bloqueio em duas fases, denominadas fases de crescimento e encolhimento, sendo certo que, na fase de
Alternativas
Q3136487 Banco de Dados
Qualquer banco de dados que seja utilizado por mais de um usuário, terá que administrar o controle de concorrência entre as informações que estão sendo acessadas pelos usuários. Nesse contexto, a propriedade que permite que uma transação seja executada desde o início até o fim sem que haja a interferência de outras transações durante sua execução, é denominada de:
Alternativas
Respostas
21: E
22: E
23: C
24: E
25: B
26: D
27: D
28: C
29: A
30: D
31: A
32: D
33: E
34: D
35: C
36: E
37: E
38: E
39: C
40: B