Exercícios Práticos (SQL)
Considere o esquema de Banco de Dados abaixo. DEPARTAMENTO {nome, codigo, telefone, centro} ALUNO {CPF, sexo, matricula, nome, curso} CURSO { codigo, nome, tipo (graduação, mestrado ou doutorado), dnumero(FK), coordenador(FK), vice_coordenador(FK) }
PROFESSOR { nome, CPF, dnumero(FK), telefone, indice_prod} DISCIPLINA {nome, descricao, codigo, dnumero(FK)} OFERTA { codigo, disc_codigo(FK), prof_CPF(FK), horário} ALUNO_POS {num_matricula, orientador_CPF(FK), bolsa} 1) Use os scripts fornecidos para criar banco de dados descrito no esquema acima no SGBD Oracle e, usando a linguagem SQL, faça as seguintes alterações no esquema do banco de dados a fim de demostrar o uso do comando DDL (Data
Definition Language): a) Inclua uma nova coluna em na tabela ALUNO referente ao seu telefone;
b) Declare o atributo ALUNO(curso) como chave estrangeira para CURSO
(codigo);
c) Exclua a coluna indice_prod da tabela PROFESSOR;
d) Crie a tabela MATRICULA {num_mat(FK), ofer_codigo(FK)}, onde num_mat é chave estrangeira para ALUNO (matricula) e ofer_codigo é chave estrangeira para OFERTA(codigo). Use o script para povoar esta tabela;
e) Crie a view que contenha a atual oferta de disciplinas. 2) Obtenha o resultado do que se pede abaixo a fim de demostrar o uso de comandos DML (Data Manipulation Language) select, insert, update e delete. a) Obtenha o nome do departamento do aluno que tem nome 'Joao da Silva'.
b) Obtenha as disciplinas ofertadas pelo professor (a) 'Bernadette Farias'.
c) Obtenha o nome e o horário das disciplinas que o aluno 'Carlos Alberto' está matriculado. d) Obtenha os alunos que estão matriculados na disciplina de 'Banco de Dados'.
e) Obtenha as disciplinas oferecidas pelos professores que trabalham no departamento de 'Computacao'.
f) Recupere o nome do professor