Prévia do material em texto
(/notific Desenvolvimento de Banco de Dados (/alun… Av2 - Desenvolvimento de Banco de Dados https://www.colaboraread.com.br/notificacao/index https://www.colaboraread.com.br/notificacao/index https://www.colaboraread.com.br/aluno/timeline/index/2816826501?ofertaDisciplinaId=1342436 https://www.colaboraread.com.br/aluno/timeline/index/2816826501?ofertaDisciplinaId=1342436 2) A rede CinemaSA lançou uma nova campanha de venda de ingressos para o filme "Buscando quem foi". A campanha consiste em: Quem já assistiu o filme ao comprar uma nova entrada do tipo INTEIRA para um amigo, parente ou acompanhante, ganha inteiramente grátis um novo ingresso. Para medir o investimento (em ingressos grátis) e quantidade de possíveis clientes para escalonar Salas/Lugares/Seções necessárias, solicitou se um relatório para a equipe de T.I. com a quantidade de ingressos vendidos para este filme anteriormente a campanha, separados por tipo de ingresso. Onde foi desenvolvido um único script que retornou todos os resultados em uma única linha. Observe que a tabela de VENDAS possui os campos: id_venda, id_filme, id_secao, id_produto e id_cliente todos do tipo bigint(12) e não aceitam valores nulos e o campo id_venda é a chave primaria da tabela. Sabendo que o filme "Buscando quem foi" é o filme de ID_filme 99 e os ingressos são vendidos em produtos identificados pelo campo ID_produto, onde 1 = "Inteiro", 2 = "1/2 Estudante/Professor", 3 = "1/2 Aposentado", 4 = "Isento/Crianças". Ressalta-se que os ingressos do tipo Isento/Crianças não participam da promoção. Tot_Ingr. Inteiro Est_Prof Apos. Isento_Crianças Assinale a alternativa que apresenta o Script correto para o problema apresentado no texto e tabela. Alternativas: SELECT (SELECT COUNT(*) FROM VENDAS WHERE id_filme = 99) AS TOT_INGR, (SELECT COUNT(id_produto) FROM VENDAS WHERE id_produto <> 1 AND id_filme = 99) AS INTEIRO, a) (SELECT COUNT(id_produto) FROM VENDAS WHERE id_produto <> 2 AND id_filme = 99) AS EST_PROF, (SELECT COUNT(id_produto) FROM VENDAS WHERE id_produto <> 3 AND id_filme = 99) AS APOS, (SELECT COUNT(id_produto) FROM VENDAS WHERE id_produto <> 4 AND id_filme = 99) AS ISENTO_CRIANÇAS FROM VENDAS WHERE id_filme = 99 GROUP BY TOT_INGR; SELECT (SELECT COUNT(*) FROM VENDAS WHERE id_filme = 99) AS TOT_INGR, (SELECT COUNT(id_produto) FROM VENDAS WHERE id_produto = 4 AND id_filme = 99) AS INTEIRO, b) (SELECT COUNT(id_produto) FROM VENDAS WHERE id_produto = 3 AND id_filme = 99) AS EST_PROF, (SELECT COUNT(id_produto) FROM VENDAS WHERE id_produto = 2 AND id_filme = 99) AS APOS, (SELECT COUNT(id_produto) FROM VENDAS WHERE id_produto = 1 AND id_filme = 99) AS ISENTO_CRIANÇAS FROM VENDAS WHERE id_filme = 99 GROUP BY TOT_INGR; c) SELECT Alternativa assinalada (SELECT COUNT(*) FROM VENDAS WHERE id_filme = 99) AS TOT_INGR, (SELECT COUNT(id_produto) FROM VENDAS WHERE id_produto = 1 AND id_filme = 99) AS INTEIRO, (SELECT COUNT(id_produto) FROM VENDAS WHERE id_produto = 2 AND id_filme = 99) AS EST_PROF, (SELECT COUNT(id_produto) FROM VENDAS WHERE id_produto = 3 AND id_filme = 99) AS APOS, (SELECT COUNT(id_produto) FROM VENDAS WHERE id_produto = 4 AND id_filme = 99) AS ISENTO_CRIANÇAS FROM VENDAS WHERE id_filme = 99 GROUP BY TOT_INGR; SELECT (SELECT COUNT(*) FROM VENDAS WHERE id_filme Not In 99) AS TOT_INGR, (SELECT COUNT(id_produto) FROM VENDAS WHERE id_produto = 1 AND id_filme = 99) AS INTEIRO, d) (SELECT COUNT(id_produto) FROM VENDAS WHERE id_produto = 2 AND id_filme = 99) AS EST_PROF, (SELECT COUNT(id_produto) FROM VENDAS WHERE id_produto = 3 AND id_filme = 99) AS APOS, (SELECT COUNT(id_produto) FROM VENDAS WHERE id_produto = 4 AND id_filme = 99) AS ISENTO_CRIANÇAS FROM VENDAS WHERE id_filme Not in 99 GROUP BY TOT_INGR; SELECT (SELECT COUNT(*) FROM VENDAS WHERE id_filme = 99) AS TOT_INGR, (SELECT COUNT(id_produto) FROM VENDAS WHERE id_produto = 1 AND id_filme <= 99) AS INTEIRO, e) (SELECT COUNT(id_produto) FROM VENDAS WHERE id_produto = 2 AND id_filme <= 99) AS EST_PROF, (SELECT COUNT(id_produto) FROM VENDAS WHERE id_produto = 3 AND id_filme <= 99) AS APOS, (SELECT COUNT(id_produto) FROM VENDAS WHERE id_produto = 4 AND id_filme <= 99) AS ISENTO_CRIANÇAS FROM VENDAS WHERE id_filme = 99 GROUP BY TOT_INGR; 3) A secretaria de educação de Itaparioca apresentou nos últimos 5 anos um alto índice de crianças que não terminaram o ensino médio na idade correta. Porem nos últimos 2 anos tem feito forte campanha de retenção e incentivo aos estudantes das redes municipais e estaduais de ensino. Com isso após o encerramento do ultimo ano letivo "2017". A Secretaria de Educação solicitou a T.I. uma listagem com todos os alunos com mais de 19 anos de idade matriculados no 3º ano do ensino médio dentro do município, para verificar a correta melhoria no rendimento dos jovens Itapariocaenses. A equipe de T.I. mediante a solicitação da secretaria verificou a tabela de ALUNOS com os campos "idaluno" que é numérico e "nome" que é alfanumérico, junto a tabela MATRICULAS onde se encontram os campos "idaluno" que tem a mesma estrutura do campo da tabela de ALUNOS, "idserie" que tem 1 digito numérico, "idnivel" que tem 1 digito numérico e "anoOferta" que tem 4 dígitos numéricos. Sabendo que o "idnivel" 5 corresponde ao ensino médio, o "idserie" 3 corresponde ao 3º ano e 2017 corresponde ao "anooferta". Avalie as alternativas abaixo identificando o correto script para trazer a listagem solicitada. Assinale a alternativa que apresenta o correto Script SQL. Alternativas: a) SELECT nome FROM ALUNOS WHERE idade <> 19 AND idaluno NOT IN (SELECT idaluno FROM MATRICULAS WHERE anooferta = 2017 AND idnivel >= 5 AND idserie >< 3); b) SELECT nome FROM ALUNOS WHERE idade >= 19 AND idaluno IN (SELECT idaluno FROM MATRICULAS WHERE anooferta = 2017 AND idnivel3); c) SELECT nome FROM ALUNOS WHERE idade > 19 AND idaluno IN (SELECT idaluno FROM Alternativa assinalada MATRICULAS WHERE anooferta = 2017 AND idnivel = 5 AND idserie = 3); d) SELECT nome FROM ALUNOS WHERE idade < 19 AND idaluno NOT IN (SELECT idaluno FROM MATRICULAS WHERE anooferta = 2017 AND idnivel <> 5 AND idserie > 3); e) SELECT nome FROM ALUNOS WHERE idade = 19 AND idaluno IN (SELECT idaluno FROM MATRICULAS WHERE anooferta = 2017 AND idnivel IN 5 AND idserie < 3); 4) As indústrias TelaVisão após o sucesso da copa do mundo vai negociar a compra de matérias primas para retomar a produção de televisores. Com a recente alta do dólar os sócios definiram investir em compra de materiais a Vista, para melhorar o preço dos mesmos na aquisição, para evitar que os produtos ficassem parados, definiram produzir somente televisores para o final do ano, e que tiveram seu pagamentos feitos em dinheiros pelos lojistas, com isso ela espera vender mais e receber mais rápido ainda. Imediatamente a secretária solicitou a equipe de T.I. a listagem de produtos que atendam as colocações dos sócios, Sabendo que a tabela de cadastro de PRODUTOS tem o campo idproduto que é numérico, com a mesma estrutura do campo idproduto da tabela de VENDAS e que o a tabela de VENDAS tem o campo idtipo, idcategoria, idpgtotp todos numéricos, e que os códigos idtipo 2 = Eletrônicos, idcategoria = 1 Televisores, idpgtotp 1 = dinheiro. Sabendo que será necessário vários filtros para relacionar corretamente as condições desta pesquisa, Avalie as alternativas abaixo no que concerne o correto Script para trazer os resultados esperados Assinale a alternativa que apresenta o correto Script SQL solicitado. Alternativas: a) SELECT nome FROM PRODUTOS WHERE idproduto NOT IN (SELECT idproduto FROM VENDAS WHERE idtipo <= 2 AND idcategoria = 1AND idpgtotp = 1); b) SELECT nome FROM PRODUTOS WHERE idproduto IN (SELECT idproduto FROM VENDAS WHERE idtipo <> 2 AND idcategoria = 1 AND idpgtotp = 1); c) SELECT nome FROM PRODUTOS WHERE idproduto NOT IN (SELECT idproduto FROM VENDAS WHERE idtipo >< 2 AND idcategoria = 1 AND idpgtotp = 1); d) SELECT nome FROM PRODUTOS WHERE idproduto NOT IN (SELECT idproduto FROM VENDAS WHERE idtipo >= 2 AND idcategoria = 1 AND idpgtotp = 1); e) SELECT nome FROM PRODUTOS WHERE idproduto IN (SELECT idproduto FROM VENDAS Alternativa assinalada WHERE idtipo = 2 AND idcategoria = 1 AND idpgtotp = 1); 5) Com a Lei da ficha limpa, o P.B.O. (Partido dos Brasileiros Honestos) quer lançar 5 candidatos, sendo: Presidente + Vice, Governador + Vice e Deputado Federal, após selecionar os pré candidatos. Temendo uma impugnação das candidaturas devido a Lei da ficha limpa. Contrataram então a empresa CSC S.A. que de posse dos 5 C.P.Fs realizou uma pesquisa nas seguintes bases Nacionais: Fórum (ProcAtivos), Receita Federal (CPFAtivo) e (IRDivida), Policia Militar (BOAtivo) e Policia Civil (FichCriminal), onde a base da pesquisa era identificar se os mesmos estavam ativos (CPFAtivo) e se NÃO existiam nas outras bases, Pois a existencia dos mesmos nelas acarretaria a impossibilidade de candidatura do mesmo, observando que TODAS as tabelas citadas tem em comum o campo CPFID com a mesma estrutura, mas não interligadas. Sabendo que os CPFs são (012345678901, 12345678901, 23456789012, 34567890123, 45678901234) Avalie as alternativas abaixo identificando a que representa o correto Script necessário para a identificação das situações propostas. Assinale a alternativa com o correto Script. Alternativas: SELECT CPFID FROM CPFAtivo WHERE CPFID NOT IN (012345678901, 12345678901, 23456789012, a) 34567890123, 45678901234) AND CPFID NOT IN (SELECT CPFID FROM ProcAtivos) AND CPFID NOT IN (SELECT CPFID FROM IRDivida) AND CPFID NOT IN (SELECT CPFID FROM BOAtivo) AND CPFID NOT IN (SELECT CPFID FROM FichCriminal); SELECT CPFID FROM CPFAtivo WHERE CPFID IN (012345678901, 12345678901, b) 23456789012, 34567890123, 45678901234) AND CPFID NOT IN (SELECT CPFID FROM Alternativa assinalada ProcAtivos) AND CPFID NOT IN (SELECT CPFID FROM IRDivida) AND CPFID NOT IN (SELECT CPFID FROM BOAtivo) AND CPFID NOT IN (SELECT CPFID FROM FichCriminal); SELECT CPFID FROM CPFAtivo WHERE CPFID NOT IN (012345678901, 12345678901, 23456789012, c) 34567890123, 45678901234) AND CPFID IN (SELECT CPFID FROM ProcAtivos) AND CPFID IN (SELECT CPFID FROM IRDivida) AND CPFID IN (SELECT CPFID FROM BOAtivo) AND CPFID IN (SELECT CPFID FROM FichCriminal); SELECT CPFID FROM CPFAtivo WHERE CPFID = (012345678901, 12345678901, 23456789012, 34567890123, d) 45678901234) AND CPFID <> (SELECT CPFID FROM ProcAtivos) AND CPFID <> (SELECT CPFID FROM IRDivida) AND CPFID <> (SELECT CPFID FROM BOAtivo) AND CPFID <> (SELECT CPFID FROM FichCriminal); SELECT CPFID FROM CPFAtivo WHERE CPFID = (012345678901, 12345678901, 23456789012, 34567890123, e) 45678901234) AND CPFID = (SELECT CPFID FROM ProcAtivos) AND CPFID = (SELECT CPFID FROM IRDivida) AND CPFID = (SELECT CPFID FROM BOAtivo) AND CPFID = (SELECT CPFID FROM FichCriminal);