Você está na página 1de 2

Nome da Disciplina: Projeto e Otimização de Banco de Dados

Professor Renato Cortes

Trabalho

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.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 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 p.NomeP in (“Paulo”, “Joaquim”, “Juliana”) and d.area not in
(“Matemática”, “Saúde”, “Humanas”)

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 NomeD, PreReqD from disciplina;

f) Nome das disciplinas que possuam carga horária maior que todas as disciplinas da área de
Matemática.

select distinct nomeD from Disciplina d join grade g on g.codd = d.codd right
join professor p on p.codp = g.codp where AreaD = "Matemática";
g) Código de cada disciplina, com a quantidade de cursos em que a mesma é oferecida.

select d.CodD,count(NomeC) "Qtd Curso" from Disciplina d join grade g on


g.codd = d.codd right join professor p on p.codp = g.codp join curso c on
c.CodC=g.CodC group by NomeC;

h) Carga horária média das áreas com carga horária média maior ou igual a 3.

select NomeD,avg(d.CargaD) as media from Disciplina d where d.CargaD =


(select avg(d.CargaD) from Disciplina d2 where d2.CargaD > 3) and d.CargaD > 3
group by CargaD;

i) Nome das disciplinas que não têm pré-requisito e que não são pré-requisito.

select CodD from Disciplina d where not exists(select CodD from Disciplina d2
where d.CodD=d2.PreReqD) or (PreReqD is 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 * from curso where DuracaoC = 5 and MensC > 600;