Questões de Concurso
Sobre banco de dados relacionais em banco de dados
Foram encontradas 1.862 questões
Um analista precisa extrair dados de diferentes tabelas do Sistema Integrado de Administração Financeira (SIAFI) para gerar um relatório complexo sobre despesas com pessoal. O relatório deve combinar informações de servidores, lotações, remunerações e descontos. Para isso, ele precisa construir uma consulta SQL avançada que utilize diferentes tipos de junções (JOINs).
Associe os tipos de junções SQL da Coluna A com suas respectivas descrições e resultados na Coluna B, no contexto da consulta ao banco de dados do SIAFI.
Coluna A
1. INNER JOIN
2. LEFT JOIN (ou LEFT OUTER JOIN)
3. FULL OUTER JOIN
4. CROSS JOIN
Coluna B (__) Retorna todos os registros da tabela de servidores (à esquerda) e os registros correspondentes da tabela de remunerações (à direita). Se um servidor não tiver remuneração registrada no período, seus dados ainda aparecerão no resultado, com valores nulos para as colunas de remuneração. (__) Retorna o produto cartesiano entre a tabela de categorias de despesa e a tabela de fontes de recurso, combinando cada categoria com cada fonte, sendo útil para criar um universo de todas as combinações possíveis para análise de cenários orçamentários. (__) Retorna apenas os registros que possuem correspondência em ambas as tabelas, por exemplo, ao combinar a tabela de servidores com a de lotações, o resultado incluirá apenas os servidores que têm uma lotação válida e ativa registrada no sistema. (__) Retorna todos os registros quando há uma correspondência em qualquer uma delas, preenchendo com valores nulos as lacunas onde não houver match. Por exemplo, ao unir a tabela de empenhos e a tabela de pagamentos, o resultado mostraria todos os empenhos (mesmo os não pagos) e todos os pagamentos (mesmo os de empenhos de exercícios anteriores).
A sequência correta de preenchimento dos parênteses, de cima para baixo, é:
Em uma instituição de ensino superior, foi necessário criar um banco de dados para controlar os projetos científicos e a participação dos pesquisadores. Para isso, foram criadas as tabelas Pesquisador, Area_Conhecimento e Projeto por meio dos scripts SQL abaixo:

Deseja-se listar o nome dos pesquisadores que atuam como bolsistas, juntamente com a carga horária semanal dos projetos, exibindo apenas registros com correspondência entre as tabelas e ordenando em ordem decrescente de carga horária.
Assinale a alternativa correta:
Em um sistema corporativo de gestão de pessoas, os dados dos colaboradores estão distribuídos em diferentes entidades relacionais, de forma a garantir integridade e evitar redundâncias. Um analista precisa construir uma consulta que permita extrair informações consolidadas para fins gerenciais. Considere as seguintes tabelas:
● TABELA_PESSOAS (ID_PESSOA, NOME, CPF)
● TABELA_CONTRATOS (MATRICULA, ID_PESSOA, SALARIO, COD_SETOR)
● TABELA_SETORES (COD_SETOR, NOME_SETOR)
O analista elaborou a seguinte consulta SQL:

Com base na consulta apresentada e no comportamento dos operadores relacionais em SQL padrão, analise as afirmativas a seguir:
I. A consulta retornará exclusivamente colaboradores que possuam contrato com remuneração superior a 2000 e que estejam vinculados a um setor válido cadastrado, excluindo implicitamente quaisquer registros com ausência de correspondência nas tabelas relacionadas.
II. Caso existam contratos com o campo COD_SETOR nulo ou com valores que não possuam correspondência na tabela de setores, tais registros serão desconsiderados no resultado, ainda que atendam ao critério de remuneração.
III. Ao realizar um RIGHT JOIN entre a TABELA_PESSOAS e a TABELA_CONTRATOS, o SQL Server garantirá que todos os registros de pessoas sejam exibidos no resultado final, mesmo aqueles que não possuem contrato vinculado, preenchendo os campos da tabela de contratos com valores NULL.
IV. A consulta apresentada pode retornar colaboradores que não possuem registro correspondente na TABELA_CONTRATOS, desde que estejam cadastrados na TABELA_PESSOAS e atendam ao critério de salário informado.
Assinale a opção correta:
1. _____________: A transação deve ser concluída em sua totalidade ou não ocorrer de forma alguma.
2. _____________: A transação deve levar o banco de dados de um estado consistente a outro estado consistente.
3. _____________: As operações de uma transação não devem ser visíveis para outras transações até que estejam completas.
4. _____________: Uma vez que a transação é concluída, suas mudanças persistem, mesmo em caso de falha do sistema.
I. O comando "SELECT titulo FROM Livro WHERE ano > 1900;" retornaria os valores Vidas Secas, Grande Sertão: Veredas, Capitães da Areia e A Hora da Estrela.
II. O comando "SELECT titulo FROM Livro WHERE autor IN (SELECT autor FROM Livro GROUP BY autor HAVING COUNT(titulo) > 1);" retornaria os valores O Guarani, Iracema, O Primo Basílio e Quincas Borba.
III. O comando "SELECT ano FROM Livro WHERE ano < 1870;" retornaria os valores O Guarani, Iracema e A Moreninha.
IV. O comando "SELECT titulo FROM Livro WHERE autor >= 'A' AND autor < 'I';" retornaria os valores O Cortiço, A Hora da Estrela, O Primo Basílio e Vidas Secas.
Nesse contexto, qual cláusula SQL deve ser utilizada pelo Analista para atender a essa necessidade?
Um Analista de Sistemas está desenvolvendo relatórios para uma agência de fomento. Ele precisa listar os nomes dos funcionários que atendam a todas as seguintes condições:
• Recebem salário superior a R$ 5.000,00;
• Possuem dependentes do sexo feminino.
Considerando as tabelas Funcionarios, Departamentos e Dependentes, qual consulta SQL retorna CORRETAMENTE os resultados desejados?
A API JDBC (Java Database Connectivity) fornece um conjunto de interfaces e classes padronizadas no pacote java.sql para que aplicativos Java interajam com diversos sistemas de banco de dados relacionais. Considerando o cenário em que um desenvolvedor está implementando a rotina de acesso a dados de uma aplicação, analise o trecho abaixo:
Para iniciar o acesso, o desenvolvedor utiliza um método estático da classe _____________, que avalia a URL fornecida e tenta estabelecer a comunicação carregando o driver apropriado para o banco de dados. O sucesso dessa operação retorna um objeto que implementa a interface _____________, a qual gerencia a sessão de conexão ativa entre o programa Java e o banco de dados. A partir dessa sessão estabelecida, o programa invoca um método para instanciar um objeto da interface _____________, que será o veículo utilizado para efetivamente enviar as instruções e consultas SQL ao banco de dados.
Assinale a alternativa que preenche, correta e respectivamente, as lacunas com as respectivas classes/interfaces da API JDBC no trecho acima.
Considerando o contexto de uma aplicação que utiliza uma linguagem de programação orientada a objetos e possui um banco de dados relacional. São problemas relacionados à divergência de impedância:
I. A incompatibilidade entre os tipos de dados disponíveis no modelo do banco de dados (como os padrões SQL) e os diversos tipos de dados suportados pela linguagem de programação hospedeira (como C++ ou Java).
II. A diferença estrutural de processamento, em que as consultas ao banco retornam conjuntos ou multiconjuntos de tuplas (tabelas), enquanto a linguagem de programação normalmente precisa acessar e processar valores de dados individuais.
III. A necessidade de criar mecanismos adicionais de iteração no código, como o uso de cursores ou variáveis de iteração, para conseguir percorrer as tuplas de um resultado de consulta extraindo uma única linha por vez.
Quais estão corretas?
O domínio da linguagem SQL exige do analista a compreensão da correta ordem de execução lógica e restrição de cláusulas de agregação. Considere o seguinte modelo de dados relacional de uma instituição acadêmica (chaves primárias sublinhadas):
Pesquisador (ID_Pesq, Nome)
Projeto (ID_Proj, Titulo)
Atuacao (ID_Pesq, ID_Proj, Horas_Semanais)
Um analista precisa escrever uma consulta SQL que retorne o nome dos pesquisadores e a quantidade de projetos em que atuam, considerando apenas as atuações com mais de 10 horas semanais. Além disso, o relatório final deve exibir apenas os pesquisadores que possuam participação em mais de 2 projetos (já obedecendo ao critério mínimo de horas). O resultado deve ser ordenado pela quantidade de projetos em ordem decrescente.
Assinale a alternativa que apresenta o comando SQL sintática e logicamente correto para satisfazer todos os requisitos dessa regra de negócio.
Considere um banco de dados relacional de um e-commerce composto pelas seguintes tabelas e suas respectivas colunas, com os tipos de dados estritamente indicados (chaves primárias sublinhadas):
Cliente (ID_Cliente INT, Nome VARCHAR(100))
Produto (ID_Produto INT, Tipo VARCHAR(50), Valor DECIMAL(10,2))
Compra (ID_Compra INT, ID_Cliente INT, ID_Produto INT, Data_Compra DATE)
Um analista de dados precisa gerar um relatório que retorne os nomes dos clientes que compraram produtos do tipo 'livro' durante o mês de dezembro (independentemente do ano), ordenados a partir daqueles que realizaram a maior quantidade de compras para os de menor quantidade. Assinale a alternativa que apresenta o comando SQL correto para obter esse resultado.
Considere o seguinte comando SQL executado em um banco de dados:
SELECT COUNT(ID), AVG(Valor), Tipo
FROM Transacoes
WHERE CAST(Valor AS VARCHAR) LIKE '1%'
GROUP BY Tipo
HAVING COUNT(ID) > 10;
Assinale a alternativa que apresenta a correta descrição do resultado produzido pela execução desse comando.
Os bancos de dados relacionais se baseiam em princípios que garantem integridade, consistência e organização dos dados.
Analise as afirmativas:
II. Uma chave estrangeira em uma tabela deve referenciar obrigatoriamente a chave primária de uma tabela diferente, nunca podendo referenciar a própria tabela.
III. A normalização é um processo que visa reduzir a redundância de dados e eliminar anomalias de inserção, atualização e exclusão.
IV. Na Primeira Forma Normal (1FN), cada atributo de uma tupla deve conter apenas valores atômicos, ou seja, indivisíveis.
Estão corretas:
SQL é uma linguagem padrão utilizada em sistemas gerenciadores de bancos de dados relacionais para consulta e manipulação de dados. Considere o comando abaixo:
SELECT departamento, COUNT(*) AS total, MAX(salario) AS
maior_salario
FROM funcionarios
WHERE cargo <> 'Estagiario'
GROUP BY departamento
HAVING COUNT(*) >= 3
ORDER BY maior_salario DESC;
Com base nesse comando, assinale a alternativa CORRETA.
Uma analista está desenvolvendo um relatório em um sistema de vendas para identificar clientes cujo valor total de pedidos ultrapassou R$ 500,00 no mês corrente. A consulta utiliza as cláusulas JOIN e GROUP BY com a função de agregação SUM. Ao testar a consulta, ela percebeu que precisava filtrar os grupos com base no valor calculado pela agregação. Nesse contexto, qual cláusula SQL deve ser utilizada para filtrar grupos com base no resultado de uma função de agregação?
Para atender ao requisito, o técnico escreveu a seguinte consulta SQL: SELECT nome, localizacaoFROM ATIVO WHERE tipo = 'switch' OR status = 'inativo';
Assinale a alternativa que descreve CORRETAMENTE o comportamento dessa consulta: