Banco De Dados I
Pesquisas Acadêmicas: Banco De Dados I. Pesquise 861.000+ trabalhos acadêmicosPor: jrcardozo • 15/8/2014 • 739 Palavras (3 Páginas) • 372 Visualizações
Universidade do Sul de Santa Catarina – Unisul
Campus Virtual
Atividade de avaliação a distância (AD)
Disciplina: Banco de Dados I
Curso:
Professor:
Nome do aluno:
Data:
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:
1. Em relação ao dados acima referente a 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: (3,0 pontos)
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.
2. Descreva os comandos SQL – DDL para a criação dos objetos do banco de
dados com o modelo acima. (3,0 pontos)
CREATE SCHEMA IF NOT EXISTS `Unisul_BDI` DEFAULT CHARACTER SET latin1 COLLATE
latin1_swedish_ci ;
USE `Unisul_BDI` ;
CREATE TABLE IF NOT EXISTS `Unisul_BDI`.`Cidade` (
`Codigo` INT NOT NULL AUTO_INCREMENT ,
`Nome` VARCHAR(30) NOT NULL ,
`Uf` VARCHAR(2) NOT NULL ,
PRIMARY KEY (`Codigo`) )
ENGINE = InnoDB;
CREATE TABLE IF NOT EXISTS `Unisul_BDI`.`Professor` (
`Codigo` INT NOT NULL AUTO_INCREMENT ,
`Nome` VARCHAR(30) NOT NULL ,
`Data_Nascimento` DATE NULL ,
`Cidade` INT NOT NULL ,
PRIMARY KEY (`Codigo`) ,
INDEX `Fk_Cidade_Professor` (`Cidade` ASC) ,
CONSTRAINT `Fk_Cidade_Professor`
FOREIGN KEY (`Cidade` )
REFERENCES `Unisul_BDI`.`Cidade` (`Codigo` )
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
CREATE TABLE IF NOT EXISTS `Unisul_BDI`.`Curso` (
`Codigo` INT NOT NULL AUTO_INCREMENT ,
`Nome` VARCHAR(30) NOT NULL ,
`Tipo_Turno` VARCHAR(15) NOT NULL ,
PRIMARY KEY (`Codigo`) )
ENGINE = InnoDB;
CREATE TABLE IF NOT EXISTS `Unisul_BDI`.`Alocacao` (
`Curso` INT NOT NULL AUTO_INCREMENT ,
`Professor` INT NOT NULL ,
`Data_Alocacao` DATE NOT NULL ,
PRIMARY KEY (`Curso`, `Professor`) ,
INDEX `Fk_Alocacao_Professor` (`Professor` ASC) ,
INDEX `Fk_Alocacao_Curso` (`Curso` ASC) ,
CONSTRAINT `Fk_Alocacao_Professor`
FOREIGN KEY (`Professor` )
REFERENCES `Unisul_BDI`.`Professor` (`Codigo` )
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `Fk_Alocacao_Curso`
FOREIGN KEY (`Curso` )
REFERENCES `Unisul_BDI`.`Curso` (`Codigo` )
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
3. Dos comandos DML estudados, insira 5 linhas para cada tabela criada na
questão 2, utilizando o comando de inserção. (2,0 pontos)
START TRANSACTION;
USE `Unisul_BDI`;
INSERT INTO `Unisul_BDI`.`Cidade` (`Codigo`, `Nome`, `Uf`) VALUES (1, 'Porto
Alegre', 'RS');
INSERT INTO `Unisul_BDI`.`Cidade` (`Codigo`, `Nome`, `Uf`)
...