Prévia do material em texto
Prova Impressa GABARITO | Avaliação II - Individual (Cod.:955133) Peso da Avaliação 2,00 Prova 79494235 Qtd. de Questões 10 Acertos/Erros 5/5 Nota 5,00 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: Fonte: SQL JOIN. Disponível: https://goo.gl/MmeDJ4. Acesso em: 1º maio 2018. A I e IV, apenas. B II e III, apenas. C I e II, apenas. D I, II, III e IV. Segue os comandos SQLs para criação das tabelas “clientes”, "produtos" e “vendas”: Com relação às informações dadas, classifique V para as sentenças verdadeiras e F para as falsas: VOLTAR A+ Alterar modo de visualização 1 2 ( ) 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. Um tipo de dados define o tipo de valor que uma coluna pode conter, sendo estes inteiros, caractere, monetários, temporal (data e hora), binários e assim por diante. Cada coluna em uma tabela deve ter um nome e um tipo de dado. Sobre os tipos de dados, assinale a alternativa CORRETA: Fonte: SQL Data Types for MySQL, SQL Server, and MS Access. Disponível em: https://goo.gl/WV9R7b. Acesso em: 2 abr. 2018. A CHAR e VARCHAR podem conter apenas letras. Não é permitido armazenar números ou caracteres especiais neste tipo de campo. B BOOLEAN não é um tipo de dado válido para o banco de dados. Utilizamos sempre um inteiro com zero ou um como Boolean. C DECIMAL permite campos numéricos com decimal fixo, mas não permite informar o número máximo de dígitos nos parênteses. D DATETIME armazena a combinação de data e hora. Também temos os tipos DATE para armazenar apenas data e TIME para armazenar apenas horas. Analise as tabelas a seguir: Tabela: VENDEDOR ID NOME 1 JOSÉ DE ASSIS 2 PEDRO LOBATO 3 MARTA MEIRELES 4 GEISA FONTANA Tabela: VEICULOS ID DESCRICAO PLACA ID_VENDEDOR 1 GOL AAA-1230 1 Revisar Conteúdo do Livro 3 4 2 HB20 BBB-5555 2 3 HB20 CCC-3333 3 4 S10 DDD-1010 4 A partir das tabelas apresentadas e sabendo que na tabela VEICULOS o campo ID_VENDEDOR referencia o campo ID da tabela VENDEDOR, analise o comando SQL a seguir e assinale o resultado que a execução irá retornar: SELECT VEICULOS.DESCRICAO, VEICULOS.PLACA, VENDEDOR.NOME FROM VEICULOS INNER JOIN VENDEDOR ON VEICULOS.ID_VENDEDOR = VENDEDOR.ID WHERE VEICULOS.ID_VENDEDOR = 3; A HB20 / BBB-5555 / PEDRO LOBATO. B HB20 / CCC-3333 / MARTA MEIRELES. C S10 / DDD-1010 / GEISA FONTANA. D UNO / UUU-0909 / CLEITON PIRES. 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 IV, apenas. B I e II, apenas. C I, II, III e IV. D I e III, apenas. 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 5 Revisar Conteúdo do Livro 6 ON p.id = m.id_produto GROUP BY p.id, p.nome; COMANDO 2: SELECT p.id as 'Id.Produto', 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. 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, 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 F - V - V - F. B V - V - F - F. C V - V - V- F. 7 D V - F - V - F. 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 - F. B V - V - V - V. C F - F - V - V. D V - F - F - V. 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 V - V - F - F. 8 Revisar Conteúdo do Livro 9 C V - V - V - V. D F - V - F - V. 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 III, apenas. B I e II, apenas. C II e III, apenas. D I e IV, apenas. Revisar Conteúdo do Livro 10 Revisar Conteúdo do Livro Imprimir