Baixe o app para aproveitar ainda mais
Leia os materiais offline, sem usar a internet. Além de vários outros recursos!
Prévia do material em texto
Usuário MARCIO DE SOUZA VINCENZI Curso GRA0244 BANCO DE DADOS GR0272211 - 202110.ead-8042.11 Teste ATIVIDADE 4 (A4) Iniciado 23/04/21 11:19 Enviado 23/04/21 11:44 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 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 0231122 0012 10/04/2019 M R$ 1.20 0,00 9131177 0028 13/04/2019 F R$ 3.50 0,00 8491156 0025 21/04/2019 F R$ 4.10 0,00 7392356 0458 23/04/2019 M R$ 1.00 0,00 6482156 9228 02/05/2019 M R$ 1.60 0,00 A consulta que calcula o total de empréstimo em reais realizado pela Fintech é Resposta Selecionada: SELECT SUM(valor) from EMPRESTIMO Resposta Correta: SELECT SUM(valor) from EMPRESTIMO 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 2 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: II, IV, I, III 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 3 1 em 1 pontos 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? Resposta Selecionada: Right Outer Join Resposta Correta: Right Outer Join Comentário da resposta: 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 4 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(*) FROM COMPRAS_CLIENTES_VW GROUP BY NOME Resposta Correta: SELECT NOME, COUNT(*) FROM COMPRAS_CLIENTES_VW GROUP BY NOME 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 5 1 em 1 pontos 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: Resposta Selecionada: IV, II, III, I Resposta Correta: IV, II, III, I Comentário da resposta: 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 1 em 1 pontos 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: Resposta Selecionada: Todos os registrosde clientes, mesmo que não tenham compras, serão visualizados Resposta Correta: Todos os registros de clientes, mesmo que não tenham compras, serão visualizados Comentário da resposta: Resposta correta. A alternativa está correta pois o tipo de junção empregado é o LEFT OUTER JOIN, isto é, a tabela da esquerda vai ser usada como base e como CLIENTE foi escrita primeiro (é a tabela da esquerda) todos os registros dela serão recuperados. ● ● Pergunta 7 1 em 1 pontos 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: C NOME CONT AT O DAT A _ N A S C S BAI R R O 1 Adriana Araúj o 71 98 22 13 45 5 1987 - 0 2 - 0 3 F Bar r a 2 Renato Nogu eira 11 93 33 21 99 9 1977 - 0 7 - 0 9 M Mor u m b i 3 Viviane Sale s 11 98 77 12 02 2 1995 - 1 1 - 0 2 F Vila M a d a l e n a 4 Marcela Cam pos 71 97 35 14 49 8 1980 - 0 1 - 1 9 F Bar r a 5 Rodrigo Gonç alves 21 98 61 21 94 2 1992 - 0 5 - 1 0 M Cen t r o 6 Jorge Mari nho 11 99 54 39 81 2 1990 - 0 6 - 0 7 M Mor u m b i 7 Rodrigo Vieir a 71 97 23 18 87 2 1985 - 0 8 - 2 7 M Cen t r o 8 Vanessa Aqui no 21 93 32 11 34 6 1972 - 0 2 - 1 5 F Cen t r o 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: Resposta Selecionada: MIN(DATA_NASC) Resposta Correta: MIN(DATA_NASC) Comentário da resposta: Resposta correta. A alternativa está correta. Ao se utilizar a função MIN será recuperada a menor data de nascimento do cliente, portanto a data de nascimento do cliente mais velho. ● ● Pergunta 8 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: HAVING 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 9 1 em 1 pontos 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? Resposta Selecionada: Permite que consultas mais complexas sejam manipuladas de forma mais simples Resposta Correta: Permite que consultas mais complexas sejam manipuladas de forma mais simples Comentário da resposta: Resposta correta. A alternativa está correta pois com a criação de uma view, uma consulta complexa é encapsulada e os usuários passam a ter um mecanismo mais simples para consultar os dados de tabelas. ● ● Pergunta 10 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: F, F, F, V. 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. ● Sexta-feira, 23 de Abril de 2021 11h44min55s BRT
Compartilhar