Baixe o app para aproveitar ainda mais
Prévia do material em texto
05/04/2024, 18:03 about:blank about:blank 1/8 Avaliação II - Individual (Cod.:955133) Código da prova: 79026153 Disciplina: Banco de Dados (172971) Período para responder: 02/04/2024 - 17/04/2024 Peso: 2,00 1 - A Linguagem SQL oferece subconsultas ou “subqueries”, que são um forma de se fazer consulta aninhadas ou de criar uma expressão de SELECT – FROM – WHERE utilizada dentro de outra consulta. Essas subconsultas ajudam a extrair resultados mais precisos e complexos. Com relação às subconsultas, classifique V para as sentenças verdadeiras e F para as falsas: ( ) A linguagem SQL permite criar consultas de consulta, ou seja, que uma subconsulta seja informada dentro da cláusula FROM como uma tabela. ( ) Uma subconsulta informada dentro da cláusula FROM como uma tabela pode também se relacionar com outras tabelas ou até com outra subconsulta. ( ) A linguagem SQL permite utilizar uma subconsulta na cláusula WHERE para limitar os valores de uma consulta. ( ) Podemos criar uma subconsulta para trazer um valor de coluna dentro da cláusula SELECT. Assinale a alternativa que apresenta a sequência CORRETA: Fonte: MATTOS, R. Programação de Banco de Dados. Blog LinhadeCodigo. Disponível em: https://bityli.com/NCJ7zj. Acessado em: 9 mar. 2023. A ) V - F - V - F. B ) F - V - F - V. C ) V - V - F - F. D ) V - V - V - V. 2 - A linguagem SQL nos permite extrair dados de mais de uma tabela utilizando o comando SELECT e informando mais de uma tabela na cláusula FROM separadas por vírgulas. Após isto, precisamos na cláusula WHERE ligar as tabelas em suas respectivas chaves primárias e chaves estrangeiras. Da mesma forma, a cláusula JOIN é usada para combinar linhas de 2 ou mais tabelas, baseadas nas relações existentes entre elas. Referente à cláusula JOIN, analise as sentenças a seguir: I- Para retornar todos os registros correspondentes de duas tabelas, tendo como retorno NULO quando o registro correspondente não existir, utilizando a cláusula INNER JOIN. II- Para retornar todos os registros da esquerda e seus correspondentes da direita, utilizamos a cláusula LEFT JOIN. III- Podemos utilizar simplesmente a declaração da cláusula JOIN, sendo equivalente a cláusula INNER JOIN. IV- RIGHT JOIN não é um comando válido em um banco de dados relacional. Assinale a alternativa CORRETA: 05/04/2024, 18:03 about:blank about:blank 2/8 Fonte: SQL JOIN. Disponível: https://goo.gl/MmeDJ4. Acesso em: 1º maio 2018. A ) I e IV, apenas. B ) I, II, III e IV. C ) I e II, apenas. D ) II e III, apenas. 3 - Para que seja possível efetuar consultas SQL utilizando mais de uma tabela, é necessário trabalharmos a cláusula FROM do nosso comando SELECT. Para isto, podemos informar as tabelas dentro da cláusula FROM separando elas por vírgula e na cláusula WHERE ligando as tabelas em suas respectivas chaves primárias e estrangeiras. Da mesma forma, a cláusula JOIN é usada para combinar linhas de 2 ou mais tabelas, baseadas nas relações existentes entre elas. Referente à cláusula JOIN, analise as sentenças a seguir: I- INNER JOIN retorna todos os registros correspondentes tanto da direita como da esquerda, trazendo NULO quando o registro correspondente não existir. II- LEFT JOIN retorna todos os registros da esquerda e seus correspondentes da direita. Quando o correspondente da direita não existir, seus registros serão apresentados como NULO por padrão. III- INNER JOIN retorna todos os registros da esquerda, apenas se houver o seu correspondente na direita, ou seja, irá apresentar apenas os registros correspondentes. IV- RIGHT JOIN não é um comando válido em um banco de dados MySQL Server. Assinale a alternativa CORRETA: A ) I e IV, apenas. B ) II e III, apenas. C ) I e III, apenas. D ) I e II, apenas. 05/04/2024, 18:03 about:blank about:blank 3/8 4 - Subconsultas são expressões aninhadas de SELECT – FROM – WHERE utilizadas dentro de outra consulta. Este recurso é utilizado para, por exemplo, realizar testes de participação de conjuntos, fazer comparação e determinar a cardinalidade dos conjuntos. Com relação às subconsultas, analise as sentenças a seguir: I- Subconsultas não podem ser utilizadas na cláusula WHERE para limitar valores. II- Não conseguimos utilizar subconsultas dentro da cláusula FROM, sendo que este é o local onde informamos as tabelas do banco de dados. III- Podemos criar consultas de consultas, sendo que o SQL permite que uma subconsulta seja informada dentro da cláusula FROM e seu resultado trabalhado como uma tabela que pode se relacionar com outras tabelas ou até outra subconsulta. IV- Não é possível utilizar subconsultas para trazer colunas dentro da cláusula SELECT, sendo que uma subconsulta pode trazer mais de uma coluna e mais de uma linha como resultado, apresentando erro pelo servidor. Assinale a alternativa CORRETA: A ) I e IV, apenas. B ) I e II, apenas. C ) I, II e III, apenas. D ) III, apenas. 5 - Segue os comandos SQLs para criação das tabelas “clientes”, "produtos" e “vendas”: 05/04/2024, 18:03 about:blank about:blank 4/8 Com relação às informações dadas, classifique V para as sentenças verdadeiras e F para as falsas: ( ) Para saber quais foram os clientes que compraram no última dia que houve vendas, executamos a consulta SELECT c.* FROM vendas v INNER JOIN clientes c ON v.Id_cliente = c.Id WHERE v.Data_venda IN (SELECT MAX(data_venda) ultima_venda FROM vendas). ( ) Para saber qual produto apresenta o maior valor total de venda, executamos a consulta SELECT p.* FROM vendas v INNER JOIN produtos p ON v.Id_produto = p.Id WHERE v.Valor_total IN (SELECT MAX(v.Valor_total) maior_venda FROM vendas v). ( ) Para saber os produtos que os clientes compraram, executamos a consulta SELECT * FROM clientes, produtos. ( ) Para somar todos os valores vendidos, executamos a consulta SELECT COUNT(Valor_total) FROM vendas. Assinale a alternativa que apresenta a sequência CORRETA: A ) F - V - F - V. B ) F - F - F - V. C ) V - V - V - V. D ) V - V - F - F. 6 - Analise o comando SQL a seguir: SELECT c.id as id_cliente, c.nome as nome_cliente, SUM(v.valor_total) as valor_venda FROM vendas v INNER JOIN clientes c ON v.id_cliente = c.cliente WHERE v.data_venda BETWEEN ‘2018-09-01' and ‘2018-09-30’ GROUP BY c.id, c.nome; Considerando o exposto, analise as sentenças a seguir: I- O comando SELECT retorna o valor de todas as vendas relacionadas aos clientes, agrupando a soma das venda por “id” e “nome” do cliente. II- O comando SELECT retorna o valor de vendas agrupados por clientes e apresenta valor nulo para os clientes que não tiveram vendas no período. III- O comando SELECT retorna apenas as vendas que ocorreram no mês de setembro de 2018. IV- O comando SELECT retorna a média do valor de venda, agrupando o resultado por cliente. Assinale a alternativa que apresenta a sequência CORRETA: A ) I e III, apenas. 05/04/2024, 18:03 about:blank about:blank 5/8 B ) I e II, apenas. C ) I, II, III e IV. D ) I e IV, apenas. 7 - Toda tabela deve apresentar colunas contendo nome e o tipo de dados. Referente ao tipo de dados, este define o tipo de valor que uma coluna pode conter. Uma coluna pode apresentar valores inteiros, monetários, caracteres, temporal, entre outros. Analise a seguir a tabela contendo os dados de movimentação: Considerando o exposto, classifique V para as sentenças verdadeiras e F para as falsas: ( ) A coluna “data_movimento” pode conter valores de data. Para consultar os registros onde as datas estão entre o dia 01/10/2018 e 05/10/2018, precisamos executar o comando SQL: SELECT * FROM movimentos WHERE data_movimento BETWEEN '2018-10-01' AND '2018-10-05'. ( ) A coluna “id_pessoa” apresenta valores inteiros. Para selecionar os movimentos que apresentam o “id_pessoa” igual a 3, precisamos executar o seguinte comando SQL: SELECT * FROM movimentos WHERE id_pessoa = 3. ( ) O comando SELECT * FROM movimentos WHERE id_pessoa = 2 AND data_movimento = '2018-10- 02'; retornaapenas o registro da linha 1. ( ) O comando SELECT * FROM movimentos WHERE id_pessoa = 2 AND data_movimento = '2018-10- 02'; retorna os registros das linhas 1 e 4. Assinale a alternativa que apresenta a sequência CORRETA: Fonte: W3schools. SQL Data Types for MySQL, SQL Server, and MS Access. Disponível em: http://bit.ly/2zskri3. Acesso em: 9 mar. 2023. A ) V - V - F - F. B ) F - F - V - V. C ) V - F - V - F. 05/04/2024, 18:03 about:blank about:blank 6/8 D ) V - V - V - F. 8 - Segue os comandos SQLs para criação das tabelas “cabelereiro” e “agenda”: CREATE TABLE cabelereiro ( Id serial PRIMARY KEY, Nome VARCHAR(50) NOT NULL, Telefone VARCHAR(20) NOT NULL, Idade INTEGER NOT NULL ); CREATE TABLE agenda ( Id serial PRIMARY KEY, Data_agenda TIMESTAMP NOT NULL, Id_cabelereiro INTEGER NOT NULL, Valor MONEY NOT NULL, Pago BOOLEAN NOT NULL, FOREIGN KEY (Id_cabelereiro) REFERENCES cabelereiro (id) ); Com base no exposto, classifique V para as sentenças verdadeiras e F para as falsas: ( ) Para saber quantos cabelereiros têm cadastrados, executamos o comando SELECT COUNT(Id) FROM cabelereiro. ( ) Para saber a idade média dos cabelereiros cadastrados, executamos o comando SELECT AVG(Idade) as idade_media FROM cabelereiro. ( ) Para saber o valor total da agenda por cabelereiro, executamos o comando SELECT a.Id_cabelereiro, c.Nome, SUM(a.valor) as valor_total FROM agenda a INNER JOIN cabelereiro c ON a.Id_cabelereiro = c.id. ( ) Para listar todas as agendas do mês de julho/2018, executamos o comando SELECT * FROM agenda WHERE Data_agenda BETWEEN ‘2018-07-01' and ‘2018-07-31'. Assinale a alternativa que apresenta a sequência CORRETA: A ) V - F - F - V. B ) V - V - V - V. C ) V - F - F - F. D ) F - F - V - V. 9 - A cláusula JOIN é usada para combinar linhas de 2 ou mais tabelas, baseadas nas relações existentes entre elas. Além dos JOINs para combinar tabelas, a linguagem SQL permite funções de agregação que nos ajuda com a análise dos dados, apresentando de forma resumida as informações de uma consulta. Referente à extração de dados utilizando JOINs e funções de agregação, analise o comando SELECT a seguir: SELECT p.id, p.nome, 05/04/2024, 18:03 about:blank about:blank 7/8 AVG(m.valor_unitario) as media_valor FROM produto p INNER JOIN movimento mON p.id = m.id_produto GROUP BY p.id, p.nome. Com relação ao comando anterior, classifique V para as sentenças verdadeiras e F para as falsas: ( ) A função AVG nos retorna a média dos valores de um grupo. ( ) Esta consulta está agrupando o “id” e “nome” do produto para retornar a média dos valores unitários. ( ) A função AVG nos retorna à soma dos valores de um grupo. ( ) A cláusula INNER JOIN presente no comando de consulta irá retornar todos os produtos, mesmo os que não apresentam um registro correspondente na tabela de movimento. Assinale a alternativa que apresenta a sequência CORRETA: A ) V - V - F - F. B ) F - V - V - F. C ) V - F - V - F. D ) V - V - V- F. 10 - A cláusula JOIN é usada para combinar linhas de duas ou mais tabelas, baseadas nas relações existentes entre elas. Referente à extração de dados utilizando JOINs, analise os comandos de SELECT a seguir: COMANDO 1: SELECT p.id as 'Id.Produto', p.nome as 'Nome Produto', AVG(m.valor_unitario) as 'Valor Médio' FROM tbl_produtos p INNER JOIN tbl_movimentos m ON p.id = m.id_produto GROUP BY p.id, p.nome; COMANDO 2: SELECT p.id as 'Id.Produto', 05/04/2024, 18:03 about:blank about:blank 8/8 p.nome as 'Nome Produto', AVG(m.valor_unitario) as 'Valor Médio' FROM tbl_produtos p LEFT JOIN tbl_movimentos m ON p.id = m.id_produto GROUP BY p.id, p.nome; Considerando os comandos apresentados, classifique V para as sentenças verdadeiras e F para as falsas: ( ) A função AVG presente nos dois comandos retorna a média dos valores de um grupo. Neste comando irá agrupar os campos “id” e “nome” do produto para retornar a média dos valores unitários. ( ) O comando 1 apresenta apenas os registros da tabela “tbl_produtos” onde há pelo menos um registro na tabela “tbl_movimentos” correspondente. ( ) O comando 2 apresenta apenas os registros da tabela “tbl_produtos” onde há pelo menos um registro na tabela “tbl_movimentos” correspondente, sendo que a função AVG irá trazer apenas os registros que apresenta valores. ( ) O comando 2 traz todos os produtos da tabela “tbl_produtos”, sendo que os produtos que não apresentam um correspondente na tabela “tbl_movimentos” apresentam valor zero e não nulo. Assinale a alternativa que apresenta a sequência CORRETA: Fonte: w3schools. SQL Joins. Disponível em: https://goo.gl/MmeDJ4. Acesso em: 9 mar. 2023. A ) V - F - V - F. B ) F - F - V - V. C ) V - V - F - F. D ) V - F - F - F.
Compartilhar