Baixe o app para aproveitar ainda mais
Prévia do material em texto
Gabarito da Segunda Lista de Exercícios de BD 1ª Questão ALUNO MATR NOME CR NN DISCIPLINA COD NOME NCRED EMENTA NN SEMESTRE ANO PER DTI DTF NN NN CURSA MATR COD ANO PER NOTA NN NN NN NN PROFESSOR MATR NOME AREA NN MINISTRA MATR COD ANO PER NN NN NN NN PODE_MINISTRAR MATR COD NN NN PROJETO COD DESCRIÇÃO AREA MATR_P NN NN PARTICIPA_A MATR_A COD_A NN PARTICIPA_P MATR_P COD_P NN NN NN AVAL Restrições Semânticas: • Cada professor pode ministrar no máximo quatro disciplinas em um mesmo semestre. • Cada professor pode participar de no máximo três projetos. • Deverá estar associada a cada professor a relação não vazia de disciplinas que este tem condições de ministrar. • Deverá estar associada a cada disciplina a relação não vazia de professores que podem ministrá-la. 2ª Questão CREATE TABLE ALUNO (MATR CHAR(9) NOT NULL, NOME VARCHAR(40), CR DEC(3,1), CONSTRAINT PKALUNO PRIMARY KEY(MATR)); CREATE TABLE DISCIPLINA (COD CHAR(6) NOT NULL, NOME VARCHAR(30), NCRED SMALLINT, EMENTA VARCHAR(300), CONSTRAINT PKDISCIPLINA PRIMARY KEY(COD)); CREATE TABLE SEMESTRE (ANO CHAR(4) NOT NULL, PER CHAR NOT NULL, DII DATE, DIF DATE, CONSTRAINT PKSEMESTRE PRIMARY KEY(ANO,PER)); CREATE TABLE CURSA (MATR CHAR(9) NOT NULL, COD CHAR(6) NOT NULL, ANO CHAR(4) NOT NULL, PER CHAR NOT NULL, NOTA DEC(3,1), CONSTRAINT PKCURSA PRIMARY KEY(MATR,COD,ANO,PER), CONSTRAINT FK1CURSA FOREIGN KEY(MATR) REFERENCES ALUNO(MATR) ON DELETE RESTRICT ON UPDATE CASCADE, CONSTRAINT FK2CURSA FOREIGN KEY(COD) REFERENCES DISCIPLINA(COD) ON DELETE RESTRICT ON UPDATE CASCADE, CONSTRAINT FK3CURSA FOREIGN KEY(ANO,PER) REFERENCES SEMESTRE(ANO,PER) ON DELETE RESTRICT ON UPDATE RESTRICT); CREATE TABLE PROFESSOR (MATR CHAR(7) NOT NULL, NOME VARCHAR(40), AREA VARCHAR(30), CONSTRAINT PKPROFESSOR PRIMARY KEY(MATR)); CREATE TABLE MINISTRA (MATR CHAR(7) NOT NULL, COD CHAR(6) NOT NULL, ANO CHAR(4) NOT NULL, PER CHAR NOT NULL, AVAL DEC(3,1), CONSTRAINT PKMINISTRA PRIMARY KEY(COD,ANO,PER), CONSTRAINT FK1MINISTRA FOREIGN KEY(MATR) REFERENCES PROFESSOR(MATR) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT FK2MINISTRA FOREIGN KEY(COD) REFERENCES DISCIPLINA(COD) ON DELETE RESTRICT ON UPDATE CASCADE, CONSTRAINT FK3MINISTRA FOREIGN KEY(ANO,PER) REFERENCES SEMESTRE(ANO,PER) ON DELETE RESTRICT ON UPDATE RESTRICT); CREATE TABLE PODEMINISTRAR (MATR CHAR(7) NOT NULL, COD CHAR(6) NOT NULL, CONSTRAINT PKPODEMINISTRAR PRIMARY KEY(MATR,COD), CONSTRAINT FK1PODEMINISTRA FOREIGN KEY(MATR) REFERENCES PROFESSOR(MATR) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT FK2PODEMINISTRA FOREIGN KEY(COD) REFERENCES DISCIPLINA(COD) ON DELETE CASCADE ON UPDATE CASCADE); CREATE TABLE PROJETO (COD CHAR(4) NOT NULL, DESCRIÇÃO VARCHAR(100), AREA VARCHAR(30), MATR_P CHAR(7) NOT NULL, CONSTRAINT PKPROJETO PRIMARY KEY(COD), CONSTRAINT UNKPROJETO UNIQUE (MATR_P), CONSTRAINT FK1PROJETO FOREIGN KEY (MATR_P) REFERENCES PROFESSOR(MATR) ON DELETE RESTRICT ON UPDATE CASCADE); CREATE TABLE PARTICIPA_A (MATR_A CHAR(9) NOT NULL, COD_P CHAR(4) NOT NULL, CONSTRAINT PKPARTICIPA_A PRIMARY KEY(MATR_A), CONSTRAINT FK1PARTICIPA_A FOREIGN KEY (MATR_A) REFERENCES ALUNO(MATR) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT FK2PARTICIPA_A FOREIGN KEY(COD_P) REFERENCES PROJETO(COD) ON DELETE CASCADE ON UPDATE CASCADE); CREATE TABLE PARTICIPA_P (MATR_P CHAR(7) NOT NULL, COD_P CHAR(4) NOT NULL, CONSTRAINT PKPARTICIPA_P PRIMARY KEY(MATR_P,COD_P), CONSTRAINT FK1PARTICIPA_P FOREIGN KEY (MATR_P) REFERENCES PROFESSOR(MATR) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT FK2PARTICIPA_P FOREIGN KEY(COD_P) REFERENCES PROJETO(COD) ON DELETE CASCADE ON UPDATE CASCADE); 3ª Questão RESPOSTA NO NAVATHE 4ª Questão A) R1 ← π COD_PROD ( PREÇO<10000 (PRODUTO) ) R2 ← π COD_PROD ( COD_MAT='M1' (UTILIZA) ) R ← R1 – R2 B) R1 ← π COD_FORN ( LOCAL='AREA A' OR LOCAL='AREA B' (FORNECEDOR) ) R2 ← R1 * FORNECIDO R3 ← π COD_FORN, COD_MAT (R2) R ← R3 ÷ π COD_MAT (MATERIAL) C) R1 ← π COD_PROD ( NOME='PRODUTO X' (PRODUTO) ) R2 ← π COD_MATR ( R1 * UTILIZA ) R3 ← π COD_FORN ( R2 * FORNECIDO ) R ← π LOCAL ( R3 * FORNECEDOR )
Compartilhar