Baixe o app para aproveitar ainda mais
Prévia do material em texto
Vila Velha, ES ESTÁCIO DE SÁ TRABALHO DA DISCIPLINA PROJETO E OTIMIZAÇÃO DE BANCO DE DADOS Aluno: Rodolfo de Jesus Nascimento. MATÉRIA: PROJETO E OTIMIZAÇÃO DE BANCO DE DADOS PÓS – GRADUÇÃO DE ENGENHARIA DE SOFTWARE. Vila Velha, ES Escreva as sentenças em SQL para responder as seguintes proposições: a) Código e nome das disciplinas com carga horária entre 3 e 5 inclusive e que não sejam da área de Saúde. b) Nome das disciplinas com carga horária menor que 5 e que sejam ministradas por professores doutores. c) Salas onde haverá aulas cujos cursos possuam duração superior a 3 anos e cujas disciplinas não sejam nem da área de Matemática, nem de Saúde e nem de Humanas e cujo professor seja Paulo, Joaquim ou Juliana. d) Nomes dos professores que não ministram nenhuma disciplina. e) Nomes das disciplinas e o nome dos respectivos pré-requisitos. f) Nome das disciplinas que possuam carga horária maior que todas as disciplinas da área de Matemática. g) Código de cada disciplina, com a quantidade de cursos em que a mesma é oferecida. h) Carga horária média das áreas com carga horária média maior ou igual a 3. i) Nome das disciplinas que não têm pré-requisito e que não são pré-requisito. j) Nome dos cursos que têm a mesma duração do curso de Engenharia Elétrica e que têm mensalidade maior que a sua. Vila Velha, ES Respostas A) Código e nome das disciplinas com carga horária entre 3 e 5 inclusive e que não sejam da área de Saúde. SELECT CodD, NomeD FROM Disciplina WHERE CargaD BETWEEN 3 AND 5 AND AreaD != 'Saúde b) Nome das disciplinas com carga horária menor que 5 e que sejam ministradas por professores doutores. SELECT DISTINCT NomeD FROM Disciplina d JOIN Grade g on g.CodD = d.CodD JOIN Professor p on p.CodP = g.CodP WHERE CargaD < 5 AND p.Titulo = ‘Doutor’ c) Salas onde haverá aulas cujos cursos possuam duração superior a 3 anos e cujas disciplinas não sejam nem da área de Matemática, nem de Saúde e nem de Humanas e cujo professor seja Paulo, Joaquim ou Juliana. SELECT DISTINCT Sala from Grade g JOIN Curso c on c.CodC = g.CodC JOIN Disciplina d on d.CodD = g.CodD join Professor p on p.CodP = g.CodP WHERE c.DuracaoC > 3 AND (d.AreaD IS NULL OR d.AreaD NOT IN (‘Matemática’, ‘Saúde’, ‘Humanas’)) AND p.NomeP in (‘Paulo’, ‘Joaquim’, ‘Juliana’) d) Nomes dos professores que não ministram nenhuma disciplina. SELECT NomeP FROM Professor p WHERE NOT EXISTS (SELECT CodP FROM Grade g WHERE g.CodP = p.CodP) e) Nomes das disciplinas e o nome dos respectivos pré-requisitos. SELECT d.NomeD, pr.NomeD FROM Disciplina d JOIN Disciplina pr ON pr.CodC = d.PreReqD f) Nome das disciplinas que possuam carga horária maior que todas as disciplinas da área de Matemática. SELECT NomeD FROM Disciplina WHERE CargaD > (SELECT MAX (CargaD) FROM Disciplina WHERE AreaD = ‘Matemática’) g) Código de cada disciplina, com a quantidade de cursos em que a mesma é oferecida. SELECT d.CodD, COUNT (distinct g.CodC) AS Ccursos FROM Disciplina d LEFT JOIN Grade g on g.CodD = d.CodD GROUP BY d.CodD Vila Velha, ES h) Carga horária média das áreas com carga horária média maior ou igual a 3. SELECT AVG(CargaD) as AvgCarga FROM Disciplina GROUP BY AreaD HAVING AVG(CargaD) >= 3 i) Nome das disciplinas que não têm pré-requisito e que não são pré-requisito. SELECT d.NomeD FROM Disciplina d WHERE d.PreReqD IS NULL AND NOT EXISTS (SELECT CodD FROM Disciplina disc WHERE disc.PreReqD = d.CodD) j) Nome dos cursos que têm a mesma duração do curso de Engenharia Elétrica e que têm mensalidade maior que a sua. SELECT c.NomeC FROM Curso c WHERE c.DuracaoC = (SELECT cc.DuracaoC FROM Curso cc WHERE cc.NomeC = ‘Eng Elétrica’) AND c.MensC > (SELECT cc.MensC FROM Curso cc WHERE cc.NomeC = ‘Eng Elétrica) AND c.NomeC != ‘Eng Elétrica’
Compartilhar