Questões de Concurso Comentadas sobre banco de dados
Foram encontradas 15.355 questões
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:
idempresa (INT): Identificador único da empresa
nome_empresa (VARCHAR): Nome da empresa
valor imposto (DECIMAL.): Valor do imposto pago
data pagamento (DATE): Data do pagamento (formato padrão ISO (YYYY-MM-DD))
categoria (VARCHAR): Categoria do imposto (exemplo: "ICMS", "ISS", "IPI")
Ο contador precisa de um relatório que mostre o total de impostos pagos por categoria em 2024, ordenado pelo valor total de forma decrescente. Considerando que o banco de dados está aberto e em condições ideais, o comando SQL que atende a necessidade do contador é:
Avalie as afirmativas a seguir sobre operações de conjunto (UNION, INTERSECT, EXCEPT), tratamento de valores NULL e duplicação de tuplas em SQL:
I. A operação UNION DISTINCT, embora semanticamente equivalente a UNION, pode ser utilizada para explicitar a remoção de duplicatas entre os resultados de duas consultas. Já UNION ALL preserva todas as tuplas, inclusive duplicadas, com melhor desempenho.
II. A linguagem SQL utiliza lógica de três valores (TRUE, FALSE, UNKNOWN) ao avaliar expressões lógicas, sendo UNKNOWN o resultado típico de comparações com NULL.
III. Em SQL, ao comparar um valor com NULL, deve-se usar o operador de igualdade (=) ou desigualdade (<>), já que NULL é tratado como um valor especial.
IV. Embora o modelo relacional clássico trate relações como conjuntos, o SQL permite tuplas duplicadas tanto em tabelas quanto em resultados de consultas, tratando seus dados como multiconjuntos (bags).
É correto o que se afirma:
Avalie as afirmativas a seguir sobre operadores e cláusulas da linguagem SQL:
I. O operador OUTER JOIN garante que todos os registros da tabela base sejam incluídos no resultado, mesmo que não haja correspondência com a tabela associada, preenchendo com NULL os campos não emparelhados.
II. O operador IN retorna TRUE se ao menos uma das comparações for satisfeita; já o operador ALL retorna TRUE somente se todas as comparações forem verdadeiras.
III. A cláusula WHERE pode ser utilizada para filtrar resultados agregados desde que esteja posicionada após o GROUP BY.
IV. A cláusula HAVING pode ser usada para filtrar grupos de resultados gerados por funções agregadas, enquanto WHERE atua apenas sobre linhas individuais antes do agrupamento.
É correto o que se afirma em: