Buscar

BD ATIVIDADE 04

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 8 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 8 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

Prévia do material em texto

ATIVIDADE 04 - QUESTIONÁRIO
Pergunta 1 
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 VLR_COMPRA DESC 
	
	
	SELECT *
            FROM   (SELECT          NOME, SUM(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 VLR_COMPRA ASC 
	
	
	SELECT *
            FROM   (SELECT          NOME, SUM(VLR_COMPRA) as TOTAL
                        FROM              COMPRAS) AS VOLUME_COMPRAS
            ORDER BY TOTAL DESC 
	
	
	SELECT *
            FROM   (SELECT          NOME, AVG(VLR_COMPRA) as TOTAL
                        FROM              COMPRAS) AS VOLUME_COMPRAS
            ORDER BY TOTAL DESC 
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. ( ) Subconsultas permitem que um comando de SELECT contenha outro comando de SELECT interno. Um exemplo, é usar subconsultas com um operador IN. 
II.( ) Os agrupamentos permitem resumir os dados agrupando registros, por exemplo, podemos agrupar os clientes por bairro e os bairros serão os agrupamentos 
III.   ( ) 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.   ( ) 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: 
	
	
	V, V, F, F. 
	
	
	F, F, V, F. 
	
	
	V, V, F, V. 
	
	
	F, F, V, V. 
	
	
	F, F, V, F. 
1 pontos   
Pergunta 3 
1. Um banco de dados é um conjunto de componentes definidos de diversas formas via comandos de DDL. Por exemplo, dentre os componentes existem as tabelas, os procedimentos armazenados e as visões, dentre outros, cada um com suas finalidades. Sobre as visões, qual das sentenças a seguir representa uma das vantagens de usar estes componentes em um banco de dados? 
	
	
	São funções que permitem contabilizar ou totalizar valores 
	
	
	Permite combinar dados de tabelas diferentes via chave estrangeira 
	
	
	Definem os perfis de usuários que podem inserir dados no banco de dados 
	
	
	Permite que consultas mais complexas sejam manipuladas de forma mais simples 
	
	
	Permite armazenar dados para uma consulta mais simples 
1 pontos   
Pergunta 4 
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
 
(     ) 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: 
	
	
	II, I, IV, III 
	
	
	II, IV, I, III 
	
	
	III, I, II, IV 
	
	
	I, IV, II, III 
	
	
	III, IV, I, II 
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: 
	
	
	RIGHT OUTER JOIN 
	
	
	LIKE 
	
	
	GROUP BY 
	
	
	FROM 
	
	
	ORDER BY 
1 pontos   
Pergunta 6 
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       TITULO, COUNT(*), AVG(VALOR)         FROM LIVRO GROUP BY TITULO 
	
	
	SELECT       TITULO, SUM(*), AVG(VALOR)                         FROM LIVRO GROUP BY TITULO 
	
	
	SELECT       AUTOR, SUM(*), MEDIA(VALOR)          FROM LIVRO GROUP BY AUTOR 
	
	
	SELECT       AUTOR, COUNT(*), MEDIA(VALOR)     FROM LIVRO GROUP BY AUTOR 
	
	
	SELECT      AUTOR, COUNT(*), AVG(VALOR)         FROM LIVRO GROUP BY AUTOR 
1 pontos   
Pergunta 7 
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: 
	
	
	Apenas clientes com compras 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 
	
	
	Todos os registros de compras,mesmo sem clientes, serão visualizados 
	
	
	Apenas registros que tenham valores nos dois campos e que tenham correlação serão visualizados. 
1 pontos   
Pergunta 8 
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, VLR_COMPRA   FROM   CLIENTE 
	
	
	SELECT  NOME, CIDADE              FROM   CLIENTE 
	
	
	SELECT  NOME, DCR_CIDADE    FROM   COMPRAS_CLIENTES_VW 
	
	
	SELECT  NOME, COUNT(*)           FROM   COMPRAS_CLIENTES_VW GROUP BY NOME 
	
	
	SELECT  NOME, VLR_COMPRA   FROM   COMPRAS_CLIENTES_VW 
1 pontos   
Pergunta 9 
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 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) 
	
	
	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 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 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 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) 
1 pontos   
Pergunta 10 
1. 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 é: 
	
	
	SELECT        *           FROM   ESPECIALIDADE as E RIGHT OUTER JOIN MEDICO as M 
    ON M.COD_ESPECIALIDADE = E.COD_ESPECIALIDADE 
	
	
	SELECT      *           FROM   MEDICO as M RIGHT OUTER JOIN ESPECIALIDADE as E 
    ON E.COD_ESPECIALIDADE = M.COD_ESPECIALIDADE 
	
	
	SELECT       *           FROM   MEDICO as M FULL JOIN ESPECIALIDADE as E 
    ON M.COD_ESPECIALIDADE = E.COD_ESPECIALIDADE 
	
	
	SELECT       *           FROM   MEDICO as M INNER JOIN ESPECIALIDADE as E 
    ON M.COD_ESPECIALIDADE = E.COD_ESPECIALIDADE 
	
	
	SELECT       *           FROM   MEDICO as M LEFT OUTER JOIN ESPECIALIDADE as E 
    ON M.COD_ESPECIALIDADE = E.COD_ESPECIALIDADE 
1 pontos

Continue navegando