Questões de Concurso Sobre concorrência em banco de dados em banco de dados

Foram encontradas 135 questões

Q3881251 Banco de Dados
No contexto de sistemas de gerenciamento de banco de dados relacionais, considere um cenário hipotético em que duas transações simultâneas (T1 e T2) tentam atualizar o saldo da conta bancária de um analista de infraestrutura da ALEGO. A transação T1 lê o saldo de R$100,00 da conta, a Transação T2 também lê o mesmo saldo R$100,00 da conta. A Transação T1 adiciona R$ 50,00 na conta e grava e, logo em seguida a Transação T2 adiciona R$ 30,00 na conta e grava. O resultando do saldo final é de R$130,00 em vez de R$180,00.

O problema de concorrência e propriedade ACID que foi violada são, respectivamente,
Alternativas
Q3881246 Banco de Dados
Os sistemas gerenciadores de bancos de dados relacionais podem implementar diversos tipos de bloqueio como controle de concorrência. Considere que X é um item de banco de dados, com relação aos tipos de bloqueio, analise as alternativas a seguir.

I. Os bloqueios do tipo binário podem ter dois estados: bloqueado (valor 1) ou desbloqueado (valor 0). Se o valor do bloqueio de X for 1, o item não pode ser acessado por outra operação de banco de dados que necessita daquele item. Se o valor do bloqueio for 0, o item pode ser acessado quando requisitado e o valor do bloqueio é alterado para 1.
II. Nos bloqueios do tipo leitura/gravação existem três operações de bloqueio: read_lock(X), write_lock(X) e unlock(X). Logo, um bloqueio associado ao item X pode ter três estados possíveis bloqueado para leitura, bloqueado para gravação ou desbloqueado.
III. Nos bloqueios do tipo alta vazão existem três modos de bloqueio: leitura, gravação e otimização. Logo, o estado lock(X) para o item X pode ser bloqueado para leitura, bloqueado para gravação, bloqueado para otimização ou desbloqueado.

Está correto o que se afirma em
Alternativas
Q3866944 Banco de Dados
Considerando um Sistemas Gerenciadores de Banco de Dados (SGBD) multiusuários, o processamento de transações on-line (OLTP) e as propriedades das transações, bem como os conceitos fundamentais da linguagem SQL e das operações realizadas em bancos de dados relacionais, avalie a afirmativas a seguir.

I. Em um SGBD multiusuário, o mecanismo de controle de concorrência é essencial para assegurar que operações de atualização simultâneas sobre o mesmo dado resultem estados logicamente corretos do banco de dados, sendo essa uma característica das aplicações OLTP.
II. O conceito de transação pressupõe que comandos SQL de inserção, de alteração e de exclusão possam ser executados de forma autônoma, ausente a necessidade de garantia de atomicidade, desde que o isolamento entre transações concorrentes seja preservado.
III. A propriedade de isolamento garante que, mesmo com centenas de transações executadas simultaneamente, cada transação se comporte como se estivesse sendo executada sozinha, o que diferencia um SGBD de um sistema tradicional de processamento de arquivos.
IV. A atomicidade assegura que todas as operações de manipulação de dados realizadas por uma transação, como comandos SQL de atualização em tabelas, sejam efetivadas integralmente ou totalmente desfeitas, caso ocorra alguma falha durante sua execução.

Está CORRETO o que se afirma em
Alternativas
Q3853071 Banco de Dados
No PostgreSQL 17, considere uma transação T1 configurada explicitamente com o nível de isolamento REPEATABLE READ. Dentro dessa transação, T1 executa a consulta SELECT COUNT(*) FROM tabela WHERE condicao = true, obtendo o resultado 10. Enquanto T1 permanece ativa, uma transação concorrente T2 in sere uma nova linha que satisfaz a condição condicao = true e realiza COMMIT. Ainda dentro da mesma transação T1, a mesma consulta é executada novamente SELECT COUNT(*) FROM tabela WHERE condicao = true. Em seguida, T1 realiza COMMIT, sem efetuar nenhuma atualização em linhas da tabela.

Qual é o resultado esperado para a segunda execução da consulta em T1?
Alternativas
Q3851205 Banco de Dados
No contexto de gerenciamento de banco de dados relacional (RDBMS), as transações devem aderir às propriedades ACID para garantir a integridade e consistência dos dados, mesmo em caso de falhas no sistema.

Assinale a opção que descreve corretamente a propriedade da Isolamento (Isolation).
Alternativas
Q3789251 Banco de Dados
Em sistemas que utilizam múltiplas transações simultâneas, mecanismos de controle de concorrência são essenciais para evitar inconsistências e conflitos.
Sobre tais mecanismos, assinale a alternativa INCORRETA
Alternativas
Q3776709 Banco de Dados
No SQL Server, para resolver problemas de concorrência em ambiente de alta carga transacional, um DBA precisa escolher o nível de isolamento adequado.
O nível que permite leitura de dados não confirmados de outras transações, potencialmente causando dirty reads, é:
Alternativas
Q3773942 Banco de Dados
O PostgreSQL é um sistema de gerenciamento de banco de dados objeto-relacional avançado, conhecido por sua robustez, conformidade com os padrões SQL e recursos extensivos. Um de seus mecanismos internos mais importantes é o Controle de Concorrência Multiversão (MVCC), que gerencia o acesso simultâneo aos dados por múltiplas transações. No contexto do funcionamento do MVCC no PostgreSQL, assinale a alternativa que descreve corretamente seu comportamento.
Alternativas
Q3765793 Banco de Dados
Banco de dados transacional exige equilíbrio entre atomicidade e desempenho. Sobre níveis de isolamento e anomalias, analise as afirmativas.

I. Leitura suja fica fora do Read Committed, pois cada consulta enxerga apenas linhas efetivadas.
II. Phantom rows podem ocorrer em Repeatable Read dependendo de implementação, exigindo bloqueios adicionais para consistência por faixas.
III. Serializable evita interferências lógicas por equivalência a execução sequencial, com custo maior em conflitos.
IV. Snapshot isolation elimina phantoms por versão, ainda que conflitos por gravação sigam relevantes.
V. Read Uncommitted aceita escrita perdida com naturalidade e prioriza consistência forte em troca de atraso mínimo. 

Estão corretas as afirmativas: 
Alternativas
Ano: 2025 Banca: IF-MT Órgão: IF-MT Prova: IF-MT - 2025 - IF-MT - Analista de TI |
Q3755888 Banco de Dados
Algumas das principais técnicas usadas para controlar a execução concorrente de transações são baseadas no conceito de bloqueio de itens de dados. 

Estes são os tipos de bloqueios segundo Elmasri e Navathe (2011): 
I. Bloqueio gradual;
II. Bloqueio conservador/exclusivo;
III. Bloqueio de interação.

Fonte: ELMASRI, Ramez; NAVATHE, Shamkant B. Sistemas de Banco de Dados. 6. ed. São Paulo: Pearson, 2011.
  Está CORRETO o que se afirma em: 
Alternativas
Q3696961 Banco de Dados
Um sistema OLTP apresenta lentidão generalizada em horário de pico. O DBA suspeita de contenção por bloqueios. Qual visualização do dicionário de dados ou ferramenta de monitoramento é a mais adequada para identificar, em tempo real, sessões que estão esperando por recursos e qual recurso específico está causando a espera?
Alternativas
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
Respostas
21: B
22: B
23: B
24: B
25: C
26: D
27: A
28: E
29: B
30: E
31: C
32: E
33: E
34: C
35: E
36: B
37: D
38: D
39: C
40: A