Você está na página 1de 13

...............................................................................................................................

ENSINO PRESENCIAL COM SUPORTE EAD BRUNO DE OLIVEIRA MORALES RA 240872012

PORTFLIO 3
BANCO DE DADOS

............................................................................................................................... Guarulhos 2012

BRUNO DE OLIVEIRA MORALES

PORTFLIO 3
BANCO DE DADOS

Trabalho apresentado ao curso analise e desenvolvimento de sistemas da Faculdade ENIAC para a disciplina de Banco de dados. Prof. Lucio

Guarulhos 2012

Respostas ...........................................................................................................
Exerccio 01 (Estudo de caso 01) Dada a resposta pelo autor, identifique situaes em que voc faria diferente e justifique. Em primeiro lugar, criaria uma ligao direta entre as entidades Locao e Cliente afim de com esta atitude eliminaria um pouco os intermedirios e deixaria minha busca mais rpida em seguida uma ligao entre o campo filial reserva. Quanto entidade Reviso seria transformada em um atributo da entidade Veiculo substituda assim por kilometragem_de_reviso, na qual usaria a interface lgica da linguagem pra criar uma verificao automtica atravs de uma TRIGGER Para acrescentar a kilometragem da prxima reviso restringindo assim o destino da ultima viagem do veiculo a uma kilometragem compatvel. E por fim no ligaria diretamente a entidade Veiculo Locao , criaria ento uma ligao entre Veiculo e Cliente uma vez que na entidade cliente adicionaria um atributo com o nome Local_de_entrega para que atravs do cdigo de cliente poder saber em que Filial o Veiculo estar na prox. Locao Exerccio 02 (Estudo de caso 02) Desenvolva: 1. Identificar as possveis Entidades existentes e seus relacionamentos. CLINICAS (cnpj, end, tel) CONSULTA (dt_consulta) RECEITA (num_ordem, remedio, instrucoes, dietas, atestado) ESPECIALIDADES (codigo, nome) PACIENTES (cpf, codigo, nome, end, dt_nasc, tel) MEDICOS (crm, nome, tel)

2. Desenvolver o Diagrama Entidade Relacionamento (com os seus devidos atributos).

3. Crie o script de criao das tabelas do banco de dados. SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0; SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0; SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL'; CREATE SCHEMA IF NOT EXISTS `DbClinicaMedica` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci ; USE `DbClinicaMedica` ; -- ------------------------------------------------------ Table `DbClinicaMedica`.`Clinicas` -- ----------------------------------------------------CREATE TABLE IF NOT EXISTS `DbClinicaMedica`.`Clinicas` ( `CodClinica` INT NULL , `NomeClinica` VARCHAR(45) NOT NULL , `Telefone1` VARCHAR(45) NOT NULL , `Telefone2` VARCHAR(45) NULL , `Fax` VARCHAR(45) NULL , `E-mail` VARCHAR(45) NULL , `Site` VARCHAR(45) NULL , PRIMARY KEY (`CodClinica`) , UNIQUE INDEX `NomeClinica_UNIQUE` (`NomeClinica` ASC) ) ENGINE = InnoDB; -- ------------------------------------------------------ Table `DbClinicaMedica`.`Especialidades` -- ----------------------------------------------------CREATE TABLE IF NOT EXISTS `DbClinicaMedica`.`Especialidades` ( `CodEspecialidade` INT NULL , `Especialidade` VARCHAR(45) NOT NULL , PRIMARY KEY (`CodEspecialidade`) , UNIQUE INDEX `Especialidade_UNIQUE` (`Especialidade` ASC) ) ENGINE = InnoDB;

-- ------------------------------------------------------ Table `DbClinicaMedica`.`Locais` -- ----------------------------------------------------CREATE TABLE IF NOT EXISTS `DbClinicaMedica`.`Locais` ( `CodLocal` INT NULL , `CodEspecialidade` INT NOT NULL , `Logradouro` VARCHAR(45) NOT NULL , `Bairro` VARCHAR(45) NOT NULL , `Cidade` VARCHAR(45) NOT NULL , `Estado` VARCHAR(45) NOT NULL , `Cep` VARCHAR(45) NOT NULL , PRIMARY KEY (`CodLocal`, `CodEspecialidade`) , UNIQUE INDEX `Cep_UNIQUE` (`Cep` ASC) , CONSTRAINT `fk_Locais_Especialidades1` FOREIGN KEY (`CodEspecialidade` ) REFERENCES `DbClinicaMedica`.`Especialidades` (`CodEspecialidade` ) ON DELETE NO ACTION ON UPDATE NO ACTION) ENGINE = InnoDB; -- ------------------------------------------------------ Table `DbClinicaMedica`.`TipoProfissional` -- ----------------------------------------------------CREATE TABLE IF NOT EXISTS `DbClinicaMedica`.`TipoProfissional` ( `CodTipoProfissional` INT NOT NULL , `Descricao` VARCHAR(45) NOT NULL , PRIMARY KEY (`CodTipoProfissional`) , UNIQUE INDEX `Descricao_UNIQUE` (`Descricao` ASC) ) ENGINE = InnoDB; -- ------------------------------------------------------ Table `DbClinicaMedica`.`Profissionais` -- ----------------------------------------------------CREATE TABLE IF NOT EXISTS `DbClinicaMedica`.`Profissionais` (

`CodProfissionais` INT NOT NULL , `CodTipoProfissional` INT NOT NULL , `CodEspecialidade` INT NOT NULL , `CodClinica` INT NOT NULL , `NomeProfissional` VARCHAR(45) NOT NULL , `Cpf` VARCHAR(45) NOT NULL , `NumEntidadeClasse` VARCHAR(45) NOT NULL , PRIMARY KEY (`CodProfissionais`) , CONSTRAINT `fk_Profissionais_TipoProfissional1` FOREIGN KEY (`CodTipoProfissional` ) REFERENCES `DbClinicaMedica`.`TipoProfissional` (`CodTipoProfissional` ) ON DELETE NO ACTION ON UPDATE NO ACTION, CONSTRAINT `fk_Profissionais_Especialidades1` FOREIGN KEY (`CodEspecialidade` ) REFERENCES `DbClinicaMedica`.`Especialidades` (`CodEspecialidade` ) ON DELETE NO ACTION ON UPDATE NO ACTION, CONSTRAINT `fk_Profissionais_Clinicas1` FOREIGN KEY (`CodClinica` ) REFERENCES `DbClinicaMedica`.`Clinicas` (`CodClinica` ) ON DELETE NO ACTION ON UPDATE NO ACTION) ENGINE = InnoDB; -- ------------------------------------------------------ Table `DbClinicaMedica`.`Consultorios` -- ----------------------------------------------------CREATE TABLE IF NOT EXISTS `DbClinicaMedica`.`Consultorios` ( `CodConsultorios` INT NOT NULL , `Clinicas_CodClinica` INT NOT NULL , `Consultorio` VARCHAR(45) NOT NULL , PRIMARY KEY (`CodConsultorios`) , CONSTRAINT `fk_Consultorios_Clinicas1` FOREIGN KEY (`Clinicas_CodClinica` )

REFERENCES `DbClinicaMedica`.`Clinicas` (`CodClinica` ) ON DELETE NO ACTION ON UPDATE NO ACTION) ENGINE = InnoDB; -- ------------------------------------------------------ Table `DbClinicaMedica`.`Pacientes` -- ----------------------------------------------------CREATE TABLE IF NOT EXISTS `DbClinicaMedica`.`Pacientes` ( `CodPacientes` INT NOT NULL , `Nome` VARCHAR(45) NULL , `Rg` VARCHAR(45) NULL , `Cpf` VARCHAR(45) NOT NULL , `Telefone` VARCHAR(45) NOT NULL , `Celular` VARCHAR(45) NULL , `Endereo` VARCHAR(45) NOT NULL , `Bairro` VARCHAR(45) NOT NULL , `Cidade` VARCHAR(45) NOT NULL , `Estado` VARCHAR(45) NOT NULL , `Cep` VARCHAR(45) NOT NULL , PRIMARY KEY (`CodPacientes`) , UNIQUE INDEX `Cpf_UNIQUE` (`Cpf` ASC) ) ENGINE = InnoDB; -- ------------------------------------------------------ Table `DbClinicaMedica`.`Consultas` -- ----------------------------------------------------CREATE TABLE IF NOT EXISTS `DbClinicaMedica`.`Consultas` ( `CodConsultas` INT NOT NULL , `CodPacientes` INT NOT NULL , `CodProfissionais` INT NOT NULL , `Data` DATETIME NOT NULL , `Instrucoes` VARCHAR(45) NULL , PRIMARY KEY (`CodConsultas`) , CONSTRAINT `fk_Consultas_Pacientes1`

FOREIGN KEY (`CodPacientes` ) REFERENCES `DbClinicaMedica`.`Pacientes` (`CodPacientes` ) ON DELETE NO ACTION ON UPDATE NO ACTION, CONSTRAINT `fk_Consultas_Profissionais1` FOREIGN KEY (`CodProfissionais` ) REFERENCES `DbClinicaMedica`.`Profissionais` (`CodProfissionais` ) ON DELETE NO ACTION ON UPDATE NO ACTION) ENGINE = InnoDB; -- ------------------------------------------------------ Table `DbClinicaMedica`.`Remedios` -- ----------------------------------------------------CREATE TABLE IF NOT EXISTS `DbClinicaMedica`.`Remedios` ( `CodRemedios` INT NOT NULL , `Descricao` VARCHAR(45) NOT NULL , `Laboratorio` VARCHAR(45) NOT NULL , `Dosagem` VARCHAR(45) NOT NULL , PRIMARY KEY (`CodRemedios`) ) ENGINE = InnoDB; -- ------------------------------------------------------ Table `DbClinicaMedica`.`Receitas` -- ----------------------------------------------------CREATE TABLE IF NOT EXISTS `DbClinicaMedica`.`Receitas` ( `CodReceitas` INT NOT NULL , `CodConsultas` INT NOT NULL , `Descricao` VARCHAR(45) NULL , PRIMARY KEY (`CodReceitas`) , CONSTRAINT `fk_Receitas_Consultas1` FOREIGN KEY (`CodConsultas` ) REFERENCES `DbClinicaMedica`.`Consultas` (`CodConsultas` ) ON DELETE NO ACTION ON UPDATE NO ACTION)

ENGINE = InnoDB; -- ------------------------------------------------------ Table `DbClinicaMedica`.`ReceitasRemedios` -- ----------------------------------------------------CREATE TABLE IF NOT EXISTS `DbClinicaMedica`.`ReceitasRemedios` ( `CodReceitas` INT NOT NULL , `CodRemedios` INT NOT NULL , CONSTRAINT `fk_Receitas_has_Remedios_Receitas1` FOREIGN KEY (`CodReceitas` ) REFERENCES `DbClinicaMedica`.`Receitas` (`CodReceitas` ) ON DELETE NO ACTION ON UPDATE NO ACTION, CONSTRAINT `fk_Receitas_has_Remedios_Remedios1` FOREIGN KEY (`CodRemedios` ) REFERENCES `DbClinicaMedica`.`Remedios` (`CodRemedios` ) ON DELETE NO ACTION ON UPDATE NO ACTION) ENGINE = InnoDB; -- ------------------------------------------------------ Table `DbClinicaMedica`.`Clinicas_has_Locais` -- ----------------------------------------------------CREATE TABLE IF NOT EXISTS `DbClinicaMedica`.`Clinicas_has_Locais` ( `Clinicas_CodClinica` INT NOT NULL , `Locais_CodLocal` INT NOT NULL , `Locais_CodEspecialidade` INT NOT NULL , PRIMARY KEY (`Clinicas_CodClinica`, `Locais_CodLocal`, `Locais_CodEspecialidade`) , CONSTRAINT `fk_Clinicas_has_Locais_Clinicas1` FOREIGN KEY (`Clinicas_CodClinica` ) REFERENCES `DbClinicaMedica`.`Clinicas` (`CodClinica` ) ON DELETE NO ACTION ON UPDATE NO ACTION, CONSTRAINT `fk_Clinicas_has_Locais_Locais1`

FOREIGN KEY (`Locais_CodLocal` , `Locais_CodEspecialidade` ) REFERENCES `DbClinicaMedica`.`Locais` (`CodLocal` , `CodEspecialidade` ) ON DELETE NO ACTION ON UPDATE NO ACTION) ENGINE = InnoDB; -- ------------------------------------------------------ Table `DbClinicaMedica`.`ClinicasLocais` -- ----------------------------------------------------CREATE TABLE IF NOT EXISTS `DbClinicaMedica`.`ClinicasLocais` ( `CodClinica` INT NOT NULL , `CodLocal` INT NOT NULL , CONSTRAINT `fk_Clinicas_has_Locais1_Clinicas1` FOREIGN KEY (`CodClinica` ) REFERENCES `DbClinicaMedica`.`Clinicas` (`CodClinica` ) ON DELETE NO ACTION ON UPDATE NO ACTION, CONSTRAINT `fk_Clinicas_has_Locais1_Locais1` FOREIGN KEY (`CodLocal` ) REFERENCES `DbClinicaMedica`.`Locais` (`CodLocal` ) ON DELETE NO ACTION ON UPDATE NO ACTION) ENGINE = InnoDB; -- ------------------------------------------------------ Table `DbClinicaMedica`.`Dietas` -- ----------------------------------------------------CREATE TABLE IF NOT EXISTS `DbClinicaMedica`.`Dietas` ( `CodDietas` INT NOT NULL , `CodConsultas` INT NOT NULL , `NomeDieta` VARCHAR(45) NOT NULL , PRIMARY KEY (`CodDietas`) , CONSTRAINT `fk_Dietas_Consultas1` FOREIGN KEY (`CodConsultas` )

REFERENCES `DbClinicaMedica`.`Consultas` (`CodConsultas` ) ON DELETE NO ACTION ON UPDATE NO ACTION) ENGINE = InnoDB; -- ------------------------------------------------------ Table `DbClinicaMedica`.`Atestados` -- ----------------------------------------------------CREATE TABLE IF NOT EXISTS `DbClinicaMedica`.`Atestados` ( `CodAtestados` INT NOT NULL , `Consultas_CodConsultas` INT NOT NULL , `Descricao` MULTILINESTRING NULL , PRIMARY KEY (`CodAtestados`) , CONSTRAINT `fk_Atestados_Consultas1` FOREIGN KEY (`Consultas_CodConsultas` ) REFERENCES `DbClinicaMedica`.`Consultas` (`CodConsultas` ) ON DELETE NO ACTION ON UPDATE NO ACTION) ENGINE = InnoDB; -- ------------------------------------------------------ Table `DbClinicaMedica`.`ItensDieta` -- ----------------------------------------------------CREATE TABLE IF NOT EXISTS `DbClinicaMedica`.`ItensDieta` ( `CodItensDieta` INT NOT NULL , `Descricao` VARCHAR(45) NOT NULL , PRIMARY KEY (`CodItensDieta`) ) ENGINE = InnoDB; -- ------------------------------------------------------ Table `DbClinicaMedica`.`DietasItensDieta` -- ----------------------------------------------------CREATE TABLE IF NOT EXISTS `DbClinicaMedica`.`DietasItensDieta` ( `CodDietas` INT NOT NULL , `CodItensDieta` INT NOT NULL ,

CONSTRAINT `fk_Dietas_has_ItensDieta_Dietas1` FOREIGN KEY (`CodDietas` ) REFERENCES `DbClinicaMedica`.`Dietas` (`CodDietas` ) ON DELETE NO ACTION ON UPDATE NO ACTION, CONSTRAINT `fk_Dietas_has_ItensDieta_ItensDieta1` FOREIGN KEY (`CodItensDieta` ) REFERENCES `DbClinicaMedica`.`ItensDieta` (`CodItensDieta` ) ON DELETE NO ACTION ON UPDATE NO ACTION) ENGINE = InnoDB; SET SQL_MODE=@OLD_SQL_MODE; SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS; SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;

CONCLUSO / PARECER

Você também pode gostar