TRABALHO DE PROJETO E OTIMIZAÇÃO DE BANCO DE DADOS
Por: Marcelo Brito • 11/2/2019 • Trabalho acadêmico • 758 Palavras (4 Páginas) • 289 Visualizações
UNIVERSIDADE ESTACIO DE SÁ - UNESA
DIRETORIA DE PÓS-GRADUAÇÃO LATO SENSU
CURSO DE PÓS-GRADUAÇÃO EM ENGENHARIA DE SOFTWARE
MARCELO BARBOSA DE BRITO
PROJETO E OTIMIZAÇÃO DE BANCO DE DADOS
Desenvolvimento de sentenças SQL
RIO DE JANEIRO
2018
MARCELO BARBOSA DE BRITO
PROJETO E OTIMIZAÇÃO DE BANCO DE DADOS
Desenvolvimento de sentenças SQL
Trabalho apresentado à disciplina Projeto e Otimização de Banco de Dados, pelo Curso de pós-graduação em Engenharia de Software da Universidade Estácio de Sá - UNESA, ministrada pelo professor Renato Cortes
Rio de Janeiro
2018
INTRODUÇÃO
Sejam as seguintes tabelas:
[pic 1]
[pic 2]
[pic 3]
[pic 4]
Escreva as sentenças em SQL para responder as proposições definidas a seguir.
SUMÁRIO
INTRODUÇÃO 2
SUMÁRIO 4
SENTENÇAS SQL 5
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. 5
b) Nome das disciplinas com carga horária menor que 5 e que sejam ministradas por professores doutores. 5
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. 5
d) Nomes dos professores que não ministram nenhuma disciplina. 6
e) Nomes das disciplinas e o nome dos respectivos pré-requisitos. 6
f) Nome das disciplinas que possuam carga horária maior que todas as disciplinas da área de Matemática. 6
g) Código de cada disciplina, com a quantidade de cursos em que a mesma é oferecida. 6
h) Carga horária média das áreas com carga horária média maior ou igual a 3. 7
i) Nome das disciplinas que não têm pré-requisito e que não são pré-requisito. 7
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. 7
SENTENÇAS SQL
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 A
inner join Grade B on (A.CodD = B.CodD)
inner join Professor C on (B.CodP = C.CodP)
where CargaD < 5
and 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 Sala
from Grade A
inner join Curso B on (A.CodC = B.CodC)
inner join Disciplina C on (A.CodD = C.CodD)
inner join Professor D on (A.CodP = D.CodP)
...