Lo que quiero es que al registrar cada uno a su tabla subtipo respectiva haya una restricción que a la tabla 'administrador' SOLO puedan llegar desde empleado, aquellos empleados con una 'a' y a tabla 'vendedor' SOLO los que tengan 'tipo empleado' 'v'.
Aquí va el código de esa parte de la bbdd:
Código:
-- ----------------------------------------------------- -- Table `omohr4`.`administrador` -- ----------------------------------------------------- CREATE TABLE IF NOT EXISTS `omohr4`.`administrador` ( `rut_a` INT(8) NOT NULL , `titulo` VARCHAR(35) NOT NULL , PRIMARY KEY (`rut_a`) , INDEX `rut_a` (`rut_a` ASC) , CONSTRAINT `rut_a` FOREIGN KEY (`rut_a` ) REFERENCES `omohr4`.`empleado` (`rut_e` ) ON DELETE NO ACTION ON UPDATE NO ACTION) ENGINE = InnoDB; -- ----------------------------------------------------- -- Table `omohr4`.`empleado` -- ----------------------------------------------------- CREATE TABLE IF NOT EXISTS `omohr4`.`empleado` ( `rut_e` INT(8) NOT NULL , `nombre` VARCHAR(35) NOT NULL , `apellido` VARCHAR(35) NOT NULL , `calle_nro` VARCHAR(35) NOT NULL , `comuna` VARCHAR(35) NOT NULL , `region` VARCHAR(35) NOT NULL , `fecha_contrato` DATE NOT NULL , `tipo_empleado` ENUM('a','v','j') NOT NULL , `rut_a_fk` INT(8) NULL , PRIMARY KEY (`rut_e`) , INDEX `rut_a_fk` (`rut_a_fk` ASC) , CONSTRAINT `rut_a_fk` FOREIGN KEY (`rut_a_fk` ) REFERENCES `omohr4`.`administrador` (`rut_a` ) ON DELETE NO ACTION ON UPDATE NO ACTION ) ENGINE = InnoDB; -- ----------------------------------------------------- -- Table `omohr4`.`vendedor` -- ----------------------------------------------------- CREATE TABLE IF NOT EXISTS `omohr4`.`vendedor` ( `rut_v` INT(8) NOT NULL , PRIMARY KEY (`rut_v`) , INDEX `rut_v` (`rut_v` ASC) , CONSTRAINT `rut_v` FOREIGN KEY (`rut_v` ) REFERENCES `omohr4`.`empleado` (`rut_e` ) ON DELETE NO ACTION ON UPDATE NO ACTION) ENGINE = InnoDB; -- ----------------------------------------------------- -- Table `omohr4`.`junior` -- ----------------------------------------------------- CREATE TABLE IF NOT EXISTS `omohr4`.`junior` ( `rut_j` INT(8) NOT NULL , `cargo_mantencion` VARCHAR(35) NOT NULL , PRIMARY KEY (`rut_j`) , INDEX `rut_j` (`rut_j` ASC) , CONSTRAINT `rut_j` FOREIGN KEY (`rut_j` ) REFERENCES `omohr4`.`empleado` (`rut_e` ) ON DELETE NO ACTION ON UPDATE NO ACTION) ENGINE = InnoDB;