Baixe o app para aproveitar ainda mais
Prévia do material em texto
· 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 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 3 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 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 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 6 1 em 1 pontos O uso de agrupamentos é um recurso utilizado ao criar consultas com SELECT para sumarizar dados e realizar contabilizaçõesou 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 7 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 8 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 9 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 10 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: 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.
Compartilhar