Os Princípios de Banco de Dados
Por: ricardo.lucena • 11/8/2015 • Trabalho acadêmico • 778 Palavras (4 Páginas) • 324 Visualizações
[pic 1][pic 2]
Universidade do Sul de Santa Catarina – Unisul
Campus Virtual
[pic 3] |
|
Unidade de Aprendizagem: Princípios de Banco de Dados
Curso: Sistemas para Internet
Professor: Luciano José Savio
Nome do aluno: Ricardo Nunes de Lucena
Data: 08/08/2014
Orientações:
- Procure o professor sempre que tiver dúvidas.
- Entregue a atividade no prazo estipulado.
- Esta atividade é obrigatória e fará parte da sua média final.
- Encaminhe a atividade via Espaço UnisulVirtual de Aprendizagem (EVA).
Sejam os seguintes depósitos de dados, que representam o processo de alocação de um professor em um determinado curso, ou seja, que representa em qual cidade o professor mora, e em qual curso ministra aulas:
[pic 4]
Questão1 - (3,0 pontos)
Em relação aos dados acima referentes à alocação de um professor em um determinado curso, crie um modelo E.R. normalizado, utilizando uma das ferramentas cases estudadas no livro didático, implementando as seguintes regras básicas:
O que identifica o professor é o seu código.
O que identifica o curso é o código do curso.
O que identifica a alocação é o código do professor e o código do curso.
O que identifica a cidade é o código da cidade
Um professor deve morar numa cidade.
Um professor pode ser alocado em vários cursos.
Um curso pode ser lecionado por vários professores.
RESPOSTA:
MER criado com o software DbVisualizer(http://www.dbvis.com/)
[pic 5]
MER criado com o software DIA (http://dia-installer.de/)
[pic 6]
Questão 2 - (3,0 pontos)
Descreva os comandos SQL - DDL para a criação dos objetos do banco de dados com o modelo acima.
RESPOSTA:
CREATE TABLE `ALOCACAO` (
`Curso` int(5) NOT NULL,
`Professor` int(5) NOT NULL,
`DataAlocacao` date NOT NULL,
PRIMARY KEY (`Curso`,`Professor`),
KEY `fk_curso` (`Curso`),
KEY `fk_professor` (`Professor`)
);
CREATE TABLE `CIDADE` (
`Codigo` int(5) NOT NULL,
`Nome` varchar(30) NOT NULL,
`UF` varchar(2) NOT NULL,
PRIMARY KEY (`Codigo`)
);
CREATE TABLE `CURSO` (
`Codigo` int(5) NOT NULL,
`Nome` varchar(30) NOT NULL,
`TipoTurno` varchar(15) NOT NULL,
PRIMARY KEY (`Codigo`)
);
CREATE TABLE `PROFESSOR` (
`Codigo` int(5) NOT NULL,
`Nome` varchar(30) NOT NULL,
`DataNascimento` date DEFAULT NULL,
`Cidade` int(5) NOT NULL,
PRIMARY KEY (`Codigo`),
KEY `fk_cidade` (`Cidade`)
);
ALTER TABLE `ALOCACAO`
ADD CONSTRAINT `fk_professor` FOREIGN KEY (`Professor`) REFERENCES `PROFESSOR` (`Codigo`),
ADD CONSTRAINT `fk_curso` FOREIGN KEY (`Curso`) REFERENCES `CURSO` (`Codigo`);
ALTER TABLE `PROFESSOR`
ADD CONSTRAINT `fk_cidade` FOREIGN KEY (`Cidade`) REFERENCES `CIDADE` (`Codigo`);
Questão 3 - (2,0 pontos)
Dos comandos DML estudados, insira 5 linhas para cada tabela criada na questão 2, utilizando o comando de inserção.
RESPOSTA:
TABELA CURSO:
INSERT INTO `CURSO` (`Codigo`, `Nome`, `TipoTurno`) VALUES (1, 'Curso de PHP', 'Matutino');
INSERT INTO `CURSO` (`Codigo`, `Nome`, `TipoTurno`) VALUES (2, 'Curso de MySQL', 'Vespertino');
INSERT INTO `CURSO` (`Codigo`, `Nome`, `TipoTurno`) VALUES (3, 'Curso de PostgreSQL', 'Noturno');
INSERT INTO `CURSO` (`Codigo`, `Nome`, `TipoTurno`) VALUES (4, 'Curso de Java', 'Vespertino');
...