Вы находитесь на странице: 1из 17

UNIVERSIDAD CATÓLICA BOLIVIANA “SAN PABLO”

FACULTAD DE INGENIERÍA
CARRERA INGENIERÍA DE SISTEMAS
MATERIA BASE DE DATOS II

EXAMEN DATAMARTS

NOMBRE: Diego Nicolás La Faye Arana

Base de datos para centro médico:


Data mart para centro médico:
Analiza que tipo de medicamento es mas utilizado al momento de
tratar un tipo de enfermedad en los diferentes tipos de citas
(emergencia, cita de prioridad media, cita de prioridad baja)

El código de creacion y cargado de la base de datos:


-- MySQL Workbench Forward Engineering

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='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_D
ATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';

-- -----------------------------------------------------
-- Schema mydb
-- -----------------------------------------------------
-- -----------------------------------------------------
-- Schema centro
-- -----------------------------------------------------

-- -----------------------------------------------------
-- Schema centro
-- -----------------------------------------------------
CREATE SCHEMA IF NOT EXISTS `centro` DEFAULT CHARACTER SET latin1 ;
-- -----------------------------------------------------
-- Schema medico
-- -----------------------------------------------------
USE `centro` ;

-- -----------------------------------------------------
-- Table `centro`.`especialidad`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `centro`.`especialidad` (
`idespecialidad` INT(7) NOT NULL,
`tipo` VARCHAR(20) NOT NULL,
PRIMARY KEY (`idespecialidad`))
ENGINE = InnoDB
DEFAULT CHARACTER SET = latin1;

-- -----------------------------------------------------
-- Table `centro`.`farmacia`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `centro`.`farmacia` (
`id_farmacia` INT(7) NOT NULL AUTO_INCREMENT,
`farmacia` VARCHAR(30) NOT NULL,
`Nombre` VARCHAR(30) NOT NULL,
PRIMARY KEY (`id_farmacia`))
ENGINE = InnoDB
DEFAULT CHARACTER SET = latin1;

-- -----------------------------------------------------
-- Table `centro`.`tipo_medicamento`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `centro`.`tipo_medicamento` (
`idtipo_medicamento` INT NOT NULL,
`tipo` VARCHAR(45) NOT NULL,
PRIMARY KEY (`idtipo_medicamento`))
ENGINE = InnoDB;

-- -----------------------------------------------------
-- Table `centro`.`medicamento`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `centro`.`medicamento` (
`id_medi` INT(7) NOT NULL AUTO_INCREMENT,
`medicamento` VARCHAR(30) NOT NULL,
`id_farmacia` INT(7) NOT NULL,
`costo` DOUBLE NOT NULL,
`fec_cad` DATE NOT NULL,
`cantidad` INT NOT NULL,
`tipo_medicamento_idtipo_medicamento` INT NOT NULL,
PRIMARY KEY (`id_medi`),
CONSTRAINT `medicamento_ibfk_1`
FOREIGN KEY (`id_farmacia`)
REFERENCES `centro`.`farmacia` (`id_farmacia`),
CONSTRAINT `fk_medicamento_tipo_medicamento1`
FOREIGN KEY (`tipo_medicamento_idtipo_medicamento`)
REFERENCES `centro`.`tipo_medicamento` (`idtipo_medicamento`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB
DEFAULT CHARACTER SET = latin1;
CREATE INDEX `id_farmacia` ON `centro`.`medicamento` (`id_farmacia` ASC) ;

CREATE INDEX `fk_medicamento_tipo_medicamento1_idx` ON `centro`.`medicamento`


(`tipo_medicamento_idtipo_medicamento` ASC) ;

-- -----------------------------------------------------
-- Table `centro`.`medico`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `centro`.`medico` (
`idmedico` INT NOT NULL AUTO_INCREMENT,
`nombre` VARCHAR(10) NOT NULL,
`apellido` VARCHAR(10) NOT NULL,
PRIMARY KEY (`idmedico`))
ENGINE = InnoDB
DEFAULT CHARACTER SET = latin1;

-- -----------------------------------------------------
-- Table `centro`.`paciente`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `centro`.`paciente` (
`co_paciente` INT(7) NOT NULL AUTO_INCREMENT,
`nombre` VARCHAR(40) NOT NULL,
`apellido` VARCHAR(40) NOT NULL,
`edad` INT(3) NOT NULL,
PRIMARY KEY (`co_paciente`))
ENGINE = InnoDB
DEFAULT CHARACTER SET = latin1;

-- -----------------------------------------------------
-- Table `centro`.`tipo_cita`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `centro`.`tipo_cita` (
`idtipo_cita` INT NOT NULL,
`descripcion` VARCHAR(45) NOT NULL,
PRIMARY KEY (`idtipo_cita`))
ENGINE = InnoDB;

-- -----------------------------------------------------
-- Table `centro`.`tipo_enfermedad`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `centro`.`tipo_enfermedad` (
`idtipo_enfermedad` INT NOT NULL,
`tipo` VARCHAR(45) NOT NULL,
PRIMARY KEY (`idtipo_enfermedad`))
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `centro`.`enfermedad`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `centro`.`enfermedad` (
`idenfermedad` INT NOT NULL,
`descripcion` VARCHAR(45) NOT NULL,
`tipo_enfermedad_idtipo_enfermedad` INT NOT NULL,
PRIMARY KEY (`idenfermedad`),
CONSTRAINT `fk_enfermedad_tipo_enfermedad1`
FOREIGN KEY (`tipo_enfermedad_idtipo_enfermedad`)
REFERENCES `centro`.`tipo_enfermedad` (`idtipo_enfermedad`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;

CREATE INDEX `fk_enfermedad_tipo_enfermedad1_idx` ON `centro`.`enfermedad`


(`tipo_enfermedad_idtipo_enfermedad` ASC) ;

-- -----------------------------------------------------
-- Table `centro`.`paciente_has_enfermedad`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `centro`.`paciente_has_enfermedad` (
`paciente_co_paciente` INT(7) NOT NULL,
`enfermedad_idenfermedad` INT NOT NULL,
PRIMARY KEY (`paciente_co_paciente`, `enfermedad_idenfermedad`),
CONSTRAINT `fk_paciente_has_enfermedad_paciente1`
FOREIGN KEY (`paciente_co_paciente`)
REFERENCES `centro`.`paciente` (`co_paciente`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_paciente_has_enfermedad_enfermedad1`
FOREIGN KEY (`enfermedad_idenfermedad`)
REFERENCES `centro`.`enfermedad` (`idenfermedad`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB
DEFAULT CHARACTER SET = latin1;

CREATE INDEX `fk_paciente_has_enfermedad_enfermedad1_idx` ON


`centro`.`paciente_has_enfermedad` (`enfermedad_idenfermedad` ASC) ;

CREATE INDEX `fk_paciente_has_enfermedad_paciente1_idx` ON


`centro`.`paciente_has_enfermedad` (`paciente_co_paciente` ASC) ;

-- -----------------------------------------------------
-- Table `centro`.`tipo_consultorio`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `centro`.`tipo_consultorio` (
`idtipo_consultorio` INT NOT NULL,
`tipo` VARCHAR(45) NOT NULL,
PRIMARY KEY (`idtipo_consultorio`))
ENGINE = InnoDB;

-- -----------------------------------------------------
-- Table `centro`.`Consultorio`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `centro`.`Consultorio` (
`idConsultorio` INT NOT NULL,
`lugar` VARCHAR(45) NOT NULL,
`tipo_consultorio_idtipo_consultorio` INT NOT NULL,
PRIMARY KEY (`idConsultorio`),
CONSTRAINT `fk_Consultorio_tipo_consultorio1`
FOREIGN KEY (`tipo_consultorio_idtipo_consultorio`)
REFERENCES `centro`.`tipo_consultorio` (`idtipo_consultorio`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;

CREATE INDEX `fk_Consultorio_tipo_consultorio1_idx` ON `centro`.`Consultorio`


(`tipo_consultorio_idtipo_consultorio` ASC) ;

-- -----------------------------------------------------
-- Table `centro`.`cita`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `centro`.`cita` (
`idcita` INT NOT NULL,
`Fecha` DATE NOT NULL,
`tipo_cita_idtipo_cita` INT NOT NULL,
`detalle` VARCHAR(45) NULL,
`paciente_has_enfermedad_paciente_co_paciente` INT(7) NOT NULL,
`paciente_has_enfermedad_enfermedad_idenfermedad` INT NOT NULL,
`medico_idmedico` INT NOT NULL,
`Consultorio_idConsultorio` INT NOT NULL,
PRIMARY KEY (`idcita`),
CONSTRAINT `fk_cita_tipo_cita1`
FOREIGN KEY (`tipo_cita_idtipo_cita`)
REFERENCES `centro`.`tipo_cita` (`idtipo_cita`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_cita_paciente_has_enfermedad1`
FOREIGN KEY (`paciente_has_enfermedad_paciente_co_paciente` ,
`paciente_has_enfermedad_enfermedad_idenfermedad`)
REFERENCES `centro`.`paciente_has_enfermedad` (`paciente_co_paciente` ,
`enfermedad_idenfermedad`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_cita_medico1`
FOREIGN KEY (`medico_idmedico`)
REFERENCES `centro`.`medico` (`idmedico`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_cita_Consultorio1`
FOREIGN KEY (`Consultorio_idConsultorio`)
REFERENCES `centro`.`Consultorio` (`idConsultorio`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;

CREATE INDEX `fk_cita_tipo_cita1_idx` ON `centro`.`cita` (`tipo_cita_idtipo_cita` ASC) ;

CREATE INDEX `fk_cita_paciente_has_enfermedad1_idx` ON `centro`.`cita`


(`paciente_has_enfermedad_paciente_co_paciente` ASC,
`paciente_has_enfermedad_enfermedad_idenfermedad` ASC) ;

CREATE INDEX `fk_cita_medico1_idx` ON `centro`.`cita` (`medico_idmedico` ASC) ;

CREATE INDEX `fk_cita_Consultorio1_idx` ON `centro`.`cita` (`Consultorio_idConsultorio` ASC) ;

-- -----------------------------------------------------
-- Table `centro`.`tipo_laboratorio`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `centro`.`tipo_laboratorio` (
`idtipo_laboratorio` INT NOT NULL,
`tipo` VARCHAR(45) NOT NULL,
PRIMARY KEY (`idtipo_laboratorio`))
ENGINE = InnoDB;

-- -----------------------------------------------------
-- Table `centro`.`laboratorio`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `centro`.`laboratorio` (
`idlaboratorio` INT NOT NULL,
`descripcion` VARCHAR(45) NOT NULL,
`tipo_laboratorio_idtipo_laboratorio` INT NOT NULL,
PRIMARY KEY (`idlaboratorio`),
CONSTRAINT `fk_laboratorio_tipo_laboratorio1`
FOREIGN KEY (`tipo_laboratorio_idtipo_laboratorio`)
REFERENCES `centro`.`tipo_laboratorio` (`idtipo_laboratorio`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;

CREATE INDEX `fk_laboratorio_tipo_laboratorio1_idx` ON `centro`.`laboratorio`


(`tipo_laboratorio_idtipo_laboratorio` ASC) ;

-- -----------------------------------------------------
-- Table `centro`.`receta`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `centro`.`receta` (
`idreceta` INT NOT NULL,
`fecha` DATE NOT NULL,
`cita_idcita` INT NOT NULL,
`detalle` VARCHAR(45) NOT NULL,
PRIMARY KEY (`idreceta`),
CONSTRAINT `fk_receta_cita1`
FOREIGN KEY (`cita_idcita`)
REFERENCES `centro`.`cita` (`idcita`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;

CREATE INDEX `fk_receta_cita1_idx` ON `centro`.`receta` (`cita_idcita` ASC) ;

-- -----------------------------------------------------
-- Table `centro`.`tipo_pago`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `centro`.`tipo_pago` (
`idtipo_pago` INT NOT NULL,
`descripcion` VARCHAR(45) NOT NULL,
PRIMARY KEY (`idtipo_pago`))
ENGINE = InnoDB;

-- -----------------------------------------------------
-- Table `centro`.`pago`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `centro`.`pago` (
`idpago` INT NOT NULL,
`monto` DOUBLE NOT NULL,
`fecha` DATE NOT NULL,
`cita_idcita` INT NOT NULL,
`tipo_pago_idtipo_pago` INT NOT NULL,
PRIMARY KEY (`idpago`),
CONSTRAINT `fk_pago_cita1`
FOREIGN KEY (`cita_idcita`)
REFERENCES `centro`.`cita` (`idcita`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_pago_tipo_pago1`
FOREIGN KEY (`tipo_pago_idtipo_pago`)
REFERENCES `centro`.`tipo_pago` (`idtipo_pago`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;

CREATE INDEX `fk_pago_cita1_idx` ON `centro`.`pago` (`cita_idcita` ASC) ;

CREATE INDEX `fk_pago_tipo_pago1_idx` ON `centro`.`pago` (`tipo_pago_idtipo_pago` ASC) ;


-- -----------------------------------------------------
-- Table `centro`.`tiempo`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `centro`.`tiempo` (
`idtiempo` INT NOT NULL,
`dia` INT NOT NULL,
`semana` INT NOT NULL,
`mes` INT NOT NULL,
`año` INT NOT NULL,
`Fecha` DATE NOT NULL,
PRIMARY KEY (`idtiempo`))
ENGINE = InnoDB;

-- -----------------------------------------------------
-- Table `centro`.`medico_has_especialidad`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `centro`.`medico_has_especialidad` (
`medico_idmedico` INT NOT NULL,
`especialidad_idespecialidad` INT(7) NOT NULL,
`descripcion` VARCHAR(45) NULL,
PRIMARY KEY (`medico_idmedico`, `especialidad_idespecialidad`),
CONSTRAINT `fk_medico_has_especialidad_medico1`
FOREIGN KEY (`medico_idmedico`)
REFERENCES `centro`.`medico` (`idmedico`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_medico_has_especialidad_especialidad1`
FOREIGN KEY (`especialidad_idespecialidad`)
REFERENCES `centro`.`especialidad` (`idespecialidad`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB
DEFAULT CHARACTER SET = latin1;

CREATE INDEX `fk_medico_has_especialidad_especialidad1_idx` ON


`centro`.`medico_has_especialidad` (`especialidad_idespecialidad` ASC) ;

CREATE INDEX `fk_medico_has_especialidad_medico1_idx` ON


`centro`.`medico_has_especialidad` (`medico_idmedico` ASC) ;

-- -----------------------------------------------------
-- Table `centro`.`Examen`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `centro`.`Examen` (
`idExamen` INT NOT NULL,
`Fecha` VARCHAR(45) NULL,
`cita_idcita` INT NOT NULL,
`laboratorio_idlaboratorio` INT NOT NULL,
PRIMARY KEY (`idExamen`, `cita_idcita`, `laboratorio_idlaboratorio`),
CONSTRAINT `fk_Examen_cita1`
FOREIGN KEY (`cita_idcita`)
REFERENCES `centro`.`cita` (`idcita`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_Examen_laboratorio1`
FOREIGN KEY (`laboratorio_idlaboratorio`)
REFERENCES `centro`.`laboratorio` (`idlaboratorio`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;

CREATE INDEX `fk_Examen_cita1_idx` ON `centro`.`Examen` (`cita_idcita` ASC) ;

CREATE INDEX `fk_Examen_laboratorio1_idx` ON `centro`.`Examen`


(`laboratorio_idlaboratorio` ASC) ;

-- -----------------------------------------------------
-- Table `centro`.`d_tiempo`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `centro`.`d_tiempo` (
`idd_tiempo` INT NOT NULL,
`dia` VARCHAR(45) NOT NULL,
`semana` VARCHAR(45) NOT NULL,
`mes` VARCHAR(45) NOT NULL,
`año` VARCHAR(45) NOT NULL,
`fecha` DATE NOT NULL,
PRIMARY KEY (`idd_tiempo`))
ENGINE = InnoDB;

-- -----------------------------------------------------
-- Table `centro`.`d_tipo_enfermedad`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `centro`.`d_tipo_enfermedad` (
`idd_tipo_enfermedad` INT NOT NULL,
`tipo` VARCHAR(45) NOT NULL,
PRIMARY KEY (`idd_tipo_enfermedad`))
ENGINE = InnoDB;

-- -----------------------------------------------------
-- Table `centro`.`d_tipo_medicamento`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `centro`.`d_tipo_medicamento` (
`idd_tipo_medicamento` INT NOT NULL,
`tipo` VARCHAR(45) NOT NULL,
PRIMARY KEY (`idd_tipo_medicamento`))
ENGINE = InnoDB;

-- -----------------------------------------------------
-- Table `centro`.`d_tipo_cita`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `centro`.`d_tipo_cita` (
`idd_tipo_cita` INT NOT NULL,
`descripcion` VARCHAR(45) NOT NULL,
PRIMARY KEY (`idd_tipo_cita`))
ENGINE = InnoDB;

-- -----------------------------------------------------
-- Table `centro`.`h_medicamentos_tipo_enfermedad`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `centro`.`h_medicamentos_tipo_enfermedad` (
`d_tiempo_idd_tiempo` INT NOT NULL,
`d_tipo_enfermedad_idd_tipo_enfermedad` INT NOT NULL,
`d_tipo_medicamento_idd_tipo_medicamento` INT NOT NULL,
`d_tipo_cita_idd_tipo_cita` INT NOT NULL,
`cantidad` INT NOT NULL,
CONSTRAINT `fk_h_medicamentos_tipo_enfermedad_d_tiempo1`
FOREIGN KEY (`d_tiempo_idd_tiempo`)
REFERENCES `centro`.`d_tiempo` (`idd_tiempo`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_h_medicamentos_tipo_enfermedad_d_tipo_enfermedad1`
FOREIGN KEY (`d_tipo_enfermedad_idd_tipo_enfermedad`)
REFERENCES `centro`.`d_tipo_enfermedad` (`idd_tipo_enfermedad`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_h_medicamentos_tipo_enfermedad_d_tipo_medicamento1`
FOREIGN KEY (`d_tipo_medicamento_idd_tipo_medicamento`)
REFERENCES `centro`.`d_tipo_medicamento` (`idd_tipo_medicamento`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_h_medicamentos_tipo_enfermedad_d_tipo_cita1`
FOREIGN KEY (`d_tipo_cita_idd_tipo_cita`)
REFERENCES `centro`.`d_tipo_cita` (`idd_tipo_cita`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;

CREATE INDEX `fk_h_medicamentos_tipo_enfermedad_d_tiempo1_idx` ON


`centro`.`h_medicamentos_tipo_enfermedad` (`d_tiempo_idd_tiempo` ASC) ;

CREATE INDEX `fk_h_medicamentos_tipo_enfermedad_d_tipo_enfermedad1_idx` ON


`centro`.`h_medicamentos_tipo_enfermedad` (`d_tipo_enfermedad_idd_tipo_enfermedad`
ASC) ;

CREATE INDEX `fk_h_medicamentos_tipo_enfermedad_d_tipo_medicamento1_idx` ON


`centro`.`h_medicamentos_tipo_enfermedad` (`d_tipo_medicamento_idd_tipo_medicamento`
ASC) ;

CREATE INDEX `fk_h_medicamentos_tipo_enfermedad_d_tipo_cita1_idx` ON


`centro`.`h_medicamentos_tipo_enfermedad` (`d_tipo_cita_idd_tipo_cita` ASC) ;

-- -----------------------------------------------------
-- Table `centro`.`medicamento_has_receta`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `centro`.`medicamento_has_receta` (
`medicamento_id_medi` INT(7) NOT NULL,
`receta_idreceta` INT NOT NULL,
`Cantidad` INT NOT NULL,
`fecha` DATE NOT NULL,
PRIMARY KEY (`medicamento_id_medi`, `receta_idreceta`),
CONSTRAINT `fk_medicamento_has_receta_medicamento1`
FOREIGN KEY (`medicamento_id_medi`)
REFERENCES `centro`.`medicamento` (`id_medi`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_medicamento_has_receta_receta1`
FOREIGN KEY (`receta_idreceta`)
REFERENCES `centro`.`receta` (`idreceta`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB
DEFAULT CHARACTER SET = latin1;

CREATE INDEX `fk_medicamento_has_receta_receta1_idx` ON


`centro`.`medicamento_has_receta` (`receta_idreceta` ASC) ;

CREATE INDEX `fk_medicamento_has_receta_medicamento1_idx` ON


`centro`.`medicamento_has_receta` (`medicamento_id_medi` ASC) ;

SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;

INSERT INTO consultorio(idConsultorio,lugar,tipo_consultorio_idtipo_consultorio)


values
(1,"Lugar A",1),
(2,"Lugar B",2),
(3,"Lugar C",3);
INSERT INTO tipo_consultorio(idtipo_consultorio,tipo)
VALUES (1,"Consultorio Normal"),
(2,"Cirugia"),
(3,"Consultorio de Emergencia");
select * from tipo_consultorio;

INSERT INTO tipo_medicamento(idtipo_medicamento,tipo)


VALUES (1,"Analgésicos"),
(2,"Antiácido"),
(3,"Antialérgico"),
(4,"Antiinflamatorio"),
(5,"Antiinfeccioso");
Select * from tipo_medicamento;

INSERT INTO tipo_enfermedad(idtipo_enfermedad,tipo)


VALUES (1,"Enfermedad digestiva"),
(2,"Enfermedad Cardiovascular"),
(3,"Enfermedad cutánea"),
(4,"Enfermedad de la sangre"),
(5,"Enfermedad endocrina"),
(6,"Enfermedad ocular");
select * from tipo_enfermedad;

INSERT INTO tipo_cita(idtipo_cita,descripcion)


VALUES (1,"Emergencia"),
(2,"Prioridad media"),
(3,"Prioridad baja"),
(4,"Programada");
select * from tipo_cita;

INSERT INTO especialidad(idespecialidad,tipo)


VALUES (1,"Cardiología"),
(2,"Endocrinologia"),
(3,"Oftalmología"),
(4,"Gastroenterologia"),
(5,"Dermatologia");
select * from especialidad;

INSERT INTO tipo_laboratorio(idtipo_laboratorio,tipo)


VALUES (1,"Radiografia"),
(2,"Hemograma"),
(3,"Ecografia");
select * from tipo_laboratorio;

INSERT INTO tipo_pago(idtipo_pago,descripcion)


VALUES (1,"Credito"),
(2,"Depósito"),
(3,"Pago Directo");
select * from tipo_pago;

INSERT INTO farmacia(id_farmacia, farmacia, nombre)


values(1,"farmacia 1", "Farmcia Chavez "),
(2,"farmacia 2", "Farmacia Gloria");
select * from farmacia;

Insert into paciente(co_paciente, nombre,apellido,edad)


values(1,"Juan","Perez",25),
(2,"Lola","Lazaro",18),
(3,"Pepito","De la fuente",40),
(4,"Jose","Smith",35),
(5,"Jessica","Paredes",22);
select * from paciente;

insert into enfermedad(idenfermedad,descripcion,tipo_enfermedad_idtipo_enfermedad)


values(1,"Gastritis",1),
(2,"Diabetes",5),
(3,"Hipoglucemia",5),
(4,"Arritmia",2),
(5,"Shock",2),
(6,"Leucemia",4),
(7,"Anemia",4),
(8,"Acné",3),
(9,"Herpes",3);
select * from enfermedad;

insert into
medicamento(id_medi,medicamento,id_farmacia,costo,fec_cad,tipo_medicamento_idtipo_m
edicamento,cantidad)
values(1,"Paracetamol",1,2.00,'2020-11-10',1,50),
(2,"ibuprofeno",2,4.00,'2021-12-10',4,60),
(3,"Digestan",1,1.50,'2020-05-15',2,80),
(4,"Alergin",2,0.50,'2021-04-20',3,100);
select * from medicamento;

insert into
paciente_has_enfermedad(paciente_co_paciente,enfermedad_idenfermedad,idPacienteEnfer
medad)
values(1,3,1),
(1,8,2),
(2,6,3),
(3,7,4),
(4,2,5);
select * from paciente_has_enfermedad;

insert into medico(idmedico,nombre,apellido)


values(1,"Franz","Lopez"),
(2,"Nicolas","Aranibar"),
(3,"Valentina","Uriarte"),
(4,"Jaime","Oropeza");
select * from medico;

insert into
medico_has_especialidad(medico_idmedico,especialidad_idespecialidad,descripcion)
values(1,1,"Especialidad 1"),
(1,3,"Especialidad 2"),
(2,4,"Especialidad 1"),
(3,5,"Especialidad 1"),
(4,1,"Especialidad 1");

insert into
cita(idcita,fecha,medico_idmedico,tipo_cita_idtipo_cita,detalle,Consultorio_idConsultorio,paci
ente_has_enfermedad_idPacienteEnfermedad)
values
(1,'2020-04-05',1,2,"Atencion del paciente",3,1),
(2,'2020-04-03',2,2,"Atencion del paciente",1,2),
(3,'2020-03-02',3,2,"Atencion del paciente",3,3),
(4,'2020-03-03',4,2,"Atencion del paciente",1,4),
(5,'2020-04-04',1,2,"Atencion del paciente",1,5);
;
select * from cita;

insert into receta(idreceta,fecha,cita_idcita,detalle)


values(1,'2020-04-05',1,"Comprar de inmediato"),
(2,'2020-04-04',2,"Comprar mañana"),
(3,'2020-03-02',3,"Comprar hoy mismo"),
(4,'2020-03-04',4,"Comprar lo mas pronto posible"),
(5,'2020-04-05',5,"No requirio receta");
select * from receta;

insert into
medicamento_has_receta(medicamento_id_medi,receta_idreceta,cantidad,fecha,idmedicame
nto_has_receta)
values
(1,1,4,'2020-04-05',1),
(2,1,5,'2020-04-06',2),
(3,2,10,'2020-04-05',3),
(1,2,5,'2020-04-05',4),
(3,3,6,'2020-03-02',5),
(5,4,12,'2020-03-04',6);

insert into tiempo(idtiempo,dia,semana,mes,año,fecha)


values
(1,2,1,3,2020,'2020-03-02'),
(2,3,1,3,2020,'2020-03-03'),
(3,3,1,4,2020,'2020-04-03'),
(4,4,1,4,2020,'2020-04-04'),
(5,5,1,4,2020,'2020-04-05');

Creacion del datamart y cargado de datos:


CREATE TABLE d_tipo_enfermedad(
idd_tipo_enfermedad int not null primary key,
tipo varchar(45) not null
);

CREATE TABLE d_tipo_medicamento(


idd_tipo_medicamento int not null primary key,
tipo varchar(45) not null
);

CREATE TABLE d_tipo_cita(


idd_tipo_cita int not null primary key,
descripcion varchar(45) not null
);

CREATE TABLE d_tiempo(


idd_tiempo int not null primary key,
dia int not null,
semana int not null,
mes int not null,
año int not null,
fecha DATE not null
);

CREATE TABLE h_tipo_medicamento_mas_usado(


idd_tipo_enfermedad int,
idd_tipo_medicamento int,
idd_tipo_cita int,
idd_tiempo int,
cantidad int,
foreign key(idd_tipo_enfermedad) references d_tipo_enfermedad(idd_tipo_enfermedad),
foreign key(idd_tipo_medicamento) references d_tipo_medicamento(idd_tipo_medicamento),
foreign key(idd_tipo_cita) references d_tipo_cita(idd_tipo_cita),
foreign key(idd_tiempo) references d_tiempo(idd_tiempo)
);

INSERT INTO d_tipo_medicamento


select a.idtipo_medicamento, a.tipo
from tipo_medicamento a;

INSERT INTO d_tipo_cita


select a.idtipo_cita,a.descripcion
from tipo_cita a;

INSERT into d_tipo_enfermedad


select a.idtipo_enfermedad, a.tipo
from tipo_enfermedad a;

INSERT INTO d_tiempo


select a.idtiempo,a.dia,a.semana,a.mes,a.año,a.fecha
from tiempo a;

insert into h_tipo_medicamento_mas_usado


select a.idtipo_medicamento,b.idtipo_enfermedad,c.idtipo_cita, count(*)
from tipo_medicamento a,tipo_enfermedad b, tipo_cita c,medicamento
d,medicamento_has_receta e,
receta f,cita g,enfermedad h,paciente_has_enfermedad i
where a.idtipo_medicamento=d.tipo_medicamento_idtipo_medicamento
and d.id_medi=e.medicamento_id_medi
and e.receta_idreceta=f.idreceta
and f.cita_idcita=g.idcita
and c.idtipo_cita=g.tipo_cita_idtipo_cita
and b.idtipo_enfermedad=h.tipo_enfermedad_idtipo_enfermedad
and h.idenfermedad=i.enfermedad_idenfermedad
and i.paciente_co_paciente=g.paciente_has_enfermedad_paciente_co_paciente
group by a.idtipo_medicamento,b.idtipo_enfermedad,c.idtipo_cita;

insert into h_tipo_medicamento_mas_usado


select a.idtipo_medicamento,b.idtipo_enfermedad,c.idtipo_cita,j.idtiempo, count(*)
from tipo_medicamento a,tipo_enfermedad b, tipo_cita c,medicamento
d,medicamento_has_receta e,
receta f,cita g,enfermedad h,paciente_has_enfermedad i,tiempo j
where a.idtipo_medicamento=d.tipo_medicamento_idtipo_medicamento
and d.id_medi=e.medicamento_id_medi
and e.receta_idreceta=f.idreceta
and f.cita_idcita=g.idcita
and c.idtipo_cita=g.tipo_cita_idtipo_cita
and b.idtipo_enfermedad=h.tipo_enfermedad_idtipo_enfermedad
and h.idenfermedad=i.enfermedad_idenfermedad
and i.idPacienteEnfermedad=g.paciente_has_enfermedad_idPacienteEnfermedad
and j.fecha=g.fecha
group by a.idtipo_medicamento,b.idtipo_enfermedad,c.idtipo_cita,j.idtiempo;

Вам также может понравиться