-- 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_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';

-- -----------------------------------------------------
-- Schema mydb
-- -----------------------------------------------------

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

-- -----------------------------------------------------
-- Table `mydb`.`COMUNIDAD_AUTONOMA`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `mydb`.`COMUNIDAD_AUTONOMA` (
  `nombre` VARCHAR(45) NOT NULL,
  `org_resp` VARCHAR(100) NULL,
  PRIMARY KEY (`nombre`))
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `mydb`.`PARQUE`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `mydb`.`PARQUE` (
  `nombre` VARCHAR(45) NOT NULL,
  `fecha` DATE NULL,
  PRIMARY KEY (`nombre`))
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `mydb`.`AREA`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `mydb`.`AREA` (
  `nombreParque` VARCHAR(45) NOT NULL,
  `nombreArea` VARCHAR(45) NOT NULL,
  PRIMARY KEY (`nombreParque`, `nombreArea`),
  INDEX `fk_AREA_PARQUE_NACIONAL1_idx` (`nombreParque` ASC) ,
  CONSTRAINT `fk_AREA_PARQUE_NACIONAL1`
    FOREIGN KEY (`nombreParque`)
    REFERENCES `mydb`.`PARQUE` (`nombre`)
    ON DELETE RESTRICT
    ON UPDATE CASCADE)
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `mydb`.`ESPECIES`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `mydb`.`ESPECIES` (
  `den_cient` VARCHAR(45) NOT NULL,
  `den_vulgar` VARCHAR(45) NULL,
  PRIMARY KEY (`den_cient`))
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `mydb`.`COMESTIBLE`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `mydb`.`COMESTIBLE` (
  `den_cient` VARCHAR(45) NOT NULL,
  PRIMARY KEY (`den_cient`),
  CONSTRAINT `fk_COMESTIBLE_ESPECIES1`
    FOREIGN KEY (`den_cient`)
    REFERENCES `mydb`.`ESPECIES` (`den_cient`)
    ON DELETE RESTRICT
    ON UPDATE CASCADE)
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `mydb`.`VEGETAL`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `mydb`.`VEGETAL` (
  `den_cient` VARCHAR(45) NOT NULL,
  `periodo_floracion` VARCHAR(45) NULL,
  `floración` BIT(1) NULL,
  PRIMARY KEY (`den_cient`),
  CONSTRAINT `fk_VEGETAL_COMESTIBLE1`
    FOREIGN KEY (`den_cient`)
    REFERENCES `mydb`.`COMESTIBLE` (`den_cient`)
    ON DELETE RESTRICT
    ON UPDATE CASCADE)
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `mydb`.`NO_COMESTIBLE`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `mydb`.`NO_COMESTIBLE` (
  `den_cient` VARCHAR(45) NOT NULL,
  `tipo_mineral` VARCHAR(45) NULL,
  PRIMARY KEY (`den_cient`),
  CONSTRAINT `fk_MINERAL_ESPECIES1`
    FOREIGN KEY (`den_cient`)
    REFERENCES `mydb`.`ESPECIES` (`den_cient`)
    ON DELETE RESTRICT
    ON UPDATE CASCADE)
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `mydb`.`ANIMAL`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `mydb`.`ANIMAL` (
  `den_cient` VARCHAR(45) NOT NULL,
  `tipo_alim` VARCHAR(45) NULL,
  `periodo_celo` VARCHAR(45) NULL,
  PRIMARY KEY (`den_cient`),
  CONSTRAINT `fk_ANIMAL_COMESTIBLE1`
    FOREIGN KEY (`den_cient`)
    REFERENCES `mydb`.`COMESTIBLE` (`den_cient`)
    ON DELETE RESTRICT
    ON UPDATE CASCADE)
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `mydb`.`EMPLEADO`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `mydb`.`EMPLEADO` (
  `DNI` VARCHAR(15) NOT NULL,
  `NSS` VARCHAR(45) NOT NULL,
  `dir` VARCHAR(45) NULL,
  `sueldo` FLOAT NULL,
  `nombreParque` VARCHAR(45) NOT NULL,
  PRIMARY KEY (`DNI`),
  INDEX `fk_EMPLEADO_PARQUE1_idx` (`nombreParque` ASC) ,
  CONSTRAINT `fk_EMPLEADO_PARQUE1`
    FOREIGN KEY (`nombreParque`)
    REFERENCES `mydb`.`PARQUE` (`nombre`)
    ON DELETE RESTRICT
    ON UPDATE CASCADE)
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `mydb`.`EM_CONSERVACION`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `mydb`.`EM_CONSERVACION` (
  `DNI` VARCHAR(15) NOT NULL,
  `especialidad` VARCHAR(45) NULL,
  `nombreParque` VARCHAR(45) NOT NULL,
  `nombreArea` VARCHAR(45) NOT NULL,
  PRIMARY KEY (`DNI`),
  INDEX `fk_EM_CONSERVACION_AREA1_idx` (`nombreParque` ASC, `nombreArea` ASC) ,
  CONSTRAINT `fk_EM_CONSERVACION_EMPLEADO1`
    FOREIGN KEY (`DNI`)
    REFERENCES `mydb`.`EMPLEADO` (`DNI`)
    ON DELETE RESTRICT
    ON UPDATE CASCADE,
  CONSTRAINT `fk_EM_CONSERVACION_AREA1`
    FOREIGN KEY (`nombreParque` , `nombreArea`)
    REFERENCES `mydb`.`AREA` (`nombreParque` , `nombreArea`)
    ON DELETE RESTRICT
    ON UPDATE CASCADE)
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `mydb`.`VEHICULO`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `mydb`.`VEHICULO` (
  `mat` VARCHAR(10) NOT NULL,
  `tipo` VARCHAR(30) NULL,
  PRIMARY KEY (`mat`))
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `mydb`.`EM_VIGILANCIA`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `mydb`.`EM_VIGILANCIA` (
  `DNI` VARCHAR(15) NOT NULL,
  `matVehiculo` VARCHAR(10) NULL,
  `nombreParque` VARCHAR(45) NOT NULL,
  `nombreArea` VARCHAR(45) NOT NULL,
  PRIMARY KEY (`DNI`),
  INDEX `fk_EM_VIGILANCIA_VEHICULO1_idx` (`matVehiculo` ASC) ,
  INDEX `fk_EM_VIGILANCIA_AREA1_idx` (`nombreParque` ASC, `nombreArea` ASC) ,
  CONSTRAINT `fk_EM_VIGILANCIA_EMPLEADO1`
    FOREIGN KEY (`DNI`)
    REFERENCES `mydb`.`EMPLEADO` (`DNI`)
    ON DELETE RESTRICT
    ON UPDATE CASCADE,
  CONSTRAINT `fk_EM_VIGILANCIA_VEHICULO1`
    FOREIGN KEY (`matVehiculo`)
    REFERENCES `mydb`.`VEHICULO` (`mat`)
    ON DELETE SET NULL
    ON UPDATE CASCADE,
  CONSTRAINT `fk_EM_VIGILANCIA_AREA1`
    FOREIGN KEY (`nombreParque` , `nombreArea`)
    REFERENCES `mydb`.`AREA` (`nombreParque` , `nombreArea`)
    ON DELETE RESTRICT
    ON UPDATE CASCADE)
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `mydb`.`ENTRADA`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `mydb`.`ENTRADA` (
  `nombreParque` VARCHAR(45) NOT NULL,
  `num_ent` INT NOT NULL,
  PRIMARY KEY (`nombreParque`, `num_ent`),
  INDEX `fk_ENTRADA_PARQUE1_idx` (`nombreParque` ASC) ,
  CONSTRAINT `fk_ENTRADA_PARQUE1`
    FOREIGN KEY (`nombreParque`)
    REFERENCES `mydb`.`PARQUE` (`nombre`)
    ON DELETE RESTRICT
    ON UPDATE CASCADE)
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `mydb`.`EM_GESTION`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `mydb`.`EM_GESTION` (
  `DNI` VARCHAR(15) NOT NULL,
  `nombreParque` VARCHAR(45) NOT NULL,
  `numEnt` INT NOT NULL,
  PRIMARY KEY (`DNI`),
  INDEX `fk_EM_GESTION_ENTRADA1_idx` (`nombreParque` ASC, `numEnt` ASC) ,
  CONSTRAINT `fk_EM_GESTION_EMPLEADO1`
    FOREIGN KEY (`DNI`)
    REFERENCES `mydb`.`EMPLEADO` (`DNI`)
    ON DELETE RESTRICT
    ON UPDATE CASCADE,
  CONSTRAINT `fk_EM_GESTION_ENTRADA1`
    FOREIGN KEY (`nombreParque` , `numEnt`)
    REFERENCES `mydb`.`ENTRADA` (`nombreParque` , `num_ent`)
    ON DELETE RESTRICT
    ON UPDATE CASCADE)
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `mydb`.`VISITANTE`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `mydb`.`VISITANTE` (
  `DNI` VARCHAR(15) NOT NULL,
  `nombre` VARCHAR(45) NULL,
  `domicilio` VARCHAR(45) NULL,
  `profesión` VARCHAR(45) NULL,
  PRIMARY KEY (`DNI`))
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `mydb`.`ALOJAMIENTO`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `mydb`.`ALOJAMIENTO` (
  `nombre` VARCHAR(45) NOT NULL,
  `capac` VARCHAR(45) NULL,
  `cat` VARCHAR(45) NULL,
  `nombreParque` VARCHAR(45) NOT NULL,
  PRIMARY KEY (`nombre`),
  INDEX `fk_ALOJAMIENTO_PARQUE1_idx` (`nombreParque` ASC) ,
  CONSTRAINT `fk_ALOJAMIENTO_PARQUE1`
    FOREIGN KEY (`nombreParque`)
    REFERENCES `mydb`.`PARQUE` (`nombre`)
    ON DELETE RESTRICT
    ON UPDATE CASCADE)
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `mydb`.`EXCURSION`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `mydb`.`EXCURSION` (
  `id` INT NOT NULL,
  `tipo` TIME NULL,
  `nombreAlojamiento` VARCHAR(45) NOT NULL,
  PRIMARY KEY (`id`),
  INDEX `fk_EXCURSION_ALOJAMIENTO1_idx` (`nombreAlojamiento` ASC) ,
  CONSTRAINT `fk_EXCURSION_ALOJAMIENTO1`
    FOREIGN KEY (`nombreAlojamiento`)
    REFERENCES `mydb`.`ALOJAMIENTO` (`nombre`)
    ON DELETE RESTRICT
    ON UPDATE CASCADE)
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `mydb`.`EM_INVESTIGADOR`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `mydb`.`EM_INVESTIGADOR` (
  `DNI` VARCHAR(15) NOT NULL,
  `titulacion` VARCHAR(45) NULL,
  PRIMARY KEY (`DNI`),
  CONSTRAINT `fk_EM_INVESTIGADOR_EMPLEADO1`
    FOREIGN KEY (`DNI`)
    REFERENCES `mydb`.`EMPLEADO` (`DNI`)
    ON DELETE RESTRICT
    ON UPDATE CASCADE)
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `mydb`.`PROYECTO`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `mydb`.`PROYECTO` (
  `codigo` INT NOT NULL,
  `nombre` VARCHAR(45) NULL,
  `presupuesto` VARCHAR(45) NULL,
  `periodo_realizacion` VARCHAR(45) NULL,
  PRIMARY KEY (`codigo`))
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `mydb`.`TIENE`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `mydb`.`TIENE` (
  `nombreCA` VARCHAR(45) NOT NULL,
  `nombreParque` VARCHAR(45) NOT NULL,
  PRIMARY KEY (`nombreCA`, `nombreParque`),
  INDEX `fk_COMUNIDAD_AUTONOMA_has_PARQUE_NACIONAL_PARQUE_NACIONAL1_idx` (`nombreParque` ASC) ,
  INDEX `fk_COMUNIDAD_AUTONOMA_has_PARQUE_NACIONAL_COMUNIDAD_AUTONOM_idx` (`nombreCA` ASC) ,
  CONSTRAINT `fk_COMUNIDAD_AUTONOMA_has_PARQUE_NACIONAL_COMUNIDAD_AUTONOMA1`
    FOREIGN KEY (`nombreCA`)
    REFERENCES `mydb`.`COMUNIDAD_AUTONOMA` (`nombre`)
    ON DELETE RESTRICT
    ON UPDATE CASCADE,
  CONSTRAINT `fk_COMUNIDAD_AUTONOMA_has_PARQUE_NACIONAL_PARQUE_NACIONAL1`
    FOREIGN KEY (`nombreParque`)
    REFERENCES `mydb`.`PARQUE` (`nombre`)
    ON DELETE RESTRICT
    ON UPDATE CASCADE)
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `mydb`.`PERTENECE`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `mydb`.`PERTENECE` (
  `nombreCA` VARCHAR(45) NOT NULL,
  `nombreParque` VARCHAR(45) NOT NULL,
  `nombreArea` VARCHAR(45) NOT NULL,
  `ext` INT NOT NULL,
  PRIMARY KEY (`nombreCA`, `nombreParque`, `nombreArea`),
  INDEX `fk_COMUNIDAD_AUTONOMA_has_AREA_AREA1_idx` (`nombreParque` ASC, `nombreArea` ASC) ,
  INDEX `fk_COMUNIDAD_AUTONOMA_has_AREA_COMUNIDAD_AUTONOMA1_idx` (`nombreCA` ASC) ,
  CONSTRAINT `fk_COMUNIDAD_AUTONOMA_has_AREA_COMUNIDAD_AUTONOMA1`
    FOREIGN KEY (`nombreCA`)
    REFERENCES `mydb`.`COMUNIDAD_AUTONOMA` (`nombre`)
    ON DELETE RESTRICT
    ON UPDATE CASCADE,
  CONSTRAINT `fk_COMUNIDAD_AUTONOMA_has_AREA_AREA1`
    FOREIGN KEY (`nombreParque` , `nombreArea`)
    REFERENCES `mydb`.`AREA` (`nombreParque` , `nombreArea`)
    ON DELETE RESTRICT
    ON UPDATE CASCADE)
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `mydb`.`RESIDE`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `mydb`.`RESIDE` (
  `nombreEspecie` VARCHAR(45) NOT NULL,
  `nombreParque` VARCHAR(45) NOT NULL,
  `nombreArea` VARCHAR(45) NOT NULL,
  `num_indiv` INT NULL,
  PRIMARY KEY (`nombreEspecie`, `nombreParque`, `nombreArea`),
  INDEX `fk_AREA_has_ESPECIES_ESPECIES1_idx` (`nombreEspecie` ASC) ,
  INDEX `fk_AREA_has_ESPECIES_AREA1_idx` (`nombreParque` ASC, `nombreArea` ASC) ,
  CONSTRAINT `fk_AREA_has_ESPECIES_AREA1`
    FOREIGN KEY (`nombreParque` , `nombreArea`)
    REFERENCES `mydb`.`AREA` (`nombreParque` , `nombreArea`)
    ON DELETE RESTRICT
    ON UPDATE CASCADE,
  CONSTRAINT `fk_AREA_has_ESPECIES_ESPECIES1`
    FOREIGN KEY (`nombreEspecie`)
    REFERENCES `mydb`.`ESPECIES` (`den_cient`)
    ON DELETE RESTRICT
    ON UPDATE CASCADE)
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `mydb`.`SE_ALIMENTA_DE`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `mydb`.`SE_ALIMENTA_DE` (
  `den_cient_Depredador` VARCHAR(45) NOT NULL,
  `den_cient_Presa` VARCHAR(45) NOT NULL,
  PRIMARY KEY (`den_cient_Depredador`, `den_cient_Presa`),
  INDEX `fk_COMESTIBLE_has_ANIMAL_ANIMAL1_idx` (`den_cient_Depredador` ASC) ,
  INDEX `fk_COMESTIBLE_has_ANIMAL_COMESTIBLE1_idx` (`den_cient_Presa` ASC) ,
  CONSTRAINT `fk_COMESTIBLE_has_ANIMAL_COMESTIBLE1`
    FOREIGN KEY (`den_cient_Presa`)
    REFERENCES `mydb`.`COMESTIBLE` (`den_cient`)
    ON DELETE RESTRICT
    ON UPDATE CASCADE,
  CONSTRAINT `fk_COMESTIBLE_has_ANIMAL_ANIMAL1`
    FOREIGN KEY (`den_cient_Depredador`)
    REFERENCES `mydb`.`ANIMAL` (`den_cient`)
    ON DELETE RESTRICT
    ON UPDATE CASCADE)
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `mydb`.`SE_HOSPEDA`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `mydb`.`SE_HOSPEDA` (
  `nombreAlojamiento` VARCHAR(45) NOT NULL,
  `DNIVisitante` VARCHAR(15) NOT NULL,
  `fecha_entrada` DATE NOT NULL,
  `fecha_salida` DATE NULL,
  PRIMARY KEY (`nombreAlojamiento`, `DNIVisitante`, `fecha_entrada`),
  INDEX `fk_ALOJAMIENTO_has_VISITANTE_VISITANTE1_idx` (`DNIVisitante` ASC) ,
  INDEX `fk_ALOJAMIENTO_has_VISITANTE_ALOJAMIENTO1_idx` (`nombreAlojamiento` ASC) ,
  CONSTRAINT `fk_ALOJAMIENTO_has_VISITANTE_ALOJAMIENTO1`
    FOREIGN KEY (`nombreAlojamiento`)
    REFERENCES `mydb`.`ALOJAMIENTO` (`nombre`)
    ON DELETE RESTRICT
    ON UPDATE CASCADE,
  CONSTRAINT `fk_ALOJAMIENTO_has_VISITANTE_VISITANTE1`
    FOREIGN KEY (`DNIVisitante`)
    REFERENCES `mydb`.`VISITANTE` (`DNI`)
    ON DELETE RESTRICT
    ON UPDATE CASCADE)
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `mydb`.`DIA_SEM`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `mydb`.`DIA_SEM` (
  `dia` VARCHAR(10) NOT NULL,
  PRIMARY KEY (`dia`))
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `mydb`.`HAY`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `mydb`.`HAY` (
  `idExcursion` INT NOT NULL,
  `diaSemana` VARCHAR(10) NOT NULL,
  `hora` TIME NOT NULL,
  PRIMARY KEY (`idExcursion`, `diaSemana`, `hora`),
  INDEX `fk_EXCURSION_has_DIA_SEM_DIA_SEM1_idx` (`diaSemana` ASC) ,
  INDEX `fk_EXCURSION_has_DIA_SEM_EXCURSION1_idx` (`idExcursion` ASC) ,
  CONSTRAINT `fk_EXCURSION_has_DIA_SEM_EXCURSION1`
    FOREIGN KEY (`idExcursion`)
    REFERENCES `mydb`.`EXCURSION` (`id`)
    ON DELETE RESTRICT
    ON UPDATE CASCADE,
  CONSTRAINT `fk_EXCURSION_has_DIA_SEM_DIA_SEM1`
    FOREIGN KEY (`diaSemana`)
    REFERENCES `mydb`.`DIA_SEM` (`dia`)
    ON DELETE RESTRICT
    ON UPDATE CASCADE)
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `mydb`.`REALIZACION_EXCURSION`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `mydb`.`REALIZACION_EXCURSION` (
  `fecha` DATE NOT NULL,
  `idExcursion` INT NOT NULL,
  `diaSemana` VARCHAR(10) NOT NULL,
  `hora` TIME NOT NULL,
  PRIMARY KEY (`fecha`, `idExcursion`, `diaSemana`, `hora`),
  INDEX `fk_REALIZACION_EXCURSION_HAY1_idx` (`idExcursion` ASC, `diaSemana` ASC, `hora` ASC) ,
  CONSTRAINT `fk_REALIZACION_EXCURSION_HAY1`
    FOREIGN KEY (`idExcursion` , `diaSemana` , `hora`)
    REFERENCES `mydb`.`HAY` (`idExcursion` , `diaSemana` , `hora`)
    ON DELETE RESTRICT
    ON UPDATE CASCADE)
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `mydb`.`ACUDE`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `mydb`.`ACUDE` (
  `DNIVisitante` VARCHAR(15) NOT NULL,
  `fecha` DATE NOT NULL,
  `idExcursion` INT NOT NULL,
  `diaSemana` VARCHAR(10) NOT NULL,
  `hora` TIME NOT NULL,
  PRIMARY KEY (`DNIVisitante`, `fecha`, `idExcursion`, `diaSemana`, `hora`),
  INDEX `fk_VISITANTE_has_REALIZACION_EXCURSION_REALIZACION_EXCURSIO_idx` (`fecha` ASC, `idExcursion` ASC, `diaSemana` ASC, `hora` ASC) ,
  INDEX `fk_VISITANTE_has_REALIZACION_EXCURSION_VISITANTE1_idx` (`DNIVisitante` ASC) ,
  CONSTRAINT `fk_VISITANTE_has_REALIZACION_EXCURSION_VISITANTE1`
    FOREIGN KEY (`DNIVisitante`)
    REFERENCES `mydb`.`VISITANTE` (`DNI`)
    ON DELETE RESTRICT
    ON UPDATE CASCADE,
  CONSTRAINT `fk_VISITANTE_has_REALIZACION_EXCURSION_REALIZACION_EXCURSION1`
    FOREIGN KEY (`fecha` , `idExcursion` , `diaSemana` , `hora`)
    REFERENCES `mydb`.`REALIZACION_EXCURSION` (`fecha` , `idExcursion` , `diaSemana` , `hora`)
    ON DELETE RESTRICT
    ON UPDATE CASCADE)
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `mydb`.`TFNO`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `mydb`.`TFNO` (
  `DNIEmpleado` VARCHAR(15) NOT NULL,
  `ord` INT NOT NULL,
  `num` INT NOT NULL,
  `tipo` VARCHAR(10) NULL,
  PRIMARY KEY (`DNIEmpleado`, `ord`),
  INDEX `fk_TFNO_EMPLEADO1_idx` (`DNIEmpleado` ASC) ,
  CONSTRAINT `fk_TFNO_EMPLEADO1`
    FOREIGN KEY (`DNIEmpleado`)
    REFERENCES `mydb`.`EMPLEADO` (`DNI`)
    ON DELETE RESTRICT
    ON UPDATE CASCADE)
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `mydb`.`TRABAJA`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `mydb`.`TRABAJA` (
  `DNIInvestigador` VARCHAR(15) NOT NULL,
  `codigoProyecto` INT NOT NULL,
  `denCientEspecie` VARCHAR(45) NOT NULL,
  PRIMARY KEY (`DNIInvestigador`, `codigoProyecto`, `denCientEspecie`),
  INDEX `fk_EM_INVESTIGADOR_has_PROYECTO_PROYECTO1_idx` (`codigoProyecto` ASC) ,
  INDEX `fk_EM_INVESTIGADOR_has_PROYECTO_EM_INVESTIGADOR1_idx` (`DNIInvestigador` ASC) ,
  INDEX `fk_TRABAJA_ESPECIES1_idx` (`denCientEspecie` ASC) ,
  CONSTRAINT `fk_EM_INVESTIGADOR_has_PROYECTO_EM_INVESTIGADOR1`
    FOREIGN KEY (`DNIInvestigador`)
    REFERENCES `mydb`.`EM_INVESTIGADOR` (`DNI`)
    ON DELETE RESTRICT
    ON UPDATE CASCADE,
  CONSTRAINT `fk_EM_INVESTIGADOR_has_PROYECTO_PROYECTO1`
    FOREIGN KEY (`codigoProyecto`)
    REFERENCES `mydb`.`PROYECTO` (`codigo`)
    ON DELETE RESTRICT
    ON UPDATE CASCADE,
  CONSTRAINT `fk_TRABAJA_ESPECIES1`
    FOREIGN KEY (`denCientEspecie`)
    REFERENCES `mydb`.`ESPECIES` (`den_cient`)
    ON DELETE RESTRICT
    ON UPDATE CASCADE)
ENGINE = InnoDB;


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