Lista1 SQL Solucao
Exercícios de
Revisão
Profa. Sandra de Amo
Programa de Pós-graduação em Ciência da
Computação – UFU
2012 - 2
Exercicio 1.
SELECT E.ENOME
FROM ESTUDANTE E, MATRICULADO M, DISCIPLINA D, PROF P
WHERE E.PERIODO = ‘1’ AND E.ENUM = M.ENUM AND
M.DID = D.DID AND D.PID = P.PID AND
P.PNOME = ‘Maria Amélia’
Exercicio 2.
SELECT E.ENOME
FROM ESTUDANTE
WHERE E.PERIODO = ‘1’ AND
E.NUM IN
(SELECT M.ENUM
FROM MATRICULADO M, DISCIPLINA D, PROF P
WHERE M.DID = D.DID AND D.PID = P.PID AND
P.PNOME = ‘Maria Amélia’)
Exercicio 3.
SELECT E.ENOME
FROM ESTUDANTE
WHERE E.PERIODO = ‘1’ AND
E.NUM IN
(SELECT M.ENUM
FROM MATRICULADO M
WHERE M.DID IN (SELECT D.DID
FROM DISCIPLINA D, PROF P
WHERE D.PID = P.PID AND
P.PNOME = ‘Maria Amélia’))
Exercicio 4.a
SELECT E.ENOME
FROM ESTUDANTE
WHERE E.PERIODO = ‘1’ AND
E.NUM IN
(SELECT M.ENUM
FROM MATRICULADO M
WHERE M.DID IN
(SELECT D.DID
FROM DISCIPLINA D
WHERE D.PID IN
(SELECT P.PID
FROM PROF P
WHERE P.PNOME = ‘Maria Amélia’)))
Exercicio 4.b
Plano da Consulta 2
Plano da Consulta 1
ΠEnome
ΠEnome σPeriodo =1
σPeriodo =1
σPnome=M.Amelia
ΠEnum σPnome=M.Amelia Estudante
Estudante
Matriculado
Matriculado
Disciplina
Disciplina
Professor
Professor
Análise: Plano 2 é mais eficiente que o plano 1, pois no plano 2, o último (as operações são executadas na ordem “de baixo para cima” no plano) operador de junção opera sobre relações muito menores do que o último operador de junção na consulta 1. Os outros dois operadores de junção sãoexecutados de forma idêntica nos dois planos.
Exercicio 4.b
Plano da Consulta 4
ΠEnome
Plano da Consulta 3
ΠEnome σPeriodo =1 σPeriodo =1
ΠEnum
ΠEnum
Estudante
Estudante
Matriculado
Matriculado
ΠDID
ΠDID
σPnome=M.Amelia
Disciplina
ΠPID σPnome=M.Amelia Professor
Disciplina
Professor
Análise: Plano 3 é mais eficiente que o plano 2 e plano 4 é mais eficiente do que o 3. A justificativa é análoga à justificativa dada para concluir que o plano 2 é mais eficiente do que o plano 1.
Exercicio 5a.