Baixe o app para aproveitar ainda mais
Prévia do material em texto
04/06/2021 GRA0244 BANCO DE DADOS GR0272211 - 202110.ead-10522.03 https://unifacs.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_TEST_PLAYER&COURSE_ID=_6656… 1/7 Curso GRA0244 BANCO DE DADOS GR0272211 - 202110.ead-10522.03 Teste ATIVIDADE 4 (A4) Iniciado 04/06/21 12:56 Enviado 04/06/21 13:51 Status Completada Resultado da tentativa 10 em 10 pontos Tempo decorrido 54 minutos Resultados exibidos Respostas enviadas, Respostas corretas, Comentários Pergunta 1 Resposta Selecionada: Resposta Correta: Comentário da resposta: 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: F, F, F, V. F, F, F, V. 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 2 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 1 em 1 pontos 1 em 1 pontos 04/06/2021 GRA0244 BANCO DE DADOS GR0272211 - 202110.ead-10522.03 https://unifacs.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_TEST_PLAYER&COURSE_ID=_6656… 2/7 Resposta Selecionada: Resposta Correta: Comentário da resposta: 5 Joelma F 60 Rio de Janeiro 4 Carlos M 21 São Paulo 3 Adriana F 30 Curitiba 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 GROUP BY CIDADE SELECT CIDADE, COUNT(COD) FROM CLIENTE GROUP BY CIDADE Resposta correta. A alternativa está correta. Para atender a esta demanda de para cada cidade recuperar a quantidade de clientes é necessário realizar uma consulta com agrupamento (CROUP BY), no caso um agrupamento por cidade e contabilizando (COUNT) valores de outros campos. Pergunta 3 Resposta Selecionada: Resposta Correta: Comentário da resposta: 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 MEDICO as M RIGHT OUTER JOIN ESPECIALIDADE as E ON E.COD_ESPECIALIDADE = M.COD_ESPECIALIDADE SELECT * FROM MEDICO as M RIGHT OUTER JOIN ESPECIALIDADE as E ON E.COD_ESPECIALIDADE = M.COD_ESPECIALIDADE 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. Pergunta 4 1 em 1 pontos 1 em 1 pontos 04/06/2021 GRA0244 BANCO DE DADOS GR0272211 - 202110.ead-10522.03 https://unifacs.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_TEST_PLAYER&COURSE_ID=_6656… 3/7 Resposta Selecionada: Resposta Correta: Comentário da resposta: 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 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) Resposta correta. A alternativa está correta pois pela especificação da consulta, que envolve recuperar todos os produtos e apenas os produtos que possuem compras associadas e com as categorias cadastradas deve ser expressa como INNER JOIN tanto entre as tabelas CATEGORIA e PRODUTO quanto também com PRODUTO_COMPRA e que está sendo feita nesta resposta. Pergunta 5 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 1 em 1 pontos 04/06/2021 GRA0244 BANCO DE DADOS GR0272211 - 202110.ead-10522.03 https://unifacs.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_TEST_PLAYER&COURSE_ID=_6656… 4/7 Resposta Selecionada: Resposta Correta: Comentário da resposta: 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: IV, II, III, I IV, II, III, I Resposta correta. A alternativa está correta. Comentando na sequência. O item IV, LEFT é usado junto com OUTER JOIN (LEFT OUTER JOIN) para especificar um certo tipo de junção. O item II (DESC) é usado com os campos na cláusula ORDER BY para especificar o ordenação decrescente. Caso a ordenação seja crescente, a palavra seria ASC. Item III (AVG) é de fato uma função de agregação para cálculo de média. E o item I (HAVING) permite filtrar valores provenientes de cálculo de função agregada em consultas que possuem o group by. Pergunta 6 Resposta Selecionada: Resposta Correta: Comentário da resposta: 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, IV, I, III II, IV, I, III 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. 1 em 1 pontos 1 em 1 pontos 04/06/2021 GRA0244 BANCO DE DADOS GR0272211 - 202110.ead-10522.03 https://unifacs.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_TEST_PLAYER&COURSE_ID=_6656… 5/7 Pergunta 7 Resposta Selecionada: Resposta Correta: Comentário da resposta: 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 é 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 TOTAL DESC 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 8 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 1 em 1 pontos 04/06/2021 GRA0244 BANCO DE DADOS GR0272211 - 202110.ead-10522.03 https://unifacs.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_TEST_PLAYER&COURSE_ID=_6656… 6/7 Resposta Selecionada: Resposta Correta: Comentário da resposta: 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: GROUP BY GROUP BY 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 Resposta Selecionada: Resposta Correta: Comentário da resposta: 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 Quadro - Resultado de consulta com junção entre Alunos e Cursos Fonte: Elaborado pelo autor (2019). Qual foi a junção realizada nesta consulta? Right Outer Join Right Outer Join Resposta correta. A resposta está correta pois perceba que na última linha existe o curso Gestão Ambiental que não possui aluno correspondente, e o curso está a direita na escrita do SELECT porque aparece depois de aluno (está à esquerda). E se o campo de aluno ficou NULL é por que os valores direita prevaleceram (right outer join). Pergunta 10 Uma cláusula “group by”, parte do comando SELECT, permite criar agrupamentos, isto é, vários registros com os mesmos valores são combinados 1 em 1 pontos 1 em 1 pontos 04/06/2021 GRA0244 BANCO DE DADOS GR0272211 - 202110.ead-10522.03 https://unifacs.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_TEST_PLAYER&COURSE_ID=_6656… 7/7 Resposta Selecionada: Resposta Correta: Comentário da resposta: 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(*), AVG(VALOR) FROM LIVRO GROUP BY AUTOR SELECT AUTOR, COUNT(*), AVG(VALOR) FROM LIVRO GROUP BY AUTOR 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.
Compartilhar