Prévia do material em texto
Prova Impressa GABARITO | Avaliação II - Individual (Cod.:955133) Peso da Avaliação 2,00 Prova 79761132 Qtd. de Questões 10 Acertos/Erros 10/0 Nota 10,00 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'; 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 - F - F. B V - V - V - F. C F - F - V - V. D V - F - V - 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: VOLTAR A+ Alterar modo de visualização 1 2 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', 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 V - V - F - F. C V - F - F - F. D F - F - V - V. 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: 3 A I e III, apenas. B I, II, III e IV. C I e IV, apenas. D I e II, 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 F - V - V - F. C V - V - V- F. D V - V - 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 II e III, apenas. 4 5 B I, II, III e IV. C I e II, apenas. D I e IV, apenas. 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 II, apenas. B I, II e III, apenas. C I e IV, apenas. D III, apenas. 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. 6 7 C I e IV, apenas. D II e III, apenas. 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 JET JOIN. B INNER JOIN. C FULL JOIN. D LEFT JOIN. 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. 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 ); 8 9 10 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 - F - F - F. C V - V - V - V. D F - F - V - V. Imprimir