Foram encontradas 24.451 questões.
Para responder a próxima questão, considere o seguinte Modelo relacional hipotético:
Tb_Curso(id_curso, nome)
Tb_Matriz(id_matriz, ano, id_curso)
Tb_Disciplina(id_disciplina, nome, id_matriz)
Provas
Provas
Provas
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:
Provas
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
Provas
Em um sistema de e-commerce, foi criado um índice do tipo hash sobre a coluna preço da tabela produtos. Esse índice está sendo utilizado em consultas com filtros como:
SELECT * FROM produtos WHERE preco BETWEEN 100 AND 300;
I. Índices hash são ineficientes para consultas com operadores de intervalo, como BETWEEN, porque sua estrutura não mantém ordenação dos valores indexados.
II. A atualização de índices hash ocorre na reconstrução completa do índice sempre que um novo registro é inserido na tabela produtos em sistemas de banco de dados como PostgreSQL e MySQL.
III. A limitação dos índices hash em consultas de intervalo reside em sua restrição a campos numéricos, o que os tornam inutilizáveis para campos textuais ou data.
É correto o que se afirma em:
Provas
Provas
Provas
Provas
Provas
Caderno Container