Baixe o app para aproveitar ainda mais
Prévia do material em texto
Curso GRA0244 BANCO DE DADOS GR0272211 - 202110.ead- 29778861.06 Teste ATIVIDADE 4 (A4) Iniciado 08/06/21 08:50 Enviado 08/06/21 09:18 Status Completada Resultado da tentativa 10 em 10 pontos Tempo decorrido 28 minutos Resultados exibidos Respostas enviadas, Respostas corretas, Comentários • Pergunta 1 • 1 em 1 pontos 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 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 é: Resposta Selecionada: SELECT CIDADE, COUNT(COD) FROM CLIENTE GROUP BY CIDADE Resposta Correta: SELECT CIDADE, COUNT(COD) FROM CLIENTE GROUP BY CIDADE Comentário da resposta: 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 2 • 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 3 • 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: GROUP BY Comentário da Resposta correta. A alternativa está correta, a cláusula de GROUP BY resposta: 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 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: 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 5 • 1 em 1 pontos A ordenação de registros é expressa em uma cláusula parte de uma consulta com um SELECT que contém ainda as cláusulas where para realizar os filtros e pode ainda conter cláusulas “group by” para realizar agrupamentos. Quando se está fazendo a ordenação de registros os campos são especificados com as palavras chaves ‘ASC’ e ‘DESC’ indicando ordem ascendente e decrescente. Ao escrever uma consulta proveniente da junção entre a tabela de Categoria e Produto em um sistema de papelaria os registros encontrados foram os seguintes: DCR_PRODUTO VALOR DCR_CATEGORIA Caderno Matérias 15,60 Cadernos Caderno Simples 11,45 Cadernos Caneta 1,35 Canetas e afins Grafite 7,50 Canetas e afins Lapiseira 20,40 Canetas e afins Fonte: Elaborado pelo autor (2019). Qual cláusula de ordenação foi escrita na consulta? Resposta Selecionada: ORDER BY DCR_CATEGORIA ASC, DCR_PRODUTO ASC Resposta Correta: ORDER BY DCR_CATEGORIA ASC, DCR_PRODUTO ASC Comentário da resposta: Resposta correta. A alternativa está correta pois na listagem perceba que a categoria está em ordem crescente e dentro de cada categoria os produtos estão em ordem crescente também. • Pergunta 6 • 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 0231122001210/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 7 • 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_CID ADE, CIDADE, DATA_COMPRA, VALOR) AS SELECT CLI.NOME, CLI.BAIRRO, CLI.DATA_NASC, CLI.SEXO, CID.COD_CIDADE, CID.DCR_CIDADE, CMP.DATA_CO MPRA, 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 8 • 1 em 1 pontos 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: Resposta Selecionada: V, V, F, F. Resposta Correta: V, V, F, F. Comentário da resposta: Resposta correta. A alternativa está correta. O item I é verdadeiro pois subconsultas permite aninhar comandos SELECT, um comando SELECT pode conter outro mais interno e uma das formas usadas é de fato com o operador IN. O item II é verdadeiro pois agrupamentos resumem dados juntando registros com valores iguais nos campos do agrupamento e aplicando funções de agregação nos outros campos. O Item III é falso pois o mecanismo semelhante a uma tabela virtual que facilita o uso de consultas é uma VIEW e não as funções agregadas que servem para cálculos como totalização e contabilização. O item IV é falso pois as junções servem para combinar tabelas através das chaves estrangeiras. O recurso que realiza contabilizações são as funções de agregação. • Pergunta 9 • 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. • 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. Pergunta 1 Pergunta 2 Pergunta 3 Pergunta 4 Pergunta 5 Pergunta 6 Pergunta 7 Pergunta 8 Pergunta 9 Pergunta 10
Compartilhar