Questões de Concurso Sobre banco de dados
Foram encontradas 18.739 questões
CREATE TABLE Clientes ( Cliente_ID INT PRIMARY KEY, Nome VARCHAR(100), Cidade VARCHAR(100), Estado CHAR(2) );
CREATE TABLE Pedidos ( Pedido_ID INT PRIMARY KEY, Cliente_ID INT, Data_Pedido DATE, Valor_Total DECIMAL(10,2), FOREIGN KEY (Cliente_ID) REFERENCES Clientes(Cliente_ID) );
A consulta SQL, a seguir, retorna quais resultados?
SELECT c.Nome, COUNT(p.Pedido_ID) AS Num_Pedidos, COALESCE(SUM(p.Valor_Total), 0) AS Total_Gasto FROM Clientes c LEFT JOIN Pedidos p ON c.Cliente_ID = p.Cliente_ID WHERE p.Data_Pedido >= '2025-02-01' GROUP BY c.Nome HAVING COUNT(p.Pedido_ID) >= 1;
Tabela Pedidos (forma não normalizada):
Considerando apenas as regras da 1ª e 2ª formas normais (1FN e 2FN), assinale a alternativa que apresenta a correta normalização da tabela apresentada.
Considerando o cenário descrito, assinale a alternativa que apresenta a abordagem mais adequada para otimizar a recuperação eficiente e garantir a integridade dos dados.
Em relação ao contexto apresentado, assinale a alternativa correta.
Uma empresa está implementando um dashboard no Power BI para monitorar as vendas de seus produtos em diversas regiões do país. O banco de dados contém informações sobre:
• Vendas realizadas (data, valor, quantidade, produto vendido, vendedor e região).
• Detalhes dos produtos (código, categoria, marca e preço unitário).
• Informações dos clientes (nome, CPF, idade, estado civil e cidade).
• Registros de vendedores (nome, código do vendedor e equipe de vendas).
Considerando as melhores práticas de modelagem de dados no Power BI, qual esquema de dados é mais adequado para estruturar esse modelo e garantir performance e facilidade de análise?
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:
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:
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
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: