TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

O Projeto e Otimização de Banco de Dados

Por:   •  25/1/2020  •  Trabalho acadêmico  •  852 Palavras (4 Páginas)  •  269 Visualizações

Página 1 de 4

[pic 2]

UNIVERSIDADE ESTÁCIO DE SÁ

PÓS-GRADUAÇÃO EM ENGENHARIA DE SOFTWARE

Marcella Alves de Melo

Trabalho da disciplina Projeto e Otimização de BD

Professor: Renato Cortes

                                                                     Tutor: Prof. Adriana Aparicio Sicsu

Belo Horizonte/MG

2019

Sentenças em 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 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'

Nota: utilização do distinct pois a disciplina Ed. Física é ministrada tanto por André quanto por Gil.

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 G

        inner join Disciplina D

        on D.CodD = G.CodD

        inner join Professor P

        on G.CodP = P.CodP

        inner join Curso C

        on C.CodC = G.CodC

where CargaD > 3

and ISNULL(AreaD,'') not in ('Matemática','Saúde','Humanas')

and NomeP in ('Joaquim','Paulo','Juliana')

Nota 1: Não existe registro na tabela grade para Juliana.

Nota 2: Foi utilizada a função ISNULL pois a coluna AreaD possui valores nulos e que não seriam considerados na cláusula Where.

d) Nomes dos professores que não ministram nenhuma disciplina.

select NomeP

from Grade G

        right join Professor P

        on G.CodP = P.CodP

where G.CodP is null

Nota: Foi utilizado RIGHT JOIN com filtro IS NULL na cláusula where pois quer saber apenas os professores da tabela Professor que não existe correspondência na tabela Grade.

        

e) Nomes das disciplinas e o nome dos respectivos pré-requisitos.

Select Dis.NomeD as NomeDisciplina, PreReq.NomeD as NomePreRequisito

from Disciplina as Dis

        left join Disciplina as PreReq

        on Dis.PreReqD = PreReq.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 = 'Matemática')

g) Código de cada disciplina, com a quantidade de cursos em que a mesma é oferecida.

select CodD, Count(DISTINCT CodC) as quantidade

from Grade

group by CodD

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

select avg(CargaD) as CargaHorariaMedia

from Disciplina

where isnull(AreaD,'NULL') IN (

...

Baixar como (para membros premium)  txt (4.2 Kb)   pdf (118.5 Kb)   docx (45.1 Kb)  
Continuar por mais 3 páginas »
Disponível apenas no TrabalhosGratuitos.com