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

CASO ESTUDIO:

GESTION DE REMUNERACION EN UNA EMPRESA DE TRANSPORTES

MODELO RELACIONAL:

CODIGO:
-------------------------------------------------------- Table `mydb`.`TRABAJA`
-- ----------------------------------------------------CREATE TABLE IF NOT EXISTS `mydb`.`TRABAJA` (
`codigo` VARCHAR(45) NOT NULL ,
`area` INT NOT NULL ,
`cod_empleado` INT NOT NULL ,
`funcion` VARCHAR(45) NOT NULL ,
PRIMARY KEY (`codigo`) )
ENGINE = InnoDB;
-- ------------------------------------------------------ Table `mydb`.`CONCEPTO`
-- ----------------------------------------------------CREATE TABLE IF NOT EXISTS `mydb`.`CONCEPTO` (
`codigo` VARCHAR(45) NOT NULL ,
`descripcion` VARCHAR(60) NULL ,
PRIMARY KEY (`codigo`) )
ENGINE = InnoDB;
-- ------------------------------------------------------ Table `mydb`.`INGRESO`
-- ----------------------------------------------------CREATE TABLE IF NOT EXISTS `mydb`.`INGRESO` (
`codigo` INT NOT NULL ,
`cod_empleado` INT NOT NULL ,
`ejercicio` FLOAT NOT NULL ,
`mes` INT NOT NULL ,

`nro_orden` INT NOT NULL ,


`nro_linea` INT NOT NULL ,
`concepto` VARCHAR(45) NOT NULL ,
`base` FLOAT NOT NULL ,
`porcentaje` FLOAT NOT NULL ,
PRIMARY KEY (`codigo`) ,
CONSTRAINT `fk_INGRESO_CONCEPTO1`
FOREIGN KEY (`concepto` )
REFERENCES `mydb`.`CONCEPTO` (`codigo` )
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
CREATE INDEX `fk_INGRESO_CONCEPTO1_idx` ON `mydb`.`INGRESO` (`concepto`
ASC) ;
-- ------------------------------------------------------ Table `mydb`.`DESCUENTO`
-- ----------------------------------------------------CREATE TABLE IF NOT EXISTS `mydb`.`DESCUENTO` (
`codigo` INT NOT NULL ,
`cod_empleado` INT NOT NULL ,
`ejercicio` FLOAT NOT NULL ,
`mes` INT NOT NULL ,
`nro_orden` INT NOT NULL ,
`nro_linea` INT NOT NULL ,
`base` FLOAT NULL ,
`porcentaje` FLOAT NULL ,
PRIMARY KEY (`codigo`) )
ENGINE = InnoDB;

-- ------------------------------------------------------ Table `mydb`.`IMPUTA`


-- ----------------------------------------------------CREATE TABLE IF NOT EXISTS `mydb`.`IMPUTA` (
`cod_empleado` INT NOT NULL ,
`ejercicio` FLOAT NOT NULL ,
`mes` INT NOT NULL ,
`nro_orden` INT NOT NULL ,
`nro_linea` INT NOT NULL ,
`costo` INT NOT NULL ,
PRIMARY KEY (`cod_empleado`) )
ENGINE = InnoDB;
-- ------------------------------------------------------ Table `mydb`.`LINEA`
-- ----------------------------------------------------CREATE TABLE IF NOT EXISTS `mydb`.`LINEA` (
`codigo` INT NOT NULL ,
`cod_empleado` INT NOT NULL ,
`ejercicio` FLOAT NOT NULL ,
`mes` INT NOT NULL ,
`nro_orden` INT NOT NULL ,
`nro_linea` INT NOT NULL ,
`cantidad` INT NOT NULL ,
`tipo` VARCHAR(45) NOT NULL ,
PRIMARY KEY (`codigo`) ,
CONSTRAINT `FK_LINEA_INGRESO1`
FOREIGN KEY (`cod_empleado` )
REFERENCES `mydb`.`INGRESO` (`cod_empleado` )

CONSTRAINT `FK_LINEA_INGRESO2`
FOREIGN KEY (`ejercicio` )
REFERENCES `mydb`.`INGRESO` (`ejercicio` )
CONSTRAINT `FK_LINEA_INGRESO3`
FOREIGN KEY (`mes` )
REFERENCES `mydb`.`INGRESO` (`mes` )
CONSTRAINT `FK_LINEA_INGRESO4`
FOREIGN KEY (`nro_orden` )
REFERENCES `mydb`.`INGRESO` (`nro_orden` )
CONSTRAINT `FK_LINEA_INGRESO5`
FOREIGN KEY (`nro_linea` )
REFERENCES `mydb`.`INGRESO` (`nro_linea` )
CONSTRAINT `FK_LINEA_DESCUENTO`
FOREIGN KEY (`cod_empleado` )
REFERENCES `mydb`.`DESCUENTO` (`cod_empleado` )
CONSTRAINT `FK_LINEA_DESCUENTO1`
FOREIGN KEY (`ejercicio` )
REFERENCES `mydb`.`DESCUENTO` (`ejercicio` )
CONSTRAINT `FK_LINEA_DESCUENTO2`
FOREIGN KEY (`mes` )
REFERENCES `mydb`.`DESCUENTO` (`mes` )
CONSTRAINT `FK_LINEA_DESCUENTO3`
FOREIGN KEY (`nro_orden` )
REFERENCES `mydb`.`DESCUENTO` (`nro_orden` )
CONSTRAINT `FK_LINEA_DESCUENTO4`
FOREIGN KEY (`nro_linea` )
REFERENCES `mydb`.`DESCUENTO` (`nro_linea` )
CONSTRAINT `FK_IMPUTA_LINEA`

FOREIGN KEY (`cod_empleado` )


REFERENCES `mydb`.`IMPUTA` (`cod_empleado` )
CONSTRAINT `FK_IMPUTA_LINEA1`
FOREIGN KEY (`ejercicio` )
REFERENCES `mydb`.`IMPUTA` (`ejercicio` )
CONSTRAINT `FK_IMPUTA_LINEA2`
FOREIGN KEY (`mes` )
REFERENCES `mydb`.`IMPUTA` (`mes` )
CONSTRAINT `FK_IMPUTA_LINEA3`
FOREIGN KEY (`nro_orden` )
REFERENCES `mydb`.`IMPUTA` (`nro_orden` )
CONSTRAINT `FK_IMPUTA_LINEA4`
FOREIGN KEY (`nro_linea` )
REFERENCES `mydb`.`IMPUTA` (`nro_linea` )
ENGINE = InnoDB;

CREATE INDEX `FK_LINEA_INGRESO2_idx` ON `mydb`.`LINEA` (`ejercicio` ASC) ;

CREATE INDEX `FK_LINEA_INGRESO3_idx` ON `mydb`.`LINEA` (`mes` ASC) ;

CREATE INDEX `FK_LINEA_INGRESO4_idx` ON `mydb`.`LINEA` (`nro_orden` ASC) ;

CREATE INDEX `FK_LINEA_INGRESO5_idx` ON `mydb`.`LINEA` (`nro_linea` ASC) ;

CREATE INDEX `FK_LINEA_DESCUENTO_idx` ON `mydb`.`LINEA` (`cod_empleado`


ASC) ;
-- ------------------------------------------------------ Table `mydb`.`BOLETA`

-- ----------------------------------------------------CREATE TABLE IF NOT EXISTS `mydb`.`BOLETA` (


`codigo` INT NOT NULL ,
`cod_empleado` INT NOT NULL ,
`ejercicio` FLOAT NOT NULL ,
`nro_orden` INT NOT NULL ,
`mes` INT NOT NULL ,
`ingreso` FLOAT NOT NULL ,
`descuento` FLOAT NOT NULL ,
PRIMARY KEY (`codigo`) ,
CONSTRAINT `fk_linea_boleta`
FOREIGN KEY (`cod_empleado` )
REFERENCES `mydb`.`LINEA` (`cod_empleado` )
CONSTRAINT `fk_linea_boleta1`
FOREIGN KEY (`ejercicio` )
REFERENCES `mydb`.`LINEA` (`ejercicio` )
CONSTRAINT `fk_linea_boleta2`
FOREIGN KEY (`nro_orden` )
REFERENCES `mydb`.`LINEA` (`nro_orden` )
CONSTRAINT `fk_linea_boleta3`
FOREIGN KEY (`mes` )
REFERENCES `mydb`.`LINEA` (`mes` )
ENGINE = InnoDB;

CREATE INDEX `fk_linea_boleta1_idx` ON `mydb`.`BOLETA` (`ejercicio` ASC) ;

CREATE INDEX `fk_linea_boleta2_idx` ON `mydb`.`BOLETA` (`nro_orden` ASC) ;

CREATE INDEX `fk_linea_boleta3_idx` ON `mydb`.`BOLETA` (`mes` ASC) ;

-- ------------------------------------------------------ Table `mydb`.`EMPLEADO`


-- ----------------------------------------------------CREATE TABLE IF NOT EXISTS `mydb`.`EMPLEADO` (
`cod_empleado` INT NOT NULL ,
`dni` VARCHAR(8) NOT NULL ,
`nombre` VARCHAR(45) NOT NULL ,
`nro_hijos` INT NOT NULL ,
`retencion` INT NOT NULL ,
`banco` VARCHAR(45) NOT NULL ,
`sucursal` VARCHAR(45) NOT NULL ,
`nro_cuenta` VARCHAR(45) NOT NULL ,
PRIMARY KEY (`cod_empleado`) ,
CONSTRAINT `fk_empleado_trabaja`
FOREIGN KEY (`cod_empleado` )
REFERENCES `mydb`.`TRABAJA` (`cod_empleado` )
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_empleado_boleta`
FOREIGN KEY (`cod_empleado` )
REFERENCES `mydb`.`BOLETA` (`cod_empleado` )
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;

CREATE UNIQUE INDEX `dni_UNIQUE` ON `mydb`.`EMPLEADO` (`dni` ASC) ;


-- ------------------------------------------------------ Table `mydb`.`SEDE`
-- ----------------------------------------------------CREATE TABLE IF NOT EXISTS `mydb`.`SEDE` (
`cod_sede` VARCHAR(45) NOT NULL ,
`area` VARCHAR(45) NOT NULL ,
`sede` VARCHAR(45) NOT NULL ,
PRIMARY KEY (`cod_sede`) )
ENGINE = InnoDB;
-- ------------------------------------------------------ Table `mydb`.`AREA`
-- ----------------------------------------------------CREATE TABLE IF NOT EXISTS `mydb`.`AREA` (
`cod_area` INT NOT NULL ,
`nombre` VARCHAR(45) NOT NULL ,
PRIMARY KEY (`cod_area`) ,
CONSTRAINT `fk_area_sede`
FOREIGN KEY (`nombre` )
REFERENCES `mydb`.`SEDE` (`area` )
CONSTRAINT `fk_area_trabaja`
FOREIGN KEY (`cod_area` )
REFERENCES `mydb`.`TRABAJA` (`area` )
ENGINE = InnoDB;

CREATE INDEX `fk_area_sede_idx` ON `mydb`.`AREA` (`nombre` ASC) ;


-- ------------------------------------------------------ Table `mydb`.`LIQUIDA`

-- ----------------------------------------------------CREATE TABLE IF NOT EXISTS `mydb`.`LIQUIDA` (


`codigo` INT NOT NULL ,
`costo` INT NOT NULL ,
`transferencia` INT NOT NULL ,
`partida` INT NOT NULL ,
`fecha` DATE NOT NULL ,
PRIMARY KEY (`codigo`) )
ENGINE = InnoDB;
-- ------------------------------------------------------ Table `mydb`.`C.COSTOS`
-- ----------------------------------------------------CREATE TABLE IF NOT EXISTS `mydb`.`C.COSTOS` (
`codigo` INT NOT NULL ,
`descripcion` VARCHAR(60) NULL ,
`saldo` FLOAT NULL ,
PRIMARY KEY (`codigo`) ,
CONSTRAINT `FK_IMPUTA_COSTOS`
FOREIGN KEY (`codigo` )
REFERENCES `mydb`.`IMPUTA` (`costo` )
CONSTRAINT `FK_COSTOS_LIQUIDA`
FOREIGN KEY (`codigo` )
REFERENCES `mydb`.`LIQUIDA` (`costo` )
ENGINE = InnoDB;
-- ------------------------------------------------------ Table `mydb`.`CONTIENE`
-- ----------------------------------------------------CREATE TABLE IF NOT EXISTS `mydb`.`CONTIENE` (

`cod_contiene` INT NOT NULL ,


`costo` INT NOT NULL ,
`costo_D` INT NOT NULL ,
PRIMARY KEY (`cod_contiene`) ,
CONSTRAINT `FK_CONTIENE_COSTOS`
FOREIGN KEY (`costo` )
REFERENCES `mydb`.`C.COSTOS` (`codigo` )
CONSTRAINT `FK_CONTIENE_COSTOS1`
FOREIGN KEY (`costo_D` )
REFERENCES `mydb`.`C.COSTOS` (`codigo` )
ENGINE = InnoDB;

CREATE INDEX `FK_CONTIENE_COSTOS_idx` ON `mydb`.`CONTIENE` (`costo`


ASC) ;

CREATE INDEX `FK_CONTIENE_COSTOS1_idx` ON `mydb`.`CONTIENE` (`costo_D`


ASC) ;
-- ------------------------------------------------------ Table `mydb`.`TRANSFERENCIA`
-- ----------------------------------------------------CREATE TABLE IF NOT EXISTS `mydb`.`TRANSFERENCIA` (
`codigo` INT NOT NULL ,
`banco` VARCHAR(45) NULL ,
`sucursal` VARCHAR(45) NULL ,
`nro_cuenta` VARCHAR(45) NULL ,
`cantidad` FLOAT NULL ,
PRIMARY KEY (`codigo`) ,
CONSTRAINT `FK_TRANSFERENCIA_LIQUIDA`

FOREIGN KEY (`codigo` )


REFERENCES `mydb`.`LIQUIDA` (`transferencia` )
ENGINE = InnoDB;
-- ------------------------------------------------------ Table `mydb`.`PARTIDA`
-- ----------------------------------------------------CREATE TABLE IF NOT EXISTS `mydb`.`PARTIDA` (
`codigo` INT NOT NULL ,
`cantidad` FLOAT NULL ,
PRIMARY KEY (`codigo`) ,
CONSTRAINT `FK_PARTIDA_LIQUIDA`
FOREIGN KEY (`codigo` )
REFERENCES `mydb`.`LIQUIDA` (`partida` )
ENGINE = InnoDB;

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