-- -----------------------------------------------------
-- Schema gbe_formulapp
-- -----------------------------------------------------
DROP SCHEMA IF EXISTS `gbe_formulapp` ;

-- -----------------------------------------------------
-- Schema gbe_formulapp
-- -----------------------------------------------------
CREATE SCHEMA IF NOT EXISTS `gbe_formulapp` DEFAULT CHARACTER SET utf8 ;
USE `gbe_formulapp` ;

-- -----------------------------------------------------
-- Table `gbe_formulapp`.`genero`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `gbe_formulapp`.`genero` (
  `id` BIGINT NOT NULL AUTO_INCREMENT,
  `descripcion` VARCHAR(50) NOT NULL,
  `fecha_alta` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `fecha_baja` TIMESTAMP NULL,
  PRIMARY KEY (`id`))
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `gbe_formulapp`.`formacion_academica`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `gbe_formulapp`.`formacion_academica` (
  `id` BIGINT NOT NULL AUTO_INCREMENT,
  `descripcion` VARCHAR(50) NOT NULL,
  `fecha_alta` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `fecha_baja` TIMESTAMP NULL,
  PRIMARY KEY (`id`))
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `gbe_formulapp`.`usuario`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `gbe_formulapp`.`usuario` (
  `id` BIGINT NOT NULL AUTO_INCREMENT,
  `nombre_completo` VARCHAR(255) NOT NULL,
  `run` INT NULL,
  `genero_id` BIGINT NULL,
  `formacion_academica_id` BIGINT NULL,
  `fecha_nacimiento` DATETIME NULL,
  `fecha_alta` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `fecha_baja` TIMESTAMP NULL,
  INDEX `fk_usuario_genero_idx` (`genero_id` ASC),
  INDEX `fk_usuario_formacion_academica1_idx` (`formacion_academica_id` ASC),
  PRIMARY KEY (`id`),
  CONSTRAINT `fk_usuario_genero`
    FOREIGN KEY (`genero_id`)
    REFERENCES `gbe_formulapp`.`genero` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_usuario_formacion_academica1`
    FOREIGN KEY (`formacion_academica_id`)
    REFERENCES `gbe_formulapp`.`formacion_academica` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION);


-- -----------------------------------------------------
-- Table `gbe_formulapp`.`historial_correo`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `gbe_formulapp`.`historial_correo` (
  `id` BIGINT NOT NULL AUTO_INCREMENT,
  `usuario_id` BIGINT NOT NULL,
  `correo_electronico` VARCHAR(400) NOT NULL,
  `fecha_alta` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `fecha_baja` TIMESTAMP NULL,
  PRIMARY KEY (`id`),
  INDEX `fk_historial_correo_usuario1_idx` (`usuario_id` ASC),
  CONSTRAINT `fk_historial_correo_usuario1`
    FOREIGN KEY (`usuario_id`)
    REFERENCES `gbe_formulapp`.`usuario` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION);


-- -----------------------------------------------------
-- Table `gbe_formulapp`.`historial_clave`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `gbe_formulapp`.`historial_clave` (
  `id` BIGINT NOT NULL AUTO_INCREMENT,
  `usuario_id` BIGINT NOT NULL,
  `clave` TEXT NOT NULL,
  `es_temporal` TINYINT(1) NOT NULL DEFAULT 1,
  `fecha_expiracion` TIMESTAMP NULL,
  `fecha_alta` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `fecha_baja` TIMESTAMP NULL,
  PRIMARY KEY (`id`),
  INDEX `fk_historial_correo_usuario1_idx` (`usuario_id` ASC),
  CONSTRAINT `fk_historial_correo_usuario10`
    FOREIGN KEY (`usuario_id`)
    REFERENCES `gbe_formulapp`.`usuario` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION);


-- -----------------------------------------------------
-- Table `gbe_formulapp`.`rol`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `gbe_formulapp`.`rol` (
  `id` BIGINT NOT NULL AUTO_INCREMENT,
  `nombre` VARCHAR(45) NOT NULL,
  `descripcion` VARCHAR(300) NULL,
  `fecha_alta` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `fecha_baja` TIMESTAMP NULL,
  PRIMARY KEY (`id`));


-- -----------------------------------------------------
-- Table `gbe_formulapp`.`rol_usuario`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `gbe_formulapp`.`rol_usuario` (
  `id` BIGINT NOT NULL AUTO_INCREMENT,
  `rol_id` BIGINT NOT NULL,
  `usuario_id` BIGINT NOT NULL,
  `fecha_alta` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `fecha_baja` TIMESTAMP NULL,
  PRIMARY KEY (`id`),
  INDEX `fk_tabla_base_usuario1_idx` (`usuario_id` ASC),
  INDEX `fk_tabla_base_rol1_idx` (`rol_id` ASC),
  CONSTRAINT `fk_tabla_base_usuario1`
    FOREIGN KEY (`usuario_id`)
    REFERENCES `gbe_formulapp`.`usuario` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_tabla_base_rol1`
    FOREIGN KEY (`rol_id`)
    REFERENCES `gbe_formulapp`.`rol` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION);


-- -----------------------------------------------------
-- Table `gbe_formulapp`.`modalidad_puntaje`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `gbe_formulapp`.`modalidad_puntaje` (
  `id` BIGINT NOT NULL AUTO_INCREMENT,
  `titulo` VARCHAR(300) NOT NULL,
  `descripcion` TEXT NULL,
  `fecha_alta` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `fecha_baja` TIMESTAMP NULL,
  PRIMARY KEY (`id`));


-- -----------------------------------------------------
-- Table `gbe_formulapp`.`formulario`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `gbe_formulapp`.`formulario` (
  `id` BIGINT NOT NULL AUTO_INCREMENT,
  `titulo` VARCHAR(255) NOT NULL,
  `descripcion` TEXT NULL,
  `tiempo_respuesta` INT NOT NULL,
  `requiere_biometria` TINYINT(1) NOT NULL DEFAULT 0,
  `modalidad_puntaje_id` BIGINT NOT NULL,
  `fecha_alta` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `fecha_baja` TIMESTAMP NULL,
  PRIMARY KEY (`id`),
  INDEX `fk_formulario_modalidad_puntaje1_idx` (`modalidad_puntaje_id` ASC),
  CONSTRAINT `fk_formulario_modalidad_puntaje1`
    FOREIGN KEY (`modalidad_puntaje_id`)
    REFERENCES `gbe_formulapp`.`modalidad_puntaje` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION);


-- -----------------------------------------------------
-- Table `gbe_formulapp`.`respuesta_tipo`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `gbe_formulapp`.`respuesta_tipo` (
  `id` BIGINT NOT NULL AUTO_INCREMENT,
  `titulo` VARCHAR(100) NOT NULL,
  `descripcion` TEXT NULL,
  `fecha_alta` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `fecha_baja` TIMESTAMP NULL,
  PRIMARY KEY (`id`));


-- -----------------------------------------------------
-- Table `gbe_formulapp`.`formulario_pregunta`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `gbe_formulapp`.`formulario_pregunta` (
  `id` BIGINT NOT NULL AUTO_INCREMENT,
  `formulario_id` BIGINT NOT NULL,
  `posicion` INT NOT NULL,
  `enunciado` TEXT NOT NULL,
  `respuesta_tipo_id` BIGINT NOT NULL,
  `puntaje` INT NULL,
  `fecha_alta` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `fecha_baja` TIMESTAMP NULL,
  PRIMARY KEY (`id`),
  INDEX `fk_formulario_pregunta_formulario1_idx` (`formulario_id` ASC),
  INDEX `fk_formulario_pregunta_respuesta_tipo1_idx` (`respuesta_tipo_id` ASC),
  CONSTRAINT `fk_formulario_pregunta_formulario1`
    FOREIGN KEY (`formulario_id`)
    REFERENCES `gbe_formulapp`.`formulario` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_formulario_pregunta_respuesta_tipo1`
    FOREIGN KEY (`respuesta_tipo_id`)
    REFERENCES `gbe_formulapp`.`respuesta_tipo` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION);


-- -----------------------------------------------------
-- Table `gbe_formulapp`.`formulario_auditoria`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `gbe_formulapp`.`formulario_auditoria` (
  `id` BIGINT NOT NULL AUTO_INCREMENT,
  `formulario_id` BIGINT NOT NULL,
  `usuario_id` BIGINT NOT NULL,
  `accion` ENUM('creacion', 'edicion', 'eliminacion') NOT NULL,
  `fecha` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  INDEX `fk_formulario_auditoria_formulario1_idx` (`formulario_id` ASC),
  INDEX `fk_formulario_auditoria_usuario1_idx` (`usuario_id` ASC),
  CONSTRAINT `fk_formulario_auditoria_formulario1`
    FOREIGN KEY (`formulario_id`)
    REFERENCES `gbe_formulapp`.`formulario` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_formulario_auditoria_usuario1`
    FOREIGN KEY (`usuario_id`)
    REFERENCES `gbe_formulapp`.`usuario` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `gbe_formulapp`.`formulario_respuesta`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `gbe_formulapp`.`formulario_respuesta` (
  `id` BIGINT NOT NULL AUTO_INCREMENT,
  `formulario_pregunta_id` BIGINT NOT NULL,
  `posicion` INT NOT NULL,
  `valor` TEXT NOT NULL,
  `correcta` TINYINT(1) NOT NULL DEFAULT 0,
  `puntaje` INT NULL,
  `fecha_alta` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `fecha_baja` TIMESTAMP NULL,
  PRIMARY KEY (`id`),
  INDEX `fk_formulario_respuesta_formulario_pregunta1_idx` (`formulario_pregunta_id` ASC),
  CONSTRAINT `fk_formulario_respuesta_formulario_pregunta1`
    FOREIGN KEY (`formulario_pregunta_id`)
    REFERENCES `gbe_formulapp`.`formulario_pregunta` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION);


-- -----------------------------------------------------
-- Table `gbe_formulapp`.`formulario_usuario`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `gbe_formulapp`.`formulario_usuario` (
  `id` BIGINT NOT NULL AUTO_INCREMENT,
  `usuario_id` BIGINT NOT NULL,
  `formulario_id` BIGINT NOT NULL,
  `fecha_asignacion` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `fecha_limite` TIMESTAMP NULL,
  `fecha_respuesta` TIMESTAMP NULL,
  `hora_incio` TIME NULL,
  `hora_termino` TIME NULL,
  `anonimo` TINYINT(1) NOT NULL DEFAULT 0,
  `fecha_alta` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `fecha_baja` TIMESTAMP NULL,
  PRIMARY KEY (`id`),
  INDEX `fk_formulario_usuario_usuario1_idx` (`usuario_id` ASC),
  INDEX `fk_formulario_usuario_formulario1_idx` (`formulario_id` ASC),
  CONSTRAINT `fk_formulario_usuario_usuario1`
    FOREIGN KEY (`usuario_id`)
    REFERENCES `gbe_formulapp`.`usuario` (`id`)
    ON DELETE NO ACTION
    ON UPDATE CASCADE,
  CONSTRAINT `fk_formulario_usuario_formulario1`
    FOREIGN KEY (`formulario_id`)
    REFERENCES `gbe_formulapp`.`formulario` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION);


-- -----------------------------------------------------
-- Table `gbe_formulapp`.`respuesta_usuario`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `gbe_formulapp`.`respuesta_usuario` (
  `id` BIGINT NOT NULL AUTO_INCREMENT,
  `formulario_usuario_id` BIGINT NOT NULL,
  `formulario_pregunta_id` BIGINT NOT NULL,
  `respuesta` TEXT NOT NULL,
  `puntaje` INT NULL,
  `fecha_alta` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `fecha_baja` TIMESTAMP NULL,
  PRIMARY KEY (`id`),
  INDEX `fk_respuesta_usuario_formulario_usuario1_idx` (`formulario_usuario_id` ASC),
  INDEX `fk_respuesta_usuario_formulario_pregunta1_idx` (`formulario_pregunta_id` ASC),
  CONSTRAINT `fk_respuesta_usuario_formulario_usuario1`
    FOREIGN KEY (`formulario_usuario_id`)
    REFERENCES `gbe_formulapp`.`formulario_usuario` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_respuesta_usuario_formulario_pregunta1`
    FOREIGN KEY (`formulario_pregunta_id`)
    REFERENCES `gbe_formulapp`.`formulario_pregunta` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION);


-- -----------------------------------------------------
-- Table `gbe_formulapp`.`biometria`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `gbe_formulapp`.`biometria` (
  `id` BIGINT NOT NULL AUTO_INCREMENT,
  `formulario_usuario_id` BIGINT NOT NULL,
  `evidencia` TEXT NOT NULL,
  `fecha_carga` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  INDEX `fk_biometria_formulario_usuario1_idx` (`formulario_usuario_id` ASC),
  CONSTRAINT `fk_biometria_formulario_usuario1`
    FOREIGN KEY (`formulario_usuario_id`)
    REFERENCES `gbe_formulapp`.`formulario_usuario` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `gbe_formulapp`.`sistema`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `gbe_formulapp`.`sistema` (
  `id` BIGINT NOT NULL AUTO_INCREMENT,
  `propietario` VARCHAR(300) NOT NULL,
  `mail_usuario_nuevo` TINYINT(1) NOT NULL DEFAULT 0,
  `mail_formulario_asociacion` TINYINT(1) NOT NULL DEFAULT 0,
  PRIMARY KEY (`id`))
ENGINE = InnoDB;

USE `gbe_formulapp` ;

-- -----------------------------------------------------
-- Placeholder table for view `gbe_formulapp`.`usuarios_activos`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `gbe_formulapp`.`usuarios_activos` (`id` INT, `nombre_completo` INT, `run` INT, `correo_electronico` INT, `clave` INT);

-- -----------------------------------------------------
-- View `gbe_formulapp`.`usuarios_activos`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `gbe_formulapp`.`usuarios_activos`;
USE `gbe_formulapp`;
CREATE  OR REPLACE VIEW `usuarios_activos` AS
SELECT
u.id, u.nombre_completo, u.run, hm.correo_electronico, hp.clave
FROM usuario u
INNER JOIN historial_correo hm ON hm.usuario_id = u.id
INNER JOIN historial_clave hp ON hp.usuario_id = u.id
WHERE u.fecha_baja IS NULL AND hm.fecha_baja IS NULL AND hp.fecha_BAJA IS NULL;


-- -----------------------------------------------------
-- Data for table `gbe_formulapp`.`genero`
-- -----------------------------------------------------
START TRANSACTION;
USE `gbe_formulapp`;
INSERT INTO `gbe_formulapp`.`genero` (`id`, `descripcion`, `fecha_alta`, `fecha_baja`) VALUES (1, 'femenino', DEFAULT, NULL);
INSERT INTO `gbe_formulapp`.`genero` (`id`, `descripcion`, `fecha_alta`, `fecha_baja`) VALUES (2, 'masculino', DEFAULT, NULL);

COMMIT;


-- -----------------------------------------------------
-- Data for table `gbe_formulapp`.`usuario`
-- -----------------------------------------------------
START TRANSACTION;
USE `gbe_formulapp`;
INSERT INTO `gbe_formulapp`.`usuario` (`id`, `nombre_completo`, `run`, `genero_id`, `formacion_academica_id`, `fecha_nacimiento`, `fecha_alta`, `fecha_baja`) VALUES (1, 'sebastian solar', 15811059, 1, NULL, NULL, DEFAULT, NULL);

COMMIT;


-- -----------------------------------------------------
-- Data for table `gbe_formulapp`.`historial_correo`
-- -----------------------------------------------------
START TRANSACTION;
USE `gbe_formulapp`;
INSERT INTO `gbe_formulapp`.`historial_correo` (`id`, `usuario_id`, `correo_electronico`, `fecha_alta`, `fecha_baja`) VALUES (1, 1, 'desarrollo@presercomp.cl', DEFAULT, NULL);

COMMIT;


-- -----------------------------------------------------
-- Data for table `gbe_formulapp`.`historial_clave`
-- -----------------------------------------------------
START TRANSACTION;
USE `gbe_formulapp`;
INSERT INTO `gbe_formulapp`.`historial_clave` (`id`, `usuario_id`, `clave`, `es_temporal`, `fecha_expiracion`, `fecha_alta`, `fecha_baja`) VALUES (1, 1, '$2y$10$30tVRPizrpaohQj5IeskqezdT1f1i/1OAtBNngfu309iMH5GFyVCW', 0, NULL, DEFAULT, NULL);

COMMIT;


-- -----------------------------------------------------
-- Data for table `gbe_formulapp`.`rol`
-- -----------------------------------------------------
START TRANSACTION;
USE `gbe_formulapp`;
INSERT INTO `gbe_formulapp`.`rol` (`id`, `nombre`, `descripcion`, `fecha_alta`, `fecha_baja`) VALUES (1, 'desarrollador', NULL, DEFAULT, NULL);
INSERT INTO `gbe_formulapp`.`rol` (`id`, `nombre`, `descripcion`, `fecha_alta`, `fecha_baja`) VALUES (2, 'sistema', NULL, DEFAULT, NULL);
INSERT INTO `gbe_formulapp`.`rol` (`id`, `nombre`, `descripcion`, `fecha_alta`, `fecha_baja`) VALUES (3, 'super administrador', NULL, DEFAULT, NULL);
INSERT INTO `gbe_formulapp`.`rol` (`id`, `nombre`, `descripcion`, `fecha_alta`, `fecha_baja`) VALUES (4, 'administrador', NULL, DEFAULT, NULL);
INSERT INTO `gbe_formulapp`.`rol` (`id`, `nombre`, `descripcion`, `fecha_alta`, `fecha_baja`) VALUES (5, 'usuario', NULL, DEFAULT, NULL);

COMMIT;


-- -----------------------------------------------------
-- Data for table `gbe_formulapp`.`rol_usuario`
-- -----------------------------------------------------
START TRANSACTION;
USE `gbe_formulapp`;
INSERT INTO `gbe_formulapp`.`rol_usuario` (`id`, `rol_id`, `usuario_id`, `fecha_alta`, `fecha_baja`) VALUES (1, 1, 1, DEFAULT, NULL);

COMMIT;


-- -----------------------------------------------------
-- Data for table `gbe_formulapp`.`modalidad_puntaje`
-- -----------------------------------------------------
START TRANSACTION;
USE `gbe_formulapp`;
INSERT INTO `gbe_formulapp`.`modalidad_puntaje` (`id`, `titulo`, `descripcion`, `fecha_alta`, `fecha_baja`) VALUES (1, 'por pregunta ', 'permite configurar cada pregunta con un puntaje. Si la pregunta es correctamente contestada, se le aplica el puntaje respectivo', DEFAULT, NULL);
INSERT INTO `gbe_formulapp`.`modalidad_puntaje` (`id`, `titulo`, `descripcion`, `fecha_alta`, `fecha_baja`) VALUES (2, 'por respuesta', 'cada respuesta deberá configurarse con un puntaje, que aportará al resultado de la pregunta', DEFAULT, NULL);

COMMIT;


-- -----------------------------------------------------
-- Data for table `gbe_formulapp`.`formulario`
-- -----------------------------------------------------
START TRANSACTION;
USE `gbe_formulapp`;
INSERT INTO `gbe_formulapp`.`formulario` (`id`, `titulo`, `descripcion`, `tiempo_respuesta`, `requiere_biometria`, `modalidad_puntaje_id`, `fecha_alta`, `fecha_baja`) VALUES (1, 'Formulario 5', '<p>Esta es una prueba de su capacidad para resolver problemas. La prueba se compone de preguntas de varios tipos que deben resolverse sin ayuda de calculadoras u otros dispositivos que faciliten la solución de problemas.</p><p>Favor de completar la Sección de Información que aparece a continuación; después lea con sumo cuidado las instrucciones, y complete las preguntas de muestra.</p>', 12, 1, 1, DEFAULT, NULL);

COMMIT;


-- -----------------------------------------------------
-- Data for table `gbe_formulapp`.`respuesta_tipo`
-- -----------------------------------------------------
START TRANSACTION;
USE `gbe_formulapp`;
INSERT INTO `gbe_formulapp`.`respuesta_tipo` (`id`, `titulo`, `descripcion`, `fecha_alta`, `fecha_baja`) VALUES (1, 'opción única', 'permite la selección de una respuesta a partir de una lista', DEFAULT, NULL);
INSERT INTO `gbe_formulapp`.`respuesta_tipo` (`id`, `titulo`, `descripcion`, `fecha_alta`, `fecha_baja`) VALUES (2, 'opción múltiple', 'permite la selección de varias respuestas a partir de una lista', DEFAULT, NULL);
INSERT INTO `gbe_formulapp`.`respuesta_tipo` (`id`, `titulo`, `descripcion`, `fecha_alta`, `fecha_baja`) VALUES (3, 'texto corto', 'permite una respuesta de texto breve', DEFAULT, NULL);
INSERT INTO `gbe_formulapp`.`respuesta_tipo` (`id`, `titulo`, `descripcion`, `fecha_alta`, `fecha_baja`) VALUES (4, 'numérico único', 'permite responder con un único número', DEFAULT, NULL);
INSERT INTO `gbe_formulapp`.`respuesta_tipo` (`id`, `titulo`, `descripcion`, `fecha_alta`, `fecha_baja`) VALUES (5, 'numérico doble', 'permite responder con dos números', DEFAULT, NULL);
INSERT INTO `gbe_formulapp`.`respuesta_tipo` (`id`, `titulo`, `descripcion`, `fecha_alta`, `fecha_baja`) VALUES (6, 'verdadero - falso', 'permite responder si la pregunta es verdadera o falsa', DEFAULT, NULL);
INSERT INTO `gbe_formulapp`.`respuesta_tipo` (`id`, `titulo`, `descripcion`, `fecha_alta`, `fecha_baja`) VALUES (7, 'respuesta abierta', 'permite responder la pregunta sin limitantes', DEFAULT, NULL);

COMMIT;

START TRANSACTION;
USE `gbe_formulapp`;
INSERT INTO formulario_pregunta (id, formulario_id, posicion, enunciado, respuesta_tipo_id, puntaje) VALUES
(1, 1, 1, "En el siguiente grupo de palabras, ¿cuál de ellas difiere de las otras?", 1, 1),
(2, 1, 2, "En la siguiente lista hay una palabra relacionada con &quote;oso&quote, tal como &quote;ternero&quote; ser relaciona con &quote;vaca&quote; ¿Cuál es?", 1, 1),
(3, 1, 3, "La mayoría de las palabras indicadas a continuación se parecen enter si. ¿cuál de ellas es menos parecida a las otras?", 1, 2),
(4, 1, 4, "En 20 dias, un muchacho ahorró un peso. ¿cuál es el promedio ahorrado por día?", 4, 2),
(5, 1, 5, "HIPÓCRITA HISTÉRICA - ¿cuál es la relación entre los significados de estas palabras?", 1, 2),
(6, 1, 6, "¿Cuál es la relación entre los significados de las siguientes orarciones?<br><ul><li>Más sabe el diablo por viejo que por diablo.</li><li>La experiencia es la madre de la ciencia</li></ul>", 1, 2),
(7, 1, 7, "Suponga que las dos primeras oraciones son ciertas. ¿qué se puede decir de la tercera?<ol><li>La flauta está afinada con el arpa</li><li>El arpa está afinada con la viola</li><li>La viola está afinada con la flauda</li></ol>", 1, 2),
(8, 1, 8, "En el siguiente grupo de palabras, ¿cuál de ellas difiere de las otras?", 1, 2),
(9, 1, 9, "¿Cuál es la relación entre los significados de las siguientes oraciones:<br><ul><li>Créate la fama y échate a dormir</li><li>La serte de la fea, la bonita la desea</li></ul>", 1, 2),
(10, 1, 10, "La mayoría de las palabras indicadas a continuación se parecen entre sí. ¿cuál de ellas se parece menos?", 1, 2),
(11, 1, 11, "SOSTENER es lo opuesto de:", 1, 2),
(12, 1, 12, "Suponga que las dos primeras oraciones son ciertas. ¿qué se puede decir de la tercera?<br><ol><li>Estos cachorros son perros normales.</li><li>Todos los perros normales son activos.</li><li>Estos cachorros son activos.</li></ol>", 1, 2),
(13, 1, 13, "Entre los cinco números de las dos listas, ¿cuales son exactamente iguales?", 2, 2),
(14, 1, 14, "El alambre se vende a $12,5 el metro. ¿cuántos metros se puede comprar con $100?", 4, 2),
(15, 1, 15, "ENGAÑO es lo opuesto de", 1, 2),
(16, 1, 16, "Suponga que las dos primeras opciones son ciertas. ¿qué se puede decir de la tercera?<ol><li>A todos los pelirojos les gustan los dulces</li><li>Carlos es pelirojo</li><li>A Carlos le gustan los dulces</li></ol>", 1, 2),
(17, 1, 17, "Una compañia compró televisores por $2.500. Los vendió a $2.900 y ganó $50 por cada televisor. ¿cuántos televisores tenia?", 4, 2),
(18, 1, 18, "ABSURDO  ACCEDER - ¿cuál es la relación entre los significados de estas palabras?", 1, 2),
(19, 1, 19, "Dos de los siguientes proverbios tienen sentidos similares. ¿cuáles son?", 2, 2),
(20, 1, 20, "En el siguietne grupo de palabras, ¿cuál difiere de las otras?", 1, 2),
(21, 1, 21, "ADORNAR es lo opuesto de", 1, 2),
(22, 1, 22, "¿Cuál es la relación entre los significados de las siguientes oraciones?<br><ul><li>Los sueños, sueños son</li><li>Soñar no cuesta nada</li></ul>", 1, 2),
(23, 1, 23, "Dos de los siguientes proverbios tienen un sentido similar. ¿cuáles son?", 2, 2),
(24, 1, 24, "Un depósito rectangular, completamente lleno, almacena 640 metros cúbicos de grano. Si el depósito mide 8 metros de ancho y 10 metros de largo, ¿qué profunidad tiene?", 4, 2),
(25, 1, 25, "IRA es lo opuesto de", 1, 2),
(26, 1, 26, "Suponga que las dos primeras oraciones son ciertas. ¿qué se puede decir de la tercera?<br><ul><li>Estos niños son personas normales</li><li>Todos los niños normales comen bien</li><li>Estos niños comen bien</li></ul>", 1, 2),
(27, 1, 27, "Un niño tiene 10 años, y su hermana tiene el doble de su edad. Cuando el niño cumpla 16 años, ¿qué edad tendrá su hermana?", 4, 2),
(28, 1, 28, "¿cuál es la relación entre los significados de las siguientes oraciones?<ul><li>Ver, oir y callar</li><li>Ver para creer</li></ul>", 1, 2),
(29, 1, 29, "En el siguiente grupo de palabras, ¿cuál de ellas difere de las otras?", 1, 2),
(30, 1, 30, "OCULTARSE OCUPARSE ¿cuál es la relación entre los significados de estas palabras?", 1, 2),
(31, 1, 31, "Cuatro de las siguientes cinco piezas pueden ensamblarse para formar un triángulo", 1, 2),
(32, 1, 32, "OBTENER RECUPERAR - ¿cuál es la relación entre los significados de estas palabras?", 1, 2),
(33, 1, 33, "En el siguiente gurpo de números, ¿cuál representa el valor más pequeño?", 1, 2),
(34, 1, 34, "¿Cuál es la relación entre los significados de las siguientes  oraciones?<br><ul><li>A falta de pan, buenas son las tortas</li><li>A buen hambre, no hay pan duro</li></ul>", 1, 2),
(35, 1, 35, "El precio de la harina aumentó de 16,4 centavos a 20,5 centavos. ¿en qué porcentaje aumentó el costo de la harina?", 4, 2),
(36, 1, 36, "APELAR es lo puesto de", 1, 2),
(37, 1, 37, "Dos de los siguientes proverbios tienen un sentido similar. ¿cuáles son?", 2, 2),
(38, 1, 38, "Ordene las siguientes palabras para que formen una oración. Si la oración es cierta, seleccione 'verdadero' o 'falso' de caso contrario.<br>cuando Llueve está nublado", 6, 2),
(39, 1, 39, "Un reloj deba la hora exacta al mediodía del lunes. A las 8 de la noche del día martes, se había atrasado 64 segundos. ¿A ese ritmo cuánto se atrasó en media hora?", 1, 2),
(40, 1, 40, "RECHAZAR es lo opuesto de", 1, 2),
(41, 1, 41, "Si 3 1/2 costales de semilla cuestan $35, ¿cuánto costarán 4 1/2 costales?", 1, 2),
(42, 1, 42, "¿Cuál es la relación entre los significados de las siguientes oraciones?", 1, 2),
(43, 1, 43, "En el siguiente grupo de números. ¿cuál de ellos representa el valor más pequeño?", 1, 2),
(44, 1, 44, "La siguiente figura geométrica puede cortarse con una linea recta y dividirse en dos partes que pueden ensamblarse para formar un cuadrado perfecto. Traze esa línea uninedo dos números y escriba esos números como respuesta", 5, 2),
(45, 1, 45, "Tres personas forman una sociedad y acuerdan dividir las ganancias en partes iguales. X invierte $6500; Y invierte $2000; Z invierte $1500. Si las ganancias son de $3000, ¿cuanto menos dinero recibe X si las ganancias de dividiesen en proporción a las cantidades invertidas?", 4, 2),
(46, 1, 46, "¿cuál es el siguiente número de la serie?: 16, 4, 1, 0,25", 4, 2),
(47, 1, 47, "Dos de los siguientes proverbios tienen un sentido similar. ¿cuáles son?", 1, 2),
(48, 1, 48, "RESCATE RESCOMPENSA - ¿cuál es la relación entre los significados de estas palabras?", 1, 2),
(49, 1, 49, "Al imprimir un artículo de 240000 palabras, un impresor decide emplear dos tamaños de letra. Usando el más grande, una página impresa contiene 1200 palabras. Utilizando el más pequeño, la página contiene 1500 palabras. El artículo debe ocupar 17 páginas copletas en la revista. ¿Cuántas páginas deben imprimirse usando letras pequeñas?", 4, 2),
(50, 1, 50, "En la siguiente serie de números, uno de ellos no cuadra con la pauta establecida por los otros. ¿cuál debería ser este númoer", 1, 2);

COMMIT;

START TRANSACTION;
USE `gbe_formulapp`;
INSERT INTO formulario_respuesta (formulario_pregunta_id, posicion, valor, correcta) VALUES
(1, 1, "cobre", 0),
(1, 2, "níquel", 0),
(1, 3, "aluminio", 0),
(1, 4, "madera", 1),

(2, 1, "pollo", 0),
(2, 2, "cachorro", 1),
(2, 3, "cervato", 0),
(2, 4, "trucha", 0),
(2, 5, "zorra", 0),

(3, 1, "julio", 0),
(3, 2, "febrero", 0),
(3, 3, "abril", 0),
(3, 4, "martes", 1),
(3, 5, "junio", 0),

(4, 1, "0,05", 1),

(5, 1, "los significados son similares", 0),
(5, 2, "son opuestos", 0),
(5, 3, "no son similares ni opuestos", 1),

(6, 1, "los significados son similares", 1),
(6, 2, "son opuestos", 0),
(6, 3, "no son similares ni opuestos", 0),

(7, 1, "es cierta", 1),
(7, 2, "es falsa", 0),
(7, 3, "es incierta", 0),

(8, 1, "res", 0),
(8, 2, "atún", 2),
(8, 3, "ternera", 0),
(8, 4, "tocino", 0),
(8, 5, "salchicha", 0),

(9, 1, "los significados son similares", 0),
(9, 2, "son opuestos", 0),
(9, 3, "no son similares ni opuestos", 3),

(10, 1, "sospecha", 0),
(10, 2, "incredulidad", 0),
(10, 3, "duda", 0),
(10, 4, "determinación", 3),
(10, 5, "recelo", 0),

(11, 1, "mantener", 0),
(11, 2, "sustentar", 0),
(11, 3, "apreciar", 0),
(11, 4, "desertar", 1),
(11, 5, "apuntalar", 0),

(12, 1, "es cierta", 1),
(12, 2, "es falsa", 0),
(12, 3, "es incierta", 0),

(13, 1, "7362 - 7363", 0),
(13, 2, "62738 - 63738", 0),
(13, 3, "527182 - 527182", 1),
(13, 4, "918264 - 918264", 1),
(13, 5, "1628357 - 1638357", 0),

(14, 1, "8", 1),

(15, 1, "falsedad", 0),
(15, 2, "maña", 0),
(15, 3, "franqueza", 1),
(15, 4, "finura", 0),
(15, 5, "mentira", 0),

(16, 1, "es cierta", 1),
(16, 2, "es falsa", 0),
(16, 3, "es incierta", 0),

(17, 1, "8", 1),

(18, 1, "los significados son similares", 0),
(18, 2, "son opuestos", 0),
(18, 3, "no son similares ni opuestos", 1),

(19, 1, "El que quiera celeste, que le cueste", 1),
(19, 2, "A palabras necias, oídos sordos", 0),
(19, 3, "El que quiera peces, tendrá que mojarse", 3),
(19, 4, "Dime con quién andas y te diré quién eres", 0),
(19, 5, "Todo bicho que camina va a parar al asador", 0),

(20, 1, "pequeño", 0),
(20, 2, "chico", 0),
(20, 3, "diminuto", 0),
(20, 4, "espacioso", 1),
(20, 5, "preciso", 0),

(21, 1, "decorar", 0),
(21, 2, "ornamentar", 0),
(21, 3, "embellecer", 0),
(21, 4, "acicalar", 0),
(21, 5, "desfigurar", 1),

(22, 1, "los significados son similares", 1),
(22, 2, "son opuestos", 0),
(22, 3, "no son similares ni opuestos", 0),

(23, 1, "Si la envidia fuera tiña, cuántos tiñosos habría", 0),
(23, 2, "A palabras necias, oídos sordos", 1),
(23, 3, "El que quiera peces, tendrá que mojarse", 0),
(23, 4, "Dime con quién andas y te diré quién eres", 0),
(23, 5, "Todo bicho que camina va a parar al asador", 1),

(24, 1, "8", 1),

(25, 1, "furia", 0),
(25, 2, "fastidio", 0),
(25, 3, "paciencia", 1),
(25, 4, "disgusto", 0),
(25, 5, "resentimiento", 0),

(26, 1, "es cierta", 1),
(26, 2, "es falsa", 0),
(26, 3, "es incierta", 0),

(27, 1, "26", 1),

(28, 1, "los significados son similares", 0),
(28, 2, "son opuestos", 0),
(28, 3, "no son similares ni opuestos", 1),

(29, 1, "aroma", 0),
(29, 2, "fragancia", 0),
(29, 3, "agrio", 1),
(29, 4, "perfume", 0),
(29, 5, "olor", 0),

(30, 1, "los significados son similares", 0),
(30, 2, "son opuestos", 0),
(30, 3, "no son similares ni opuestos", 1),

(31, 1, "<img src='' width='50' height='50'>", 1),
(31, 2, "<img src='' width='50' height='50'>", 0),
(31, 3, "<img src='' width='50' height='50'>", 1),
(31, 4, "<img src='' width='50' height='50'>", 1),
(31, 5, "<img src='' width='50' height='50'>", 1),

(32, 1, "los significados son similares", 0),
(32, 2, "son opuestos", 0),
(32, 3, "no son similares ni opuestos", 1),

(33, 1, "0,999", 0),
(33, 2, "999", 0),
(33, 3, "0,9", 0),
(33, 4, "1", 0),
(33, 5, "2", 0),
(33, 5, "0,88", 1),

(34, 1, "los significados son similares", 1),
(34, 2, "son opuestos", 0),
(34, 3, "no son similares ni opuestos", 0),

(35, 1, "25%", 1),

(36, 1, "suplicar", 0),
(36, 2, "implorar", 0),
(36, 3, "pedir", 0),
(36, 4, "negar", 1),
(36, 5, "invocar", 0),

(37, 1, "Al camarón que se duerme, se lo lleva la corriente", 0),
(37, 2, "Tanto va el cántaro a la fuente, que al final se rompe", 1),
(37, 3, "No es padre quien engendra, sino quien cría", 0),
(37, 4, "Al amigo y al caballo no hay que cansarlo", 1),
(37, 5, "A Dios rogando y con el mazo dando", 0),

(38, 1, "F", 1),

(39, 1, "1", 1),

(40, 1, "rehusar", 0),
(40, 2, "expulsar", 0),
(40, 3, "despedir", 0),
(40, 4, "alejar", 0),
(40, 5, "estimar", 1),

(41, 1, "45", 1),

(42, 1, "los significados son similares", 0),
(42, 2, "son opuestos", 0),
(42, 3, "no son similares ni opuestos", 1),

(43, 1, "222", 0),
(43, 2, "0,9", 0),
(43, 3, "0,73", 0),
(43, 4, "2", 0),
(43, 5, "4", 0),
(43, 5, "0,49", 1),

(44, 1, "8", 1),
(44, 2, "12", 1),

(45, 1, "950", 1),

(46, 1, "0,0625", 1),

(47, 1, "Con plata nada falta", 1),
(47, 2, "Los niños y los locos dicen la verdad", 0),
(47, 3, "No hay borracho que pierda el juicio, ni loco el entendimiento", 0),
(47, 4, "A barriga llena, corazón contento", 1),
(47, 5, "No hay feo sin su gracia, ni bonita sin su defecto", 0),

(48, 1, "los significados son similares", 0),
(48, 2, "son opuestos", 0),
(48, 3, "no son similares ni opuestos", 3),

(49, 1, "12", 1),

(50, 1, "1/1000", 0),
(50, 2, "1/100", 1),
(50, 3, "1/10", 0),
(50, 4, "0", 0),
(50, 5, "1/10", 0),
(50, 5, "10", 0);

COMMIT;

