Prévia do material em texto
Gabarito da Terceira Lista de Exercícios de BD 1ª QUESTÃO: A) SELECT COD_PROD FROM PRODUTO WHERE PREÇO < 10000 AND COD_PROD NOT IN (SELECT COD_PROD FROM UTILIZA WHERE COD_MAT = ‘M1’); B) SELECT COD_FORN FROM FORNECEDOR WHERE (LOCAL=’AREA A’ OR LOCAL=’AREA B’) AND COD_FORN IN (SELECT COD_FORN FROM FORNECIDO GROUP BY OD_FORN HAVING COUNT(*) = (SELECT COUNT(*) FROM MATERIAL)); C) SELECT DITINCT LOCAL FROM FORNECEDORES WHERE COD_FORN IN (SELECT DISTINCT COD_FORN FROM FORNECIDO WHERE COD_MAT IN (SELECT DISTINCT COD_MAT FROM UTILIZA WHERE COD_PROD IN (SELECT COD_PROD FROM PRODUTO WHERE NOME=’PRODUTO X’))); D) SELECT COD_FORN, AVG(PREÇO) FROM FORNECIDO GROUP BY COD_FORN HAVING COUNT(*)>5; � E) DELETE FROM MATERIAL WHERE COD_MAT NOT IN (SELECT COD_MAT FROM UTILIZA); OU DELETE FROM MATERIAL WHERE NOT EXISTS (SELECT * FROM UTILIZA WHERE COD_MAT=MATERIAL.COD_MAT); 2ª QUESTÃO: Gabarito já fornecido. 3ª QUESTÃO: CREATE TRIGGER PROP_ATUALIZ AFTER UPDATE OF S# ON S FOR EACH ROW UPDATE SP SET SP.S# = NEW.S# WHERE SP.S# = OLD.S#; 4ª QUESTÃO): A) Correto, pois se R possui somente dois atributos, então um dos dois casos acontece: (a) os dois atributos fazem parte da chave primária e não existe um atributo não-chave dependente de parte da chave e (b) um dos atributos é a chave primária e não há como o outro atributos ser parcialmente dependente dessa chave pois é composta por apenas um atributo. B) Chave Primária: (Mat_Func) Cod_Depto Mat_Func Nome_Depto Nome_Func C) (i) Não podemos inserir informações sobre um departamento sem que ele possua um funcionário, (ii) As informações de um departamento D seriam repetidas para cada funcionário alocado a D, (iii) Eliminar o único funcionário de um departamento eliminaria todas as informações desse departamento. D) Chave Primária(Mat_Func) Chave Primária(Cod_Depto) Mat_Func Cod_Depto E Cod_Depto Nome_Depto Nome_Func E) Sim, Pois todos os determinantes são chaves. � 5ª QUESTÃO: Porque possui atributos (CURSO e ÁREA, p.e.) que não são totalmente dependentes das chaves candidatas. B) ALUNO2FN(Matr, Discipl, Nota, Nome.Aluno) Chaves candidatas: (Matr,Discipl) e (Nome.aluno,Discipl) Dependências funcionais Matr Nota Discipl Nome.aluno DISCIPLINA(Discipl, Curso, Área) Chaves candidatas: (Discipl) Dependências Funcionais: Discipl Curso Área C) R1 Nota Matr Nota Discipl Nome.aluno OU Discipl + R2 Matr Nome.Aluno R3 Discipl R4 + Curso Curso Área Chaves Candidatas: R1: (Discipl, Nome.Aluno) OU R1: (Matr, Discipl) R2 (Matr, Nome.Aluno) + R3 (Discilp) + R4 (Curso)