Buscar

Banco de Dados: Consultas SQL

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 7 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 7 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

PERGUNTA 1
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 compras, mesmo sem clientes, serão visualizados
	
	
	Todos os registros de clientes, mesmo que não tenham 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.
	
	
	Apenas clientes com compras serão visualizados
1 pontos  
PERGUNTA 2
1. O comando SELECT pode conter várias cláusulas, por exemplo, para indicar as tabelas fonte dos dados (FROM), para estabelecer os filtros (WHERE), para ordenação dos dados (ORDER BY). Estas cláusulas e o emprego de diversos tipos de recursos torna este comando bastante útil para expressar as necessidades de informações de usuários de um banco de dados.
 
A respeito dos recursos para construção de consultas avançadas com o SELECT, analise as sentenças a seguir e assinale (V) para a(s) verdadeira(s) e (F) para a(s) falsa(s):
 
I. (v ) Subconsultas permitem que um comando de SELECT contenha outro comando de SELECT interno. Um exemplo, é usar subconsultas com um operador IN.
II.( v) Os agrupamentos permitem resumir os dados agrupando registros, por exemplo, podemos agrupar os clientes por bairro e os bairros serão os agrupamentos
III.   (f ) Funções de agregação permite que os dados sejam consultados de forma mais simples, com um mecanismo análogo a uma tabela virtual
IV.   (f ) As junções são cálculos que permitem realizar por exemplo contabilizações, cálculo de média, maior valor e outros
 
A partir das associações feitas anteriormente, assinale a alternativa que apresenta a sequência correta:
	
	
	F, F, V, F.
	
	
	F, F, V, F.
	
	
	V, V, F, F.
	
	
	V, V, F, V.
	
	
	F, F, V, V.
1 pontos  
PERGUNTA 3
1. Os bancos de dados permitem que dados básicos, provenientes dos processos operacionais 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       count(valor)       from  EMPRESTIMO
	
	
	SELECT       AVG(valor)        from  EMPRESTIMO
	
	
	SELECT      SUM(valor)       from  EMPRESTIMO
	
	
	SELECT       count(valor)       from  EMPRESTIMO GROUP BY SEXO
	
	
	SELECT       SUM(valor)       from  EMPRESTIMO GROUP BY SEXO
1 pontos  
PERGUNTA 4
1. As views permitem simplificar a forma como as consultas podem ser feitas pois uma view abstrai a complexidade das consultas, por exemplo consultas com muitas junções, funções de agregação e outras. Daí, uma consulta utiliza a view como se fosse uma tabela virtual cuja definição é baseada na consulta mais complexa.
 
Em um determinado sistema de compras, foi criada a seguinte view. 
	CREATE VIEW    `COMPRAS_CLIENTES_VW  AS          (NOME,                 BAIRRO,       DATA_NASC,         SEXO,                COD_CIDADE,    CIDADE,       DATA_COMPRA,     VALOR)  AS   SELECT             CLI.NOME,                    CLI.BAIRRO,                 CLI.DATA_NASC,          CLI.SEXO,             CID.COD_CIDADE,       CID.DCR_CIDADE,              CMP.DATA_COMPRA,  CMP.VLR_COMPRA FROM             CLIENTE CLI                INNER JOIN     COMPRA CMP                       ON CLI.COD_CLIENTE = CMP.COD_CLIENTE                INNER JOIN     CIDADE AS CID                       ON CLI.COD_CIDADE = CID.COD_CIDADE
2. 
 
Assinale qual sentença apresenta uma consulta correta feita com o uso da View.
	
	
	SELECT  NOME, DCR_CIDADE    FROM   COMPRAS_CLIENTES_VW
	
	
	SELECT  NOME, VLR_COMPRA   FROM   COMPRAS_CLIENTES_VW
	
	
	SELECT  NOME, CIDADE              FROM   CLIENTE
	
	
	SELECT  NOME, COUNT(*)           FROM   COMPRAS_CLIENTES_VW GROUP BY NOME
	
	
	SELECT  NOME, VLR_COMPRA   FROM   CLIENTE
1 pontos  
PERGUNTA 5
1. As funções de agregação permitem extrair informações úteis a partir de um determinado conjunto de resultados, elas sumarizam os valores de determinados campos em um único valor e elas podem ser usadas em todos os dados de um conjunto de resultados ou então podem ser combinadas com as cláusulas GROUP BY.
 
Em um sistema, existe um cadastro de clientes com os seguintes dados:
	CODIGO
	NOME
	CONTATO
	DATA_NASC
	SEXO
	BAIRRO
	1
	Adriana Araújo
	71 982213455
	1987-02-03
	F
	Barra
	2
	Renato Nogueira
	11 933321999
	1977-07-09
	M
	Morumbi
	3
	Viviane Sales
	11 987712022
	1995-11-02
	F
	Vila Madalena
	4
	Marcela Campos
	71 973514498
	1980-01-19
	F
	Barra
	5
	Rodrigo Gonçalves
	21 986121942
	1992-05-10
	M
	Centro
	6
	Jorge Marinho
	11 995439812
	1990-06-07
	M
	Morumbi
	7
	Rodrigo Vieira
	71 972318872
	1985-08-27
	M
	Centro
	8
	Vanessa Aquino
	21 933211346
	1972-02-15
	F
	Centro
2. 
 
Para extrair nesta tabela a data de nascimento do cliente mais velho, a cláusula SELECT deve apresentar a seguinte função de agregação:
	
	
	MAX(DATA_NASC)
	
	
	COUNT(DATA_NASC)
	
	
	MIN(DATA_NASC)
	
	
	SUM(DATA_NASC)
	
	
	AVG(DATA_NASC)
1 pontos  
PERGUNTA 6
1. O banco de dados serve de fonte para atender às diversas demandas de setores informatizados por um determinado sistema, por exemplo, um setor de recursos humanos pode recuperar o total da folha de pagamento, um setor de vendas pode requisitar a quantidade de produtos vendidos por categoria e um setor de marketing pode requisitar alguns relatórios sobre os clientes.
Em um sistema de locação de automóveis, a tabela de cliente apresenta o seguinte formato e com uma breve amostra de dados. 
 
	Cod
	Nome
	Sexo
	Idade
	Cidade
	2
	Ademar
	M
	22
	São Paulo
	1
	Fabrício
	M
	41
	Salvador
	5
	Joelma
	F
	60
	Rio de Janeiro
	4
	Carlos
	M
	21
	São Paulo
	3
	Adriana
	F
	30
	Curitiba
2. 
 
O setor de marketing está avaliando as regiões onde a empresa atua e o volume de clientes em cada região. Daí, surgiu a necessidade de recuperar as cidades nesta tabela e para cada cidade, o total de clientes existentes. A consulta que melhor atende à esta necessidade é:
	
	
	SELECT       CIDADE, COUNT(COD)            FROM CLIENTE           ORDER BY CIDADE
 
 
 
	
	
	SELECT      CIDADE, COUNT(COD)            FROM CLIENTE           GROUP BY CIDADE
	
	
	SELECT        CIDADE, SUM(COD)                 FROM CLIENTE           GROUP BY CIDADE
	
	
	SELECT       CIDADE, SUM(NOME)              FROM CLIENTE           GROUP BY CIDADE
	
	
	SELECT       CIDADE, NOME                        FROM CLIENTE           ORDER BY CIDADE
1 pontos  
PERGUNTA 7
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 camposcalculados. 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
	
	
	FROM
	
	
	HAVING
	
	
	INNER
1 pontos  
PERGUNTA 8
1. A modelagem de um banco de dados permite compreender como as tabelas estão relacionadas entre si, permite identificar chaves primárias e as chaves estrangeiras envolvidas nos relacionamentos e assim serve de suporte para construção de consultas, especificamente para saber quais campos usar em junções.
 
Em um banco de dados, a parte referente ao cadastro de produtos associado ao itens de compras (tabela PRODUTO_COMPRA) está mostrado a seguir.
            Fonte: Elaborado pelo Autor (2019)
 
Em certo setor da empresa, houve a necessidade de recuperar todos os produtos (com sua descrição e a descrição da sua categoria) que possuem compra e apenas aqueles que de fato possuem compras associadas e que possuem a categoria cadastrada. A cláusula de junção após a palavra chave FROM na consulta deve ser:
	
	
	FROM         (CATEGORIA as C INNER JOIN PRODUTO as P
.ON C.COD_CATEGORIA = P.COD_CATEGORIA)
INNER JOIN PODUTO_COMPRA AS PC
ON P.COD_PRODUTO = PC.COD_PRODUTO)
	
	
	FROM           (CATEGORIA as C RIGHT OUTER JOIN PRODUTO as P
.ON C.COD_CATEGORIA = P.COD_CATEGORIA)
INNER JOIN PODUTO_COMPRA AS PC
ON P.COD_PRODUTO = PC.COD_PRODUTO)
	
	
	FROM           (CATEGORIA as C RIGHT OUTER JOIN PRODUTO as P
.ON C.COD_CATEGORIA = P.COD_CATEGORIA)
RIGHT OUTER JOIN PODUTO_COMPRA AS PC
ON P.COD_PRODUTO = PC.COD_PRODUTO)
	
	
	FROM           (CATEGORIA as C INNER JOIN PRODUTO as P
.ON C.COD_CATEGORIA = P.COD_CATEGORIA)
LEFT OUTER JOIN PODUTO_COMPRA AS PC
ON P.COD_PRODUTO = PC.COD_PRODUTO)
	
	
	FROM           (CATEGORIA as C LEFT OUTER JOIN PRODUTO as P
.ON C.COD_CATEGORIA = P.COD_CATEGORIA)
INNER JOIN PODUTO_COMPRA AS PC
ON P.COD_PRODUTO = PC.COD_PRODUTO)
1 pontos  
PERGUNTA 9
1. Dados em tabelas diferentes podem compor um conjunto de resultados em um comando de SELECT através das junções. Alguns tipos de junções são as junções internas e as junções externas, estas últimas podem ser pela esquerda ou pela direita.
Em um sistema de uma universidade existe o cadastro de Alunos e o de Cursos, onde em aluno pode conter apenas um curso e em curso pode conter vários cursos. Em uma consulta foi feita uma junção (join) entre as tabelas Alunos e Cursos e na consulta SELECT, Alunos e Cursos estão escritas nesta ordem (Alunos primeiro, antes de Cursos). O resultado da consulta está expresso na tabela a seguir:
	Matrícula
	Nome
	Cod_Curso
	Dcr_Curso
	322871
	Joana Vieira
	2
	Engenharia Elétrica
	322609
	Márcio Nogueira
	2
	Engenharia Elétrica
	212320
	Cristiano Azevedo
	12
	Direito
	212201
	Lúcia Vergamini
	12
	Direito
	NULL
	NULL
	4
	Gestão Ambiental
2. 
Quadro - Resultado de consulta com junção entre Alunos e Cursos
Fonte: Elaborado pelo autor (2019).
Qual foi a junção realizada nesta consulta?
	
	
	Inner Join
	
	
	Join
	
	
	Left Outer Join
	
	
	Full Join
	
	
	Right Outer Join
1 pontos  
PERGUNTA 10
1. As funções de agregação são úteis para contabilizar, totalizar ou avaliar registros em consultas construídas com o comando SELECT, com ou sem a cláusula GROUP BY. Quando usada sem agrupamentos, considera todos os registros dentro de um conjunto de resultados. Quando usada com group by, resumem os registros de um agrupamento em um valor conforme o objetivo da função.
Em relação às funções de agregação, realize a associação de cada uma delas com as afirmações na sequência:
 
I.    SUM
II.    COUNT
III.   AVG
IV.   MAX
 
Associe as funções de agregação com as afirmações sobre estes comandos
 
(   ii ) Podem ser aplicadas tendo como parâmetro o “*”
(  iv   ) Retorna o maior valor de um conjunto de dados
(  i   ) Usada para totalizar valores
( iii    ) Usada para o cálculo de média de valores
 
 
Assinale a alternativa que apresenta a sequência correta:
	
	
	II, I, IV, III
	
	
	III, IV, I, II
	
	
	I, IV, II, III
	
	
	II, IV, I, III
	
	
	III, I, II, IV

Continue navegando

Outros materiais