Projeto e Otimização de Banco de Dados Professor Renato Cortes
Por: ricoaraujo • 2/11/2017 • Projeto de pesquisa • 585 Palavras (3 Páginas) • 375 Visualizações
Nome da Disciplina: Projeto e Otimização de Banco de Dados Professor Renato Cortes
ALUNO: RICARDO ANDRADE
Trabalho
Sejam as seguintes tabelas:
Curso[pic 1]
CodC | NomeC | DuracaoC | MensC |
C1 | Análise Sist | 4 | 400 |
C2 | Eng Mecatrônica | 5 | 600 |
C3 | Ciência Comp | 4 | 450 |
C4 | Eng Elétrica | 4 | 600 |
C5 | Turismo | 3 | 350 |
[pic 2]
Professor[pic 3]
CodP | NomeP | CidadeP | TituloP |
P1 | Joaquim | Rib Preto | Mestre |
P2 | Paulo | Batatais | Espec |
P3 | André | Rib Preto | Doutor |
P4 | Gil | S Carlos | Doutor |
P5 | Juliana | S Carlos | Pós Doc |
CodC | CodD | CodP | Sala |
C1 | D6 | P1 | 305 |
C2 | D2 | P2 | 305 |
C3 | D2 | P2 | 305 |
C4 | D1 | P4 | 201 |
C4 | D3 | P3 | 204 |
C5 | D4 | P3 | 204 |
C5 | D4 | P4 | 207 |
Grade
Escreva as sentenças em SQL para responder as seguintes proposições:
- 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’
- 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’
- 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’)
- 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)
...