Buscar

Atividade_4_Banco_Dados

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 14 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 14 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 9, do total de 14 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

Usuário
	MARCOS VINICIUS DA SILVA PIRES
	Curso
	GRA0244 BANCO DE DADOS GR0272211 - 202110.ead-7421.05
	Teste
	ATIVIDADE 4 (A4)
	Iniciado
	01/06/21 11:16
	Enviado
	01/06/21 11:42
	Status
	Completada
	Resultado da tentativa
	10 em 10 pontos  
	Tempo decorrido
	25 minutos
	Resultados exibidos
	Respostas enviadas, Respostas corretas, Comentários
· Pergunta 1
· 1 em 1 pontos
	
	
	
	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:
	Resposta Selecionada:
	 
SELECT      AUTOR, COUNT(*), AVG(VALOR)         FROM LIVRO GROUP BY AUTOR
	Resposta Correta:
	 
	Comentário da resposta:
	Resposta correta. A alternativa está correta pois o agrupamento (group by) ocorre por AUTOR que é o campo junto ao SELECT e é requisitado contagem e média por autor tratadas com as funções de contagem (COUNT(*) ) e a média (AVG(VALOR) ) aplicadas corretamente.
	
	
	
	
· Pergunta 2
· 1 em 1 pontos
	
	
	
	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:
	Resposta Selecionada:
	 
HAVING
	Resposta Correta:
	 
	Comentário da resposta:
	 Resposta correta. A alternativa está correta. A cláusula HAVING é a alternativa que se tem para realizar filtro sobre um campo calculado. Por exemplo, para o caso do exemplo, uma cláusula having seria “HAVING SUM(VLR_COMPRA) >= 500”.   
	
	
	
	
· Pergunta 3
· 1 em 1 pontos
	
	
	
	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
 
A consulta que calcula o total de empréstimo em reais realizado pela Fintech é
	Resposta Selecionada:
	 
SELECT      SUM(valor)       from  EMPRESTIMO
	Resposta Correta:
	 
	Comentário da resposta:
	Resposta correta. A alternativa está correta pois basta que seja usada a função SUM associada ao campo VALOR totalizando toda a tabela (sem group by).  
	
	
	
	
· Pergunta 4
· 1 em 1 pontos
	
	
	
	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:
	Resposta Selecionada:
	 
F, V, V, V.
	Resposta Correta:
	 
	Comentário da resposta:
	Resposta correta. A alternativa está correta. O item I é falso pois carros do ano de 2015 não atendem à condição ANO > 2015, deveria ser ANO >= 2015. O item II é verdadeiro, a consulta faz um agrupamento por fabricante contando os registros que atendem às condições em WHERE. O item III é verdadeiro pois a condição AR_COND=’S’ é indicativo que o carro possui ar condicionado. E o item IV é verdadeiro pois como é feito um INNER JOIN, apenas registros que possuem valores e são correspondentes são válidos para o resultado.   
	
	
	
	
· Pergunta 5
· 1 em 1 pontos
	
	
	
	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:
	Resposta Selecionada:
	 
F, F, F, V.
	Resposta Correta:
	 
	Comentário da resposta:
	Resposta correta. A alternativa é a correta. Na sequência dos itens, o item I é falso, o comando para criação de view é “CREATE VIEW”, análogo à criação de tabela. O item II é falso, os campos das views podem ter nomes mais intuitivos, diferentes dos campos de tabelas que muitas vezes são “codificados”. O item III é falso, as views não possuem dados, elas simplesmente usam os dados das tabelas como se fosse uma “tabela virtual”. O item IV é verdadeiro, de fato uma view pode conter outra view em sua definição.  
	
	
	
	
· Pergunta 6
· 1 em 1 pontos
	
	
	
	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
 
Assinale qual sentença apresenta uma consulta correta feita com o uso da View.
	Resposta Selecionada:
	 
SELECT  NOME, COUNT(*)           FROMCOMPRAS_CLIENTES_VW GROUP BY NOME
	Resposta Correta:
	 
	Comentário da resposta:
	Resposta correta. A alternativa está correta pois o campo NOME está definido como um dos campos da VIEW no cabeçalho do CREATE VIEW e o count(*) vai contar quantas compras por cliente, via recurso de GROUP BY.   
	
	
	
	
· Pergunta 7
· 1 em 1 pontos
	
	
	
	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
 
(     ) Podem ser aplicadas tendo como parâmetro o “*”
(     ) Retorna o maior valor de um conjunto de dados
(     ) Usada para totalizar valores
(     ) Usada para o cálculo de média de valores
 
 
Assinale a alternativa que apresenta a sequência correta:
	Resposta Selecionada:
	 
II, IV, I, III
	Resposta Correta:
	 
	Comentário da resposta:
	Resposta correta. A alternativa está correta. Comentando na sequência. O item II, COUNT pode de fato ser usado na forma count(*) pois ele realiza uma contagem de registros.O item IV, MAX, de fato calcula o valor máximo dentro de um conjunto de valores. SUM (Item I) é usado para totalizar, fazer somatório de valores. E AVG (item III) é uma abreviação de average, que representa a média de um conjunto de valores.
	
	
	
	
· Pergunta 8
· 1 em 1 pontos
	
	
	
	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:
	Resposta Selecionada:
	 
GROUP BY
	Resposta Correta:
	 
	Comentário da resposta:
	Resposta correta. A alternativa está correta, a cláusula de GROUP BY no comando de SELECT processa os agrupamentos em que os registros com o mesmo valor de modelo são agrupados e com a contabilização (COUNT) associado a algum outro campo. Portanto, para cada modelo serão contabilizadas as locações como requer o enunciado.  
	
	
	
	
· Pergunta 9
· 1 em 1 pontos
	
	
	
	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
 
                        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 é
	Resposta Selecionada:
	 
SELECT *
            FROM   (SELECT          NOME, SUM(VLR_COMPRA) as TOTAL
                        FROM              COMPRAS) AS VOLUME_COMPRAS
            ORDER BY TOTAL DESC
	Resposta Correta:
	 
            FROM   (SELECT          NOME, SUM(VLR_COMPRA) as TOTAL
                        FROM              COMPRAS) AS VOLUME_COMPRAS
            ORDER BY TOTAL DESC
	Comentário da resposta:
	Resposta correta. A alternativa está correta. Perceba que a subconsulta realiza a totalização de vendas e abrevia o somatório SUM(VLR_COMPRA) como TOTAL. Este campo é o empregado na ordenação com a palavra DESC, em ordem decrescente, os maiores primeiro.   
	
	
	
	
· Pergunta 10
· 1 em 1 pontos
	
	
	
	Em um servidor de dados, os dados estão armazenados em tabelas e pelas questões de normalização, cada tabela trata especificamente dados relacionados com suas respectivas entidades. Quando ocorre a necessidade por informações mais abrangentes, os dados de tabelas diferentes precisam compor um resultado conjunto e o mecanismo que permite combinar dados de várias tabelas são as junções que podem ser de vários tipos.
Considerando uma parte do modelo de um sistema de clínica médica, referente aos médicos e especialidades, tem-se as seguintes tabelas:
           
MEDICO (COD_MEDICO, CRM, NOME, CONTATO, COD_ESPECIALIDADE)
            ESPECIALIDADE (COD_ESPECIALIDADE, DCR_ESPECIALIDADE)
 
Todo médico está associado a uma especialidade, mas na clínica podem existir especialidades que não possuem médicos. A consulta que recupera todas as especialidades com os médicos relacionados, recuperando mesmo as especialidades sem médico cadastrado é:
	Resposta Selecionada:
	 
SELECT      *           FROM   MEDICO as M RIGHT OUTER JOIN ESPECIALIDADE as E
    ON E.COD_ESPECIALIDADE = M.COD_ESPECIALIDADE
	Resposta Correta:
	 
    ON E.COD_ESPECIALIDADE = M.COD_ESPECIALIDADE
	Comentário da resposta:
	Resposta correta. A alternativa está correta. As tabelas escritas no join estão na sequencia Medico primeiro (esquerda) e Especialidade depois (direita) e a junção foi feita pela direita (RIGHT OUTER JOIN), portanto usando a tabela especialidade como base para junção.

Continue navegando