Buscar

Trabalho Final Projeto e Otimização de BD

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 3 páginas

Prévia do material em texto

Projeto e Otimização de Banco de dados 
 
Professor​ - Renato Cortes 
Aluno ​- Renato R. de Lima Junior - 201801254702 
 
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. 
 
SELECT D.CodD, d.NomeD 
from disciplina D 
where D.CargaD BETWEEN 3 AND 5 
AND D.AreaD <> 'Saude' 
 
b) Nome das disciplinas com carga horária menor que 5 e que sejam ministradas por 
professores doutores. 
 
SELECT d.NomeD 
FROM disciplina D 
INNER JOIN grade G ON D.CodD = G.CodD 
INNER JOIN professor P ON G.CodP = P.CodP 
WHERE D.CargaD < 5 
AND P.TituloP = '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 G.sala 
 FROM disciplina D 
 INNER JOIN grade G ON D.CodD = G.CodD 
 INNER JOIN professor P ON G.CodP = P.CodP 
 INNER JOIN curso C on G.codC = C.codC 
 
WHERE 1 = 1 
 AND C.duracaoC > 3 
 AND P.NomeP in ('Paulo', 'Joaquim', 'Juliana') 
 AND D.AreaD not in ('Matematica', 'Saúde', 'Humanas') 
 
d) Nomes dos professores que não ministram nenhuma disciplina. 
 
SELECT​ P.NomeP FROM professor P WHERE P.CodP ​NOT​ ​IN​ (​SELECT​ CODP FROM 
grade) 
 
e) Nomes das disciplinas e o nome dos respectivos pré-requisitos. 
 
SELECT D1.CodD, 
D1.NomeD as 'PreReqD', 
D2.CodD, 
D2.NomeD as 'Disc' 
FROM disciplina D1 
INNER JOIN disciplina D2 ON D2.PreReqD = D1.CodD 
 
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 = 'Matematica') 
 
g) Código de cada disciplina, com a quantidade de cursos em que a mesma é oferecida. 
 
select D.CodD, 
 COUNT(C.CodC) as total 
 from curso C 
 inner join grade G on C.CodC = G.CodC 
 inner join disciplina D on G.CodD = D.CodD 
 group by D.CodD 
 
h) Carga horária média das áreas com carga horária média maior ou igual a 3. 
 
SELECT AreaD, AVG(CargaD) 
FROM disciplina D 
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 PreReqD IS NULL 
 AND D.CodD NOT IN (SELECT DISTINCT(PreReqD) FROM disciplina WHERE PreReqD 
IS NOT NULL) 
 
j) Nome dos cursos que têm a mesma duração do curso de Engenharia Elétrica e que 
têm mensalidade maior que o referido curso. 
 
SELECT C.NomeC 
 FROM curso C 
 WHERE DuracaoC = ( SELECT DuracaoC FROM curso C WHERE C.CodC = 'C4' ) 
 AND C.MensC > ( SELECT MensC FROM curso C WHERE C.CodC = 'C4' )

Outros materiais