Baixe o app para aproveitar ainda mais
Prévia do material em texto
Curso GRA0244 BANCO DE DADOS GR0272211 - 202110.ead- 14718.01 Teste ATIVIDADE 4 (A4) Iniciado 02/06/21 Enviado 15/06/21 Status Completada Resultado da tentativa 9 em 10 pontos Tempo decorrido 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 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: 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 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: SELECT * 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 3 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 4 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 registros de 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 5 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: SELECT * FROM MEDICO as M RIGHT OUTER JOIN ESPECIALIDADE as E 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. • Pergunta 6 0 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. ( ) Umaview 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: V, F, F, F. Resposta Correta: F, F, F, V. Comentário da resposta: Sua resposta está incorreta. A alternativa está incorreta pois a sequência correta é F,F,F,V e explicando nesta sequência. 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 7 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 8 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: F, V, V, V. 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 9 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: 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 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 10 1 em 1 pontos Um banco de dados pode ser composto de diversos componentes, existem as tabelas que são os principais componentes mas existem também outros. Sobre um destes componentes, (ELMASRI, 2011, p.88) diz que “não necessariamente existe em forma física, ela é considerada uma tabela virtual, ao contrário das tabelas de base, cujas tuplas sempre estão armazenadas fisicamente no banco de dados. Isso limita possíveis operações de atualização mas não oferece quaisquer limitações sobre a consulta.“ ELMASRI, R.; NAVATHE, S. Sistemas de Banco de Dados . São Paulo: Pearson Addison Wesley, 2011, p.88. O componente objeto do comentário do EMASRI é Resposta Selecionada: Uma view Resposta Correta: Uma view Comentário da resposta: Resposta correta. A alternativa está correta. De fato uma view é uma tabela virtual, que não possui dados fisicamente e que por isso oferece limitações para atualizações porém não oferece limitações quanto à consulta.
Compartilhar