Prévia do material em texto
PERGUNTA 1 1. O comando SELECT é bastante versátil e por meio das suas cláusulas de WHERE, ORDER BY, GROUP BY, JOIN permite especificar filtros, ordenações, agrupamentos e junções respectivamente. Estes e outros recursos oferecem suporte ao usuário para escrever suas consultas. Em relação a algumas das cláusulas, comandos e palavras chave para escrita dos comandos, realize a associação entre os itens a seguir e as afirmações na sequência: I. HAVING II. DESC III. AVG IV. LEFT Associe as funções de agregação com as afirmações sobre estes comandos: ( ) Permite especificar qual o tipo de junção deve ser executada ( ) Estabelece ordem decrescente na cláusula ORDER BY ( ) Função de agregação que pode ser usada com GROUP BY ( ) Permite editar filtros em consultas com GROUP BY Assinale a alternativa que apresenta a sequência correta: II, III, I, IV I, IV, II, III IV, II, III, I I, III, II, IVI III, I, IV, II 1 pontos PERGUNTA 2 1. Uma visão (view) é um dos componentes que pode ser criado em um banco de dados junto com as tabelas, stored procedures, usuários e outros. Uma view, por ser um componente que ajuda a estruturar a forma como os dados são consultados, é definido por comandos de DDL e existe uma forma e comando específico para esta criação. Sobre o comando para criação de Views, analise as sentenças a seguir e assinale (V) para a(s) verdadeira(s) e (F) para a(s) falsa(s). I. ( ) O comando para a criação de uma view é o “ADD VIEW” II. ( ) Campos das views precisam ter os mesmos nomes da consulta usada para defini-la III. ( ) Ao ser criada, os dados da view são copiados para uma estrutura própria IV. ( ) Uma view pode ser criada com base em outra view A partir das associações feitas anteriormente, assinale a alternativa que apresenta a sequência correta: V, F, F, F. F, F, F, F. V, F, F, V. F, F, F, V. F, V, V, V. 1 pontos PERGUNTA 3 1. O uso de agrupamentos é um recurso utilizado ao criar consultas com SELECT para sumarizar dados e realizar contabilizações ou totalizações, e a cláusula usada é o GROUP BY. Uma demanda comum é, ao realizar agrupamentos, realizar algum filtro sobre os campos calculados. Por exemplo, ao avaliar os clientes e o total de compras calculado via uma função SUM, pode-se querer filtrar apenas os clientes com este volume de compras acima de R$500,00. A palavra chave usada na cláusula que permite realizar este tipo de filtro sobre campos calculados por funções de agregação é a: ORDER WHERE INNER FROM HAVING 1 pontos PERGUNTA 4 1. A ordenação de registros é expressa em uma cláusula parte de uma consulta com um SELECT que contém ainda as cláusulas where para realizar os filtros e pode ainda conter cláusulas “group by” para realizar agrupamentos. Quando se está fazendo a ordenação de registros os campos são especificados com as palavras chaves ‘ASC’ e ‘DESC’ indicando ordem ascendente e decrescente. Ao escrever uma consulta proveniente da junção entre a tabela de Categoria e Produto em um sistema de papelaria os registros encontrados foram os seguintes: DCR_PRODUTO VALOR DCR_CATEGORIA Caderno Matérias 15,60 Cadernos Caderno Simples 11,45 Cadernos Caneta 1,35 Canetas e afins Grafite 7,50 Canetas e afins Lapiseira 20,40 Canetas e afins 2. Fonte: Elaborado pelo autor (2019). Qual cláusula de ordenação foi escrita na consulta? ORDER BY DCR_CATEGORIA ASC, DCR_PRODUTO ASC ORDER BY VALOR DESC, DCR_PRODUTO ASC ORDER BY DCR_CATEGORIA ASC, VALOR DESC ORDER BY VALOR ASC, DCR_PRODUTO DESC ORDER BY DCR_CATEGORIA DESC, DCR_PRODUTO DESC 1 pontos PERGUNTA 5 1. O comando de SELECT é um dos comandos de DML (Data Manipulation Language) responsável por recuperar os registros de tabelas e ele possui vários recursos como filtros, ordenação, subconsultas e junções, além de outros e isso permite que este comando atenda às mais variadas necessidade de informação de seus usuários. Em um sistema de Locadora, um determinado gerente solicitou à equipe de Tecnologia de Informação uma listagem com o volume de locações de carros organizadas por modelo de carro. A listagem apresenta cada modelo e para cada modelo apresenta a quantidade de locações. A cláusula do comando SELECT que atende esta demanda de avaliar a quantidade de locações por modelo de carro é o: ORDER BY FROM LIKE RIGHT OUTER JOIN GROUP BY 1 pontos PERGUNTA 6 1. A criação de consultas em um banco de dados através do comando SELECT pode utilizar diversos recursos, ordenação, agrupamentos, filtros e outros. Um destes recursos, que permite consultas mais avançadas, é o uso de subconsultas em que um comando de SELECT pode conter um outro comando SELECT em alguma de suas outras cláusulas. Em um sistema de uma loja, imagine que existe uma tabela de COMPRAS com os seguintes dados. NOME DATA VLR_COMPRA Renato Nogueira 12/03/2019 35.60 Renato Nogueira 21/03/2019 120.70 Renato Nogueira 25/04/2019 81.50 Rodrigo Gonçalves 14/03/2019 57.80 Rodrigo Gonçalves 04/04/2019 31.00 Vanessa Aquino 16/03/2019 23.70 Vanessa Aquino 10/04/2019 92.50 2. Fonte: Elaborado pelo Autor (2019) Para avaliar o volume de vendas dos clientes, o setor de marketing solicitou uma listagem com os clientes e o seu volume total de compras e ordenados pelo volume de compras em ordem decrescente. A consulta que reflete esta necessidade do setor de marketing é SELECT * FROM (SELECT NOME, AVG(VLR_COMPRA) as TOTAL FROM COMPRAS) AS VOLUME_COMPRAS ORDER BY TOTAL DESC SELECT * FROM (SELECT NOME, SUM(VLR_COMPRA) as TOTAL FROM COMPRAS) AS VOLUME_COMPRAS ORDER BY VLR_COMPRA DESC SELECT * FROM (SELECT NOME, AVG(VLR_COMPRA) as TOTAL FROM COMPRAS) AS VOLUME_COMPRAS ORDER BY VLR_COMPRA DESC SELECT * FROM (SELECT NOME, SUM(VLR_COMPRA) as TOTAL FROM COMPRAS) AS VOLUME_COMPRAS ORDER BY TOTAL DESC SELECT * FROM (SELECT NOME, SUM(VLR_COMPRA) as TOTAL FROM COMPRAS) AS VOLUME_COMPRAS ORDER BY VLR_COMPRA ASC 1 pontos PERGUNTA 7 1. As cláusulas WHERE, ORDER BY, GROUP BY, JOIN e outras são exemplos de partes de um SELECT e cada uma fornece algum recurso que traduz alguma necessidade ao se realizar consultas sobre os dados. Ao consultar as tabelas de CARRO e FABRICANTE em um sistema de locadoras, foi realizada a seguinte consulta: SELECT F.FABRICANTE, COUNT(*), AVG(C.VLR_LOCACAO) FROM CARRO as C INNER JOIN FABRICANTE as F ON (C.COD_FABRICANTE = F.COD_FABRICANTE) WHERE ANO > 2015 AND AR_COND = ‘S’ GROUP BY FABRICANTE Considerando esta consulta, analise e assinale nas sentenças a seguir (V) para a(s) verdadeira(s) e (F) para a(s) falsa(s). I. ( ) Os carros do ano 2015 serão considerados na consulta II. ( ) Será mostrada a contagem de carros conforme condições e agrupados por fabricante III. ( ) Apenas carros com ar condicionado serão contabilizados IV. ( ) Apenas carros que tiverem um fabricante cadastrado serão considerados A partir das associações feitas anteriormente, assinale a alternativa que apresenta a sequência correta: F, V, V, V. F, V, F, F. F, F, V, F. V, V, V, V. V, V, F, V. 1 pontos PERGUNTA 8 1. Os bancos de dados permitem que dados básicos, provenientes dos processosoperacionais de um negócio, possam ser processados e sumarizados para se obter informações de nível gerencial e estratégico. Por exemplo, a quantidade de carros locados por semana em uma locadora, a quantidade de alunos matriculados em uma escola, além de outras situações ilustram o que pode ser processado facilmente com consultas via SELECT. Uma determinada Fintech realiza empréstimos para pessoas de uma comunidade e a tabela EMPRESTIMO mostrada a seguir apresenta os registros de empréstimos realizados: CPF Data Sexo Valor 02311220012 10/04/2019 M R$ 1.200,00 91311770028 13/04/2019 F R$ 3.500,00 84911560025 21/04/2019 F R$ 4.100,00 73923560458 23/04/2019 M R$ 1.000,00 64821569228 02/05/2019 M R$ 1.600,00 2. A consulta que calcula o total de empréstimo em reais realizado pela Fintech é SELECT AVG(valor) from EMPRESTIMO SELECT SUM(valor) from EMPRESTIMO SELECT count(valor) from EMPRESTIMO GROUP BY SEXO SELECT count(valor) from EMPRESTIMO SELECT SUM(valor) from EMPRESTIMO GROUP BY SEXO 1 pontos PERGUNTA 9 1. Em um banco de dados, os registros são armazenados e decompostos em tabelas e o relacionamento entre elas ocorre através de chaves estrangeiras que permitem combinar os dados. Por exemplo, os dados de cliente estão armazenados em uma tabela e os dados de compras estão armazenados em outra tabela, para se listar os dados de clientes com os dados de compras em conjunto, usa-se a chave estrangeira código do cliente para este elo. Neste sistema de loja, a seguinte consulta foi realizada: SELECT CLI.*, COMP.* FROM CLIENTE AS CLI LEFT OUTER JOIN COMPRAS AS COMP ON CLI.COD_CLIENTE = COMP.COD_CLIENTE A respeito desta consulta assinale a afirmação correta: Todos os registros de clientes, mesmo que não tenham compras, serão visualizados Apenas clientes com compras serão visualizados Todos os registros de clientes e de compras mesmo que não tenham correlação entre si serão visualizados Apenas registros que tenham valores nos dois campos e que tenham correlação serão visualizados. Todos os registros de compras, mesmo sem clientes, serão visualizados 1 pontos PERGUNTA 10 1. Uma cláusula “group by”, parte do comando SELECT, permite criar agrupamentos, isto é, vários registros com os mesmos valores são combinados em uma linha e os valores dos outros campos podem ser resumidos através de funções de agregação, gerando cálculo de totais, contagens, médias e outros. Em um sistema de livraria, existe uma tabela LIVRO que contém os seguintes campos: LIVRO (COD_LIVRO, TITULO, AUTOR, VALOR) Para recuperar a lista dos autores com o total de títulos de sua autoria presentes na livraria e o valor médio dos valores de seus títulos, a consulta deve ser: SELECT AUTOR, COUNT(*), MEDIA(VALOR) FROM LIVRO GROUP BY AUTOR SELECT AUTOR, SUM(*), MEDIA(VALOR) FROM LIVRO GROUP BY AUTOR SELECT TITULO, SUM(*), AVG(VALOR) FROM LIVRO GROUP BY TITULO SELECT TITULO, COUNT(*), AVG(VALOR) FROM LIVRO GROUP BY TITULO SELECT AUTOR, COUNT(*), AVG(VALOR) FROM LIVRO GROUP BY AUTOR