Baixe o app para aproveitar ainda mais
Prévia do material em texto
12/04/2023, 19:49 Avaliação II - Individual about:blank 1/7 Prova Impressa GABARITO | Avaliação II - Individual (Cod.:828862) Peso da Avaliação 1,50 Prova 62462521 Qtd. de Questões 10 Acertos/Erros 10/0 Nota 10,00 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 F - F - V - V. B V - V - V - V. C V - F - F - V. D V - F - F - F. 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: VOLTAR A+ Alterar modo de visualização 1 2 12/04/2023, 19:49 Avaliação II - Individual about:blank 2/7 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'; retorna apenas 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 - V - F. B V - V - F - F. C F - F - V - V. D V - F - V - F. 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 II e III, apenas. C I e II, apenas. 3 12/04/2023, 19:49 Avaliação II - Individual about:blank 3/7 D I e IV, apenas. 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 V - F - V - F. B V - V - F - F. C V - V - V- F. D F - V - V - F. Analise as tabelas a seguir: Tabela: VENDEDOR ID NOME 1 JOSÉ DE ASSIS 2 PEDRO LOBATO 3 MARTA MEIRELES 4 GEISA FONTANA Tabela: VEICULOS 4 5 12/04/2023, 19:49 Avaliação II - Individual about:blank 4/7 ID DESCRICAO PLACA ID_VENDEDOR 1 GOL AAA-1230 1 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 / CCC-3333 / MARTA MEIRELES. B UNO / UUU-0909 / CLEITON PIRES. C S10 / DDD-1010 / GEISA FONTANA. D HB20 / BBB-5555 / PEDRO LOBATO. Uma cláusula JOIN em SQL, correspondente a uma operação de junção em álgebra relacional, combina colunas de uma ou mais tabelas em um banco de dados relacional. Ela cria um conjunto que pode ser salvo como uma tabela ou usado da forma como está. A partir do exposto, assinale a alternativa CORRETA que apresenta o tipo de JOIN em que os retornos de todas as linhas dos dois lados do JOIN são selecionadas: Fonte: PHILEMON, D. SQL JOIN: Aprenda INNER, LEFT, RIGHT, FULL e CROSS. Alura. Disponível em: https://www.alura.com.br/artigos/join-em-sql. Acesso em: 17 ago. 2022. A LEFT JOIN. B INNER JOIN. C JET JOIN. D FULL JOIN. 6 12/04/2023, 19:49 Avaliação II - Individual about:blank 5/7 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: ( ) 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 V - V - V - V. C F - F - F - V. D V - V - F - F. 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; 7 8 12/04/2023, 19:49 Avaliação II - Individual about:blank 6/7 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 F - F - V - V. B V - F - V - F. C V - V - F - F. D V - F - F - F. 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, II, III e IV. B I e IV, apenas. C II e III, apenas. 9 12/04/2023, 19:49 Avaliação II - Individual about:blank 7/7 D I e II, apenas. 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 BOOLEAN não é um tipo de dado válido para o banco de dados. Utilizamos sempre um inteiro com zero ou um como Boolean. B CHAR e VARCHAR podem conter apenas letras. Não é permitido armazenar números ou caracteres especiais neste tipo de campo. 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. 10 Imprimir
Compartilhar