Prévia do material em texto
<p>19/09/2024 12:35 Avaliação II - Individual</p><p>about:blank 1/7</p><p>Prova Impressa</p><p>GABARITO | Avaliação II - Individual (Cod.:983309)</p><p>Peso da Avaliação 2,00</p><p>Prova 88121631</p><p>Qtd. de Questões 10</p><p>Acertos/Erros 10/0</p><p>Nota 10,00</p><p>Toda tabela deve apresentar colunas contendo nome e o tipo de dados. Referente ao tipo de dados,</p><p>este define o tipo de valor que uma coluna pode conter. Uma coluna pode apresentar valores inteiros,</p><p>monetários, caracteres, temporal, entre outros.</p><p>Analise a seguir a tabela contendo os dados de movimentação:</p><p>Considerando o exposto, classifique V para as sentenças verdadeiras e F para as falsas:</p><p>( ) A coluna “data_movimento” pode conter valores de data. Para consultar os registros onde as</p><p>datas estão entre o dia 01/10/2018 e 05/10/2018, precisamos executar o comando SQL: SELECT *</p><p>FROM movimentos WHERE data_movimento BETWEEN '2018-10-01' AND '2018-10-05'.</p><p>( ) A coluna “id_pessoa” apresenta valores inteiros. Para selecionar os movimentos que apresentam</p><p>o “id_pessoa” igual a 3, precisamos executar o seguinte comando SQL: SELECT * FROM</p><p>movimentos WHERE id_pessoa = 3.</p><p>( ) O comando SELECT * FROM movimentos WHERE id_pessoa = 2 AND data_movimento =</p><p>'2018-10-02'; retorna apenas o registro da linha 1.</p><p>( ) O comando SELECT * FROM movimentos WHERE id_pessoa = 2 AND data_movimento =</p><p>'2018-10-02'; retorna os registros das linhas 1 e 4.</p><p>Assinale a alternativa que apresenta a sequência CORRETA:</p><p>Fonte: W3schools. SQL Data Types for MySQL, SQL Server, and MS Access. Disponível em:</p><p>http://bit.ly/2zskri3. Acesso em: 9 mar. 2023.</p><p>A V - F - V - F.</p><p>B V - V - V - F.</p><p>C V - V - F - F.</p><p>D F - F - V - V.</p><p>Analise o comando SQL a seguir:</p><p>SELECT c.id as id_cliente, c.nome as nome_cliente,</p><p>SUM(v.valor_total) as valor_venda FROM vendas v</p><p>INNER JOIN clientes c</p><p>ON v.id_cliente = c.cliente</p><p>WHERE v.data_venda BETWEEN ‘2018-09-01' and ‘2018-09-30’ GROUP BY c.id, c.nome;</p><p>VOLTAR</p><p>A+ Alterar modo de visualização</p><p>1</p><p>2</p><p>19/09/2024 12:35 Avaliação II - Individual</p><p>about:blank 2/7</p><p>Considerando o exposto, analise as sentenças a seguir:</p><p>I- O comando SELECT retorna o valor de todas as vendas relacionadas aos clientes, agrupando a</p><p>soma das venda por “id” e “nome” do cliente.</p><p>II- O comando SELECT retorna o valor de vendas agrupados por clientes e apresenta valor nulo para</p><p>os clientes que não tiveram vendas no período.</p><p>III- O comando SELECT retorna apenas as vendas que ocorreram no mês de setembro de 2018.</p><p>IV- O comando SELECT retorna a média do valor de venda, agrupando o resultado por cliente.</p><p>Assinale a alternativa que apresenta a sequência CORRETA:</p><p>A I e II, apenas.</p><p>B I, II, III e IV.</p><p>C I e IV, apenas.</p><p>D I e III, apenas.</p><p>A cláusula JOIN é usada para combinar linhas de duas ou mais tabelas, baseadas nas relações</p><p>existentes entre elas. Referente à extração de dados utilizando JOINs, analise os comandos de</p><p>SELECT a seguir:</p><p>COMANDO 1:</p><p>SELECT</p><p>p.id as 'Id.Produto',</p><p>p.nome as 'Nome Produto',</p><p>AVG(m.valor_unitario) as 'Valor Médio'</p><p>FROM tbl_produtos p</p><p>INNER JOIN tbl_movimentos m</p><p>ON p.id = m.id_produto</p><p>GROUP BY</p><p>p.id,</p><p>p.nome;</p><p>COMANDO 2:</p><p>SELECT</p><p>p.id as 'Id.Produto',</p><p>p.nome as 'Nome Produto',</p><p>AVG(m.valor_unitario) as 'Valor Médio'</p><p>FROM tbl_produtos p</p><p>LEFT JOIN tbl_movimentos m</p><p>ON p.id = m.id_produto</p><p>GROUP BY</p><p>p.id,</p><p>p.nome;</p><p>Considerando os comandos apresentados, classifique V para as sentenças verdadeiras e F para as</p><p>falsas:</p><p>( ) A função AVG presente nos dois comandos retorna a média dos valores de um grupo. Neste</p><p>comando irá agrupar os campos “id” e “nome” do produto para retornar a média dos valores</p><p>unitários.</p><p>( ) O comando 1 apresenta apenas os registros da tabela “tbl_produtos” onde há pelo menos um</p><p>registro na tabela “tbl_movimentos” correspondente.</p><p>( ) O comando 2 apresenta apenas os registros da tabela “tbl_produtos” onde há pelo menos um</p><p>registro na tabela “tbl_movimentos” correspondente, sendo que a função AVG irá trazer apenas os</p><p>registros que apresenta valores.</p><p>( ) O comando 2 traz todos os produtos da tabela “tbl_produtos”, sendo que os produtos que não</p><p>apresentam um correspondente na tabela “tbl_movimentos” apresentam valor zero e não nulo.</p><p>Assinale a alternativa que apresenta a sequência CORRETA:</p><p>Fonte: w3schools. SQL Joins. Disponível em: https://goo.gl/MmeDJ4. Acesso em: 9 mar. 2023.</p><p>3</p><p>19/09/2024 12:35 Avaliação II - Individual</p><p>about:blank 3/7</p><p>A V - V - F - F.</p><p>B F - F - V - V.</p><p>C V - F - V - F.</p><p>D V - F - F - F.</p><p>Para que seja possível efetuar consultas SQL utilizando mais de uma tabela, é necessário</p><p>trabalharmos a cláusula FROM do nosso comando SELECT. Para isto, podemos informar as tabelas</p><p>dentro da cláusula FROM separando elas por vírgula e na cláusula WHERE ligando as tabelas em</p><p>suas respectivas chaves primárias e estrangeiras. Da mesma forma, a cláusula JOIN é usada para</p><p>combinar linhas de 2 ou mais tabelas, baseadas nas relações existentes entre elas.</p><p>Referente à cláusula JOIN, analise as sentenças a seguir:</p><p>I- INNER JOIN retorna todos os registros correspondentes tanto da direita como da esquerda,</p><p>trazendo NULO quando o registro correspondente não existir.</p><p>II- LEFT JOIN retorna todos os registros da esquerda e seus correspondentes da direita. Quando o</p><p>correspondente da direita não existir, seus registros serão apresentados como NULO por padrão.</p><p>III- INNER JOIN retorna todos os registros da esquerda, apenas se houver o seu correspondente na</p><p>direita, ou seja, irá apresentar apenas os registros correspondentes.</p><p>IV- RIGHT JOIN não é um comando válido em um banco de dados MySQL Server.</p><p>Assinale a alternativa CORRETA:</p><p>A I e IV, apenas.</p><p>B I e II, apenas.</p><p>C I e III, apenas.</p><p>D II e III, apenas.</p><p>Um tipo de dados define o tipo de valor que uma coluna pode conter, sendo estes inteiros, caractere,</p><p>monetários, temporal (data e hora), binários e assim por diante. Cada coluna em uma tabela deve ter</p><p>um nome e um tipo de dado.</p><p>Sobre os tipos de dados, assinale a alternativa CORRETA:</p><p>Fonte: SQL Data Types for MySQL, SQL Server, and MS Access. Disponível em:</p><p>https://goo.gl/WV9R7b. Acesso em: 2 abr. 2018.</p><p>A BOOLEAN não é um tipo de dado válido para o banco de dados. Utilizamos sempre um inteiro</p><p>com zero ou um como Boolean.</p><p>B DECIMAL permite campos numéricos com decimal fixo, mas não permite informar o número</p><p>máximo de dígitos nos parênteses.</p><p>C DATETIME armazena a combinação de data e hora. Também temos os tipos DATE para</p><p>armazenar apenas data e TIME para armazenar apenas horas.</p><p>4</p><p>5</p><p>19/09/2024 12:35 Avaliação II - Individual</p><p>about:blank 4/7</p><p>D CHAR e VARCHAR podem conter apenas letras. Não é permitido armazenar números ou</p><p>caracteres especiais neste tipo de campo.</p><p>Subconsultas são expressões aninhadas de SELECT – FROM – WHERE utilizadas dentro de outra</p><p>consulta. Este recurso é utilizado para, por exemplo, realizar testes de participação de conjuntos,</p><p>fazer comparação e determinar a cardinalidade dos conjuntos. Com relação às subconsultas, analise</p><p>as sentenças a seguir:</p><p>I- Subconsultas não podem ser utilizadas na cláusula WHERE para limitar valores.</p><p>II- Não conseguimos utilizar subconsultas dentro da cláusula FROM, sendo que este é o local onde</p><p>informamos as tabelas do banco de dados.</p><p>III- Podemos criar consultas de consultas, sendo que o SQL permite que uma subconsulta seja</p><p>informada dentro da cláusula FROM e seu resultado trabalhado como uma tabela que pode se</p><p>relacionar com outras tabelas ou até outra subconsulta.</p><p>IV- Não é possível utilizar subconsultas para trazer colunas dentro da cláusula SELECT, sendo que</p><p>uma subconsulta pode trazer mais de uma coluna e mais de uma linha como resultado, apresentando</p><p>erro pelo servidor.</p><p>Assinale a alternativa CORRETA:</p><p>A I, II e III, apenas.</p><p>B I e II, apenas.</p><p>C III, apenas.</p><p>D I e IV, apenas.</p><p>Analise as tabelas a seguir:</p><p>Tabela: VENDEDOR</p><p>ID NOME</p><p>1 JOSÉ DE ASSIS</p><p>2 PEDRO LOBATO</p><p>3 MARTA MEIRELES</p><p>4 GEISA FONTANA</p><p>Tabela: VEICULOS</p><p>6</p><p>7</p><p>19/09/2024 12:35 Avaliação II - Individual</p><p>about:blank 5/7</p><p>ID DESCRICAO PLACA ID_VENDEDOR</p><p>1 GOL AAA-1230 1</p><p>2 HB20 BBB-5555 2</p><p>3 HB20 CCC-3333</p><p>3</p><p>4 S10 DDD-1010 4</p><p>A partir das tabelas apresentadas e sabendo que na tabela VEICULOS o campo ID_VENDEDOR</p><p>referencia o campo ID da tabela VENDEDOR, analise o comando SQL a seguir e assinale o resultado</p><p>que a execução irá retornar:</p><p>SELECT VEICULOS.DESCRICAO,</p><p>VEICULOS.PLACA,</p><p>VENDEDOR.NOME</p><p>FROM VEICULOS</p><p>INNER JOIN VENDEDOR ON VEICULOS.ID_VENDEDOR = VENDEDOR.ID</p><p>WHERE VEICULOS.ID_VENDEDOR = 3;</p><p>A UNO / UUU-0909 / CLEITON PIRES.</p><p>B HB20 / BBB-5555 / PEDRO LOBATO.</p><p>C HB20 / CCC-3333 / MARTA MEIRELES.</p><p>D S10 / DDD-1010 / GEISA FONTANA.</p><p>O SQL (Structured Query Language) é a linguagem-padrão utilizada para gerenciar e manipular</p><p>dados em bancos de dados relacionais. Um dos principais comandos do SQL é o INSERT, que</p><p>permite incluir novos registros em uma tabela existente.</p><p>Analise os dados do quadro de produtos a seguir:</p><p>id nome categoria preco estoque</p><p>1 Notebook Eletrônicos 2999.99 50</p><p>2 Smartphone Eletrônicos 1499.99 100</p><p>3 Cadeira Mobiliário 299.99 30</p><p>4 Teclado Eletrônicos 99.99 80</p><p>Agora, como base no quadro, considere a seguinte situação:</p><p>A empresa precisa adicionar um novo produto ao quadro Produtos. O produto tem as seguintes</p><p>informações: nome 'Impressora', categoria 'Eletrônicos', preço 499.99 e estoque 20 unidades.</p><p>Nas alternativas a seguir, qual possui o comando SQL que deve ser utilizado para inserir esse novo</p><p>produto?</p><p>A INSERT INTO Produtos VALUES (6, 'Impressora', 'Eletrônicos', 499.99, 20);</p><p>B INSERT INTO Produtos (nome, categoria, preco, estoque) VALUES ('Impressora', 'Eletrônicos',</p><p>499.99, '20');</p><p>C INSERT INTO Produtos (id, nome, categoria, preco, estoque) VALUES (5, 'Impressora',</p><p>'Eletrônicos', 499.99, 20);</p><p>D INSERT Produtos (nome, categoria, preco, estoque) VALUES ('Impressora', 'Eletrônicos',</p><p>499.99, 20);</p><p>8</p><p>19/09/2024 12:35 Avaliação II - Individual</p><p>about:blank 6/7</p><p>E INSERT INTO Produtos SET nome = 'Impressora', categoria = 'Eletrônicos', preco = 499.99,</p><p>estoque = 20;</p><p>A cláusula JOIN é usada para combinar linhas de 2 ou mais tabelas, baseadas nas relações existentes</p><p>entre elas. Além dos JOINs para combinar tabelas, a linguagem SQL permite funções de agregação</p><p>que nos ajuda com a análise dos dados, apresentando de forma resumida as informações de uma</p><p>consulta. Referente à extração de dados utilizando JOINs e funções de agregação, analise o comando</p><p>SELECT a seguir:</p><p>SELECT p.id, p.nome,</p><p>AVG(m.valor_unitario) as media_valor</p><p>FROM produto p INNER JOIN movimento mON p.id = m.id_produto GROUP BY p.id, p.nome.</p><p>Com relação ao comando anterior, classifique V para as sentenças verdadeiras e F para as falsas:</p><p>( ) A função AVG nos retorna a média dos valores de um grupo.</p><p>( ) Esta consulta está agrupando o “id” e “nome” do produto para retornar a média dos valores</p><p>unitários.</p><p>( ) A função AVG nos retorna à soma dos valores de um grupo.</p><p>( ) A cláusula INNER JOIN presente no comando de consulta irá retornar todos os produtos, mesmo</p><p>os que não apresentam um registro correspondente na tabela de movimento.</p><p>Assinale a alternativa que apresenta a sequência CORRETA:</p><p>A V - F - V - F.</p><p>B F - V - V - F.</p><p>C V - V - F - F.</p><p>D V - V - V- F.</p><p>Segue os comandos SQLs para criação das tabelas “cabelereiro” e “agenda”:</p><p>CREATE TABLE cabelereiro (</p><p>Id serial PRIMARY KEY,</p><p>Nome VARCHAR(50) NOT NULL,</p><p>Telefone VARCHAR(20) NOT NULL,</p><p>Idade INTEGER NOT NULL</p><p>);</p><p>CREATE TABLE agenda (</p><p>Id serial PRIMARY KEY,</p><p>Data_agenda TIMESTAMP NOT NULL,</p><p>Id_cabelereiro INTEGER NOT NULL,</p><p>Valor MONEY NOT NULL,</p><p>Pago BOOLEAN NOT NULL,</p><p>FOREIGN KEY (Id_cabelereiro) REFERENCES cabelereiro (id)</p><p>);</p><p>Com base no exposto, classifique V para as sentenças verdadeiras e F para as falsas:</p><p>9</p><p>10</p><p>19/09/2024 12:35 Avaliação II - Individual</p><p>about:blank 7/7</p><p>( ) Para saber quantos cabelereiros têm cadastrados, executamos o comando SELECT COUNT(Id)</p><p>FROM cabelereiro.</p><p>( ) Para saber a idade média dos cabelereiros cadastrados, executamos o comando SELECT</p><p>AVG(Idade) as idade_media FROM cabelereiro.</p><p>( ) Para saber o valor total da agenda por cabelereiro, executamos o comando SELECT</p><p>a.Id_cabelereiro, c.Nome, SUM(a.valor) as valor_total FROM agenda a INNER JOIN cabelereiro c</p><p>ON a.Id_cabelereiro = c.id.</p><p>( ) Para listar todas as agendas do mês de julho/2018, executamos o comando SELECT * FROM</p><p>agenda WHERE Data_agenda BETWEEN ‘2018-07-01' and ‘2018-07-31'.</p><p>Assinale a alternativa que apresenta a sequência CORRETA:</p><p>A V - F - F - V.</p><p>B V - F - F - F.</p><p>C V - V - V - V.</p><p>D F - F - V - V.</p><p>Imprimir</p>