-- phpMyAdmin SQL Dump
-- version 5.2.1
-- https://www.phpmyadmin.net/
--
-- Servidor: 127.0.0.1:3307
-- Tiempo de generación: 21-07-2025 a las 22:42:09
-- Versión del servidor: 10.4.32-MariaDB
-- Versión de PHP: 8.2.12
create database IF NOT EXISTS proyecto_grado_ud;
use proyecto_grado_ud;

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
START TRANSACTION;
SET time_zone = "+00:00";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;

--
-- Base de datos: `proyecto_grado_ud`
--

DELIMITER $$
--
-- Procedimientos
--
CREATE DEFINER=`root`@`localhost` PROCEDURE `InsertarDatosMateria` (IN `p_periodo` VARCHAR(6), IN `p_nombre_materia_d` VARCHAR(100), IN `p_inscritos` INT, IN `p_reprobados` INT)   BEGIN
    DECLARE materia_id INT;
    DECLARE existe INT;

    -- Verificar que inscritos y reprobados sean valores válidos
    IF p_inscritos < 0 OR p_reprobados < 0 THEN
        SIGNAL SQLSTATE '45000'
        SET MESSAGE_TEXT = 'Error: Los valores de inscritos y reprobados no pueden ser negativos.';
    END IF;

    -- Obtener el ID de la materia
    SELECT Id_materia INTO materia_id 
    FROM Materia
    WHERE nombre_materia = p_nombre_materia_d
    LIMIT 1;

    -- Validar que la materia exista
    IF materia_id IS NULL THEN
        SIGNAL SQLSTATE '45000'
        SET MESSAGE_TEXT = 'Error: La materia especificada no existe.';
    END IF;

    -- Verificar si ya existe un registro para el mismo periodo y materia
    SELECT COUNT(*) INTO existe 
    FROM Datos 
    WHERE periodo = p_periodo AND id_materia_d = materia_id;

    IF existe > 0 THEN
        SIGNAL SQLSTATE '45000'
        SET MESSAGE_TEXT = 'Error: Ya existe un registro con la misma materia y periodo.';
    ELSE
        -- Insertar los datos en la tabla Datos
        INSERT INTO Datos (periodo, id_materia_d, inscritos, reprobados)
        VALUES (p_periodo, materia_id, p_inscritos, p_reprobados);
    END IF;
END$$

CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_insertar_materia_verbo` (IN `p_nombre_materia` VARCHAR(255), IN `p_id_verbo` INT)   BEGIN
    DECLARE v_id_materia INT;

    -- Buscar el ID de la materia usando el nombre
    SELECT Id_materia INTO v_id_materia 
    FROM Materia 
    WHERE nombre_materia = p_nombre_materia 
    LIMIT 1;

    -- Verificar si la materia existe
    IF v_id_materia IS NULL THEN
        SIGNAL SQLSTATE '45000' 
        SET MESSAGE_TEXT = 'Error: La materia especificada no existe.';
    END IF;

    -- Verificar si el verbo existe
    IF NOT EXISTS (SELECT 1 FROM Verbo WHERE Id_verbo = p_id_verbo) THEN
        SIGNAL SQLSTATE '45000' 
        SET MESSAGE_TEXT = 'Error: El verbo especificado no existe.';
    END IF;

    -- Insertar la relación en MateriaVerbo si no existe
    IF NOT EXISTS (
        SELECT 1 FROM MateriaVerbo 
        WHERE id_materia = v_id_materia AND id_verbo = p_id_verbo
    ) THEN
        INSERT INTO MateriaVerbo (id_materia, id_verbo) 
        VALUES (v_id_materia, p_id_verbo);
    ELSE
        SIGNAL SQLSTATE '45000'
        SET MESSAGE_TEXT = 'Error: La relación materia-verbo ya existe.';
    END IF;
END$$

DELIMITER ;

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `area`
--

CREATE TABLE `area` (
  `Id_area` int(11) NOT NULL,
  `nombre` varchar(100) NOT NULL,
  `descripcion` text DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Volcado de datos para la tabla `area`
--

INSERT INTO `area` (`Id_area`, `nombre`, `descripcion`) VALUES
(1, 'Ciencias Básicas', ''),
(2, 'Humanidades', ''),
(3, 'Humanidades - Electiva', ''),
(4, 'Económico Administrativa', ''),
(5, 'Profesional Básica', ''),
(6, 'Profesional Complementario', ''),
(7, 'Componente propedéutico', ''),
(8, 'Segunda Lengua', '');

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `carrera`
--

CREATE TABLE `carrera` (
  `Id_carrera` int(11) NOT NULL,
  `nombre` varchar(100) NOT NULL,
  `descripcion` text DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Volcado de datos para la tabla `carrera`
--

INSERT INTO `carrera` (`Id_carrera`, `nombre`, `descripcion`) VALUES
(1, 'TSD', 'Tegnologo en Sistematización de Datos'),
(2, 'IT', 'Ingenieria en Telematica');

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `datos`
--

CREATE TABLE `datos` (
  `Id_dato_materia` int(11) NOT NULL,
  `periodo` varchar(6) DEFAULT NULL,
  `id_materia_d` int(11) DEFAULT NULL,
  `inscritos` int(11) DEFAULT NULL,
  `reprobados` int(11) DEFAULT NULL,
  `tasa_reprobacion` double DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Volcado de datos para la tabla `datos`
--

INSERT INTO `datos` (`Id_dato_materia`, `periodo`, `id_materia_d`, `inscritos`, `reprobados`, `tasa_reprobacion`) VALUES
(1, '2020-1', 1, 171, 53, 30.99),
(2, '2020-3', 1, 156, 49, 31.41),
(3, '2021-1', 1, 145, 50, 34.48),
(4, '2021-3', 1, 158, 78, 49.37),
(5, '2022-1', 1, 166, 79, 47.59),
(6, '2022-3', 1, 154, 96, 62.34),
(7, '2023-1', 1, 211, 123, 58.29),
(8, '2023-3', 1, 203, 90, 44.33),
(9, '2024-1', 1, 224, 116, 51.79),
(10, '2024-3', 1, 230, 100, 43.48),
(11, '2020-1', 2, 180, 36, 20),
(12, '2020-3', 2, 149, 86, 57.72),
(13, '2021-1', 2, 138, 53, 38.41),
(14, '2021-3', 2, 166, 98, 59.04),
(15, '2022-1', 2, 176, 101, 57.39),
(16, '2022-3', 2, 175, 118, 67.43),
(17, '2023-1', 2, 225, 136, 60.44),
(18, '2023-3', 2, 192, 178, 92.71),
(19, '2024-1', 2, 216, 81, 37.5),
(20, '2020-1', 3, 122, 12, 9.84),
(21, '2020-3', 3, 126, 27, 21.43),
(22, '2021-1', 3, 108, 13, 12.04),
(23, '2021-3', 3, 134, 35, 26.12),
(24, '2022-1', 3, 135, 27, 20),
(25, '2022-3', 3, 117, 36, 30.77),
(26, '2023-1', 3, 161, 35, 21.74),
(27, '2023-3', 3, 130, 28, 21.54),
(28, '2024-1', 3, 180, 38, 21.11),
(29, '2020-1', 4, 126, 18, 14.29),
(30, '2020-3', 4, 135, 25, 18.52),
(31, '2021-1', 4, 116, 24, 20.69),
(32, '2021-3', 4, 138, 37, 26.81),
(33, '2022-1', 4, 129, 33, 25.58),
(34, '2022-3', 4, 121, 37, 30.58),
(35, '2023-1', 4, 158, 30, 18.99),
(36, '2023-3', 4, 132, 37, 28.03),
(37, '2024-1', 4, 186, 36, 19.35),
(38, '2020-1', 5, 133, 38, 28.57),
(39, '2020-3', 5, 141, 53, 37.59),
(40, '2021-1', 5, 145, 62, 42.76),
(41, '2021-3', 5, 179, 94, 52.51),
(42, '2022-1', 5, 179, 71, 39.66),
(43, '2022-3', 5, 147, 73, 49.66),
(44, '2023-1', 5, 184, 84, 45.65),
(45, '2023-3', 5, 175, 82, 46.86),
(46, '2024-1', 5, 219, 81, 36.99),
(47, '2020-1', 6, 127, 19, 14.96),
(48, '2020-3', 6, 134, 45, 33.58),
(49, '2021-1', 6, 128, 34, 26.56),
(50, '2021-3', 6, 151, 55, 36.42),
(51, '2022-1', 6, 146, 46, 31.51),
(52, '2022-3', 6, 127, 51, 40.16),
(53, '2023-1', 6, 169, 52, 30.77),
(54, '2023-3', 6, 148, 52, 35.14),
(55, '2024-1', 6, 202, 41, 20.3),
(56, '2020-1', 7, 139, 21, 15.11),
(57, '2020-3', 7, 133, 21, 15.79),
(58, '2021-1', 7, 117, 30, 25.64),
(59, '2021-3', 7, 147, 46, 31.29),
(60, '2022-1', 7, 137, 43, 31.39),
(61, '2022-3', 7, 128, 31, 24.22),
(62, '2023-1', 7, 155, 53, 34.19),
(63, '2023-3', 7, 151, 32, 21.19),
(64, '2024-1', 7, 186, 33, 17.74),
(65, '2020-1', 8, 113, 15, 13.27),
(66, '2020-3', 8, 123, 19, 15.45),
(67, '2021-1', 8, 101, 23, 22.77),
(68, '2021-3', 8, 97, 33, 34.02),
(69, '2022-1', 8, 100, 33, 33),
(70, '2022-3', 8, 111, 18, 16.22),
(71, '2023-1', 8, 91, 15, 16.48),
(72, '2023-3', 8, 126, 35, 27.78),
(73, '2024-1', 8, 120, 35, 29.17),
(74, '2020-1', 9, 91, 7, 7.69),
(75, '2020-3', 9, 142, 21, 14.79),
(76, '2021-1', 9, 114, 30, 26.32),
(77, '2021-3', 9, 118, 61, 51.69),
(78, '2022-1', 9, 110, 65, 59.09),
(79, '2022-3', 9, 120, 58, 48.33),
(80, '2023-1', 9, 104, 58, 55.77),
(81, '2023-3', 9, 166, 91, 54.82),
(82, '2024-1', 9, 180, 95, 52.78),
(83, '2020-1', 10, 86, 1, 1.16),
(84, '2020-3', 10, 117, 4, 3.42),
(85, '2021-1', 10, 104, 4, 3.85),
(86, '2021-3', 10, 82, 6, 7.32),
(87, '2022-1', 10, 76, 11, 14.47),
(88, '2022-3', 10, 86, 5, 5.81),
(89, '2023-1', 10, 73, 8, 10.96),
(90, '2023-3', 10, 90, 9, 10),
(91, '2024-1', 10, 82, 5, 6.1),
(92, '2020-1', 11, 102, 10, 9.8),
(93, '2020-3', 11, 110, 24, 21.82),
(94, '2021-1', 11, 111, 17, 15.32),
(95, '2021-3', 11, 179, 94, 52.51),
(96, '2022-1', 11, 179, 71, 39.66),
(97, '2022-3', 11, 147, 73, 49.66),
(98, '2023-1', 11, 184, 84, 45.65),
(99, '2023-3', 11, 175, 82, 46.86),
(100, '2024-1', 11, 219, 81, 36.99),
(101, '2020-1', 12, 180, 36, 20),
(102, '2020-3', 12, 124, 40, 32.26),
(103, '2021-1', 12, 133, 39, 29.32),
(104, '2021-3', 12, 218, 48, 22.02),
(105, '2022-1', 12, 113, 52, 46.02),
(106, '2022-3', 12, 86, 40, 46.51),
(107, '2023-1', 12, 77, 16, 20.78),
(108, '2023-3', 12, 106, 20, 18.87),
(109, '2024-1', 12, 120, 38, 31.67),
(110, '2020-1', 13, 105, 14, 13.33),
(111, '2020-3', 13, 123, 17, 13.82),
(112, '2021-1', 13, 109, 26, 23.85),
(113, '2021-3', 13, 98, 23, 23.47),
(114, '2022-1', 13, 101, 27, 26.73),
(115, '2022-3', 13, 100, 19, 19),
(116, '2023-1', 13, 99, 16, 16.16),
(117, '2023-3', 13, 110, 19, 17.27),
(118, '2024-1', 13, 104, 21, 20.19),
(119, '2020-1', 16, 79, 6, 7.59),
(120, '2020-3', 16, 89, 7, 7.87),
(121, '2021-1', 16, 106, 14, 13.21),
(122, '2021-3', 16, 101, 25, 24.75),
(123, '2022-1', 16, 88, 17, 19.32),
(124, '2022-3', 16, 81, 18, 22.22),
(125, '2023-1', 16, 101, 15, 14.85),
(126, '2023-3', 16, 80, 14, 17.5),
(127, '2024-1', 16, 86, 12, 13.95),
(128, '2020-1', 17, 59, 5, 8.47),
(129, '2020-3', 17, 57, 3, 5.26),
(130, '2021-1', 17, 32, 7, 21.88),
(131, '2021-3', 17, 42, 6, 14.29),
(132, '2022-1', 17, 37, 5, 13.51),
(133, '2022-3', 17, 23, 4, 17.39),
(134, '2023-1', 17, 50, 14, 28),
(135, '2023-3', 17, 38, 7, 18.42),
(136, '2024-1', 17, 42, 13, 30.95),
(137, '2020-1', 18, 61, 1, 1.64),
(138, '2020-3', 18, 55, 4, 7.27),
(139, '2021-1', 18, 82, 9, 10.98),
(140, '2021-3', 18, 67, 16, 23.88),
(141, '2022-1', 18, 53, 19, 35.85),
(142, '2022-3', 18, 62, 19, 30.65),
(143, '2023-1', 18, 78, 17, 21.79),
(144, '2023-3', 18, 73, 18, 24.66),
(145, '2024-1', 18, 72, 37, 51.39),
(146, '2020-1', 19, 55, 2, 3.64),
(147, '2020-3', 19, 49, 1, 2.04),
(148, '2021-1', 19, 55, 7, 12.73),
(149, '2021-3', 19, 61, 9, 14.75),
(150, '2022-1', 19, 47, 8, 17.02),
(151, '2022-3', 19, 51, 5, 9.8),
(152, '2023-1', 19, 49, 7, 14.29),
(153, '2023-3', 19, 46, 8, 17.39),
(154, '2024-1', 19, 50, 8, 16),
(155, '2020-1', 23, 17, 1, 5.88),
(156, '2020-3', 23, 14, 0, 0),
(157, '2021-1', 23, 8, 0, 0),
(158, '2021-3', 23, 18, 3, 16.67),
(159, '2022-1', 23, 11, 5, 45.45),
(160, '2022-3', 23, 16, 8, 50),
(161, '2023-1', 23, 16, 4, 25),
(162, '2023-3', 23, 11, 3, 27.27),
(163, '2024-1', 23, 12, 3, 25),
(164, '2020-1', 25, 22, 1, 4.55),
(165, '2020-3', 25, 25, 0, 0),
(166, '2021-1', 25, 25, 2, 8),
(167, '2021-3', 25, 17, 4, 23.53),
(168, '2022-1', 25, 15, 9, 60),
(169, '2022-3', 25, 16, 3, 18.75),
(170, '2023-1', 25, 18, 3, 16.67),
(171, '2023-3', 25, 16, 4, 25),
(172, '2024-1', 25, 14, 2, 14.29),
(173, '2020-1', 26, 55, 4, 7.27),
(174, '2020-3', 26, 43, 3, 6.98),
(175, '2021-1', 26, 56, 5, 8.93),
(176, '2021-3', 26, 48, 12, 25),
(177, '2022-1', 26, 45, 4, 8.89),
(178, '2022-3', 26, 61, 5, 8.2),
(179, '2023-1', 26, 51, 7, 13.73),
(180, '2023-3', 26, 45, 4, 8.89),
(181, '2024-1', 26, 37, 8, 21.62),
(182, '2020-1', 27, 83, 1, 1.2),
(183, '2020-3', 27, 84, 6, 7.14),
(184, '2021-1', 27, 83, 10, 12.05),
(185, '2021-3', 27, 100, 14, 14),
(186, '2022-1', 27, 87, 8, 9.2),
(187, '2022-3', 27, 61, 8, 13.11),
(188, '2023-1', 27, 79, 9, 11.39),
(189, '2023-3', 27, 87, 13, 14.94),
(190, '2024-1', 27, 77, 14, 18.18),
(191, '2020-1', 68, 70, 20, 28.57),
(192, '2020-3', 68, 85, 10, 11.76),
(193, '2020-1', 74, 45, 10, 22.22),
(194, '2020-3', 74, 40, 5, 12.5),
(195, '2021-1', 74, 60, 30, 50),
(196, '2021-3', 74, 100, 10, 10),
(197, '2020-1', 64, 40, 8, 20),
(198, '2020-3', 64, 35, 12, 34.29),
(199, '2021-1', 64, 29, 9, 31.03),
(200, '2021-3', 64, 28, 4, 14.29),
(201, '2020-1', 67, 25, 3, 12),
(202, '2020-3', 67, 43, 8, 18.6),
(203, '2020-1', 69, 25, 2, 8),
(204, '2020-3', 69, 32, 8, 25),
(205, '2021-1', 69, 40, 11, 27.5),
(206, '2021-3', 69, 20, 1, 5),
(207, '2022-1', 69, 46, 12, 26.09),
(208, '2020-1', 30, 49, 10, 20.41),
(209, '2020-3', 30, 60, 13, 21.67),
(210, '2021-1', 30, 70, 21, 30),
(211, '2021-3', 30, 49, 18, 36.73),
(212, '2022-1', 30, 71, 15, 21.13),
(213, '2022-3', 30, 80, 10, 12.5),
(214, '2020-1', 31, 32, 10, 31.25),
(215, '2020-3', 31, 40, 19, 47.5),
(216, '2021-1', 31, 45, 21, 46.67),
(217, '2022-1', 31, 39, 10, 25.64),
(218, '2021-3', 31, 41, 4, 9.76),
(219, '2020-1', 32, 71, 5, 7.04),
(220, '2020-3', 32, 65, 11, 16.92),
(221, '2021-1', 32, 65, 8, 12.31),
(222, '2021-3', 32, 59, 4, 6.78),
(223, '2022-1', 32, 75, 25, 33.33),
(224, '2020-1', 36, 43, 5, 11.63),
(225, '2020-3', 36, 70, 12, 17.14),
(226, '2021-1', 36, 51, 10, 19.61),
(227, '2021-3', 36, 51, 3, 5.88),
(228, '2022-1', 36, 51, 10, 19.61),
(229, '2022-3', 36, 35, 4, 11.43),
(230, '2020-1', 38, 42, 3, 7.14),
(231, '2020-3', 38, 48, 14, 29.17),
(232, '2021-1', 38, 39, 7, 17.95),
(233, '2021-3', 38, 71, 21, 29.58),
(234, '2022-1', 38, 80, 14, 17.5),
(235, '2022-3', 38, 85, 12, 14.12),
(236, '2023-1', 38, 89, 9, 10.11),
(237, '2023-3', 38, 81, 23, 28.4),
(238, '2020-1', 44, 63, 11, 17.46),
(239, '2020-3', 44, 59, 15, 25.42),
(240, '2021-1', 44, 78, 19, 24.36),
(241, '2021-3', 44, 65, 19, 29.23),
(242, '2022-1', 44, 74, 3, 4.05),
(243, '2022-3', 44, 82, 16, 19.51),
(244, '2020-1', 39, 49, 4, 8.16),
(245, '2020-3', 39, 53, 7, 13.21),
(246, '2021-1', 39, 49, 6, 12.24),
(247, '2021-3', 39, 78, 13, 16.67),
(248, '2022-1', 39, 81, 17, 20.99),
(249, '2020-1', 41, 49, 10, 20.41),
(250, '2020-3', 41, 72, 13, 18.06),
(251, '2021-1', 41, 62, 12, 19.35),
(252, '2021-3', 41, 78, 14, 17.95),
(253, '2020-1', 51, 78, 25, 32.05),
(254, '2020-3', 51, 79, 12, 15.19),
(255, '2021-1', 51, 89, 29, 32.58),
(256, '2021-3', 51, 94, 23, 24.47),
(257, '2022-1', 51, 97, 35, 36.08),
(258, '2022-3', 51, 110, 45, 40.91),
(259, '2023-1', 51, 89, 50, 56.18),
(260, '2023-3', 51, 75, 21, 28),
(261, '2020-1', 53, 52, 25, 48.08),
(262, '2020-3', 53, 51, 19, 37.25),
(263, '2021-1', 53, 66, 11, 16.67),
(264, '2021-3', 53, 74, 19, 25.68),
(265, '2020-1', 54, 39, 7, 17.95),
(266, '2020-3', 54, 59, 12, 20.34),
(267, '2021-1', 54, 71, 20, 28.17),
(268, '2020-1', 58, 39, 11, 28.21),
(269, '2020-3', 58, 61, 21, 34.43),
(270, '2021-1', 58, 55, 19, 34.55),
(271, '2021-3', 58, 71, 31, 43.66),
(272, '2022-1', 58, 61, 17, 27.87),
(273, '2022-3', 58, 79, 31, 39.24),
(274, '2020-1', 55, 48, 8, 16.67),
(275, '2020-3', 55, 50, 11, 22),
(276, '2021-1', 55, 49, 7, 14.29),
(277, '2021-3', 55, 59, 13, 22.03),
(278, '2022-1', 55, 47, 14, 29.79),
(279, '2020-1', 56, 38, 12, 31.58),
(280, '2020-3', 45, 58, 10, 17.24),
(281, '2021-1', 56, 64, 18, 28.13),
(282, '2021-3', 56, 78, 23, 29.49),
(283, '2022-1', 56, 71, 21, 29.58),
(284, '2020-3', 56, 61, 20, 32.79),
(285, '2022-3', 56, 70, 35, 50),
(286, '2020-1', 71, 45, 12, 26.67),
(287, '2020-3', 71, 41, 10, 24.39),
(288, '2021-1', 71, 51, 8, 15.69),
(289, '2021-3', 71, 61, 12, 19.67),
(290, '2022-1', 71, 47, 9, 19.15),
(291, '2022-3', 71, 62, 14, 22.58),
(292, '2023-1', 44, 75, 15, 20);

--
-- Disparadores `datos`
--
DELIMITER $$
CREATE TRIGGER `calcular_tasa_reprobacion` BEFORE INSERT ON `datos` FOR EACH ROW BEGIN
    IF NEW.inscritos = 0 THEN
        SET NEW.tasa_reprobacion = 0.00;
    ELSE
        SET NEW.tasa_reprobacion = ROUND((NEW.reprobados / NEW.inscritos) * 100, 2);
    END IF;
END
$$
DELIMITER ;
DELIMITER $$
CREATE TRIGGER `calcular_tasa_reprobacion_update` BEFORE UPDATE ON `datos` FOR EACH ROW BEGIN
    IF NEW.inscritos = 0 THEN
        SET NEW.tasa_reprobacion = 0.00;
    ELSE
        SET NEW.tasa_reprobacion = ROUND((NEW.reprobados / NEW.inscritos) * 100, 2);
    END IF;
END
$$
DELIMITER ;

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `materia`
--

CREATE TABLE `materia` (
  `Id_materia` int(11) NOT NULL,
  `nombre_materia` varchar(100) NOT NULL,
  `id_area_materia` int(11) DEFAULT NULL,
  `id_carrera` int(11) DEFAULT NULL,
  `creditos` int(11) NOT NULL,
  `semestre` varchar(2) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Volcado de datos para la tabla `materia`
--

INSERT INTO `materia` (`Id_materia`, `nombre_materia`, `id_area_materia`, `id_carrera`, `creditos`, `semestre`) VALUES
(1, 'Algebra Lineal', 1, 1, 3, '1'),
(2, 'Cálculo Diferencial', 1, 1, 4, '1'),
(3, 'Cátedra Democracia y Ciudadania', 2, 1, 1, '1'),
(4, 'Cátedra Francisco José de Caldas', 2, 1, 1, '1'),
(5, 'Introducción a Algoritmos', 5, 1, 3, '1'),
(6, 'Lógica Matemática', 1, 1, 3, '1'),
(7, 'Producción y Comprensión de Textos I', 2, 1, 3, '1'),
(8, 'Administración', 4, 1, 3, '2'),
(9, 'Cálculo Integral', 1, 1, 3, '2'),
(10, 'Cátedra de Contexto', 2, 1, 1, '2'),
(11, 'Estructura de Datos', 5, 1, 3, '2'),
(12, 'Física I: Mecánica Newtoniana', 1, 1, 3, '2'),
(13, 'Producción y Compresión de Textos II', 2, 1, 2, '2'),
(14, 'Programación Orientada a Objetos', 5, 1, 3, '2'),
(15, 'Bases de Datos', 5, 1, 3, '3'),
(16, 'Ciencia, Tecnologia y Sociedad', 2, 1, 2, '3'),
(17, 'Contabilidad General', 4, 1, 2, '3'),
(18, 'Física II: Electromagnetismo', 1, 1, 2, '3'),
(19, 'Fundamentos de Organizaciones', 4, 1, 3, '3'),
(20, 'Programación Multinivel', 5, 1, 3, '3'),
(21, 'Segunda Lengua I - Inglés', 8, 1, 2, '3'),
(22, 'Diseño Lógico', 5, 1, 3, '4'),
(23, 'Matemáticas Especiales', 1, 1, 3, '4'),
(24, 'Análisis y métodos numéricos', 1, 1, 3, '4'),
(25, 'Fundamentos de Economía', 4, 1, 2, '4'),
(26, 'Tics en las Organizaciones', 2, 1, 2, '4'),
(27, 'Ética y Sociedad', 2, 1, 2, '4'),
(28, 'Programación Avanzada', 5, 1, 3, '4'),
(29, 'Segunda Lengua II - Inglés', 8, 1, 2, '4'),
(30, 'Análisis de Sistemas', 5, 1, 3, '5'),
(31, 'Transmisión de Datos', 6, 1, 3, '5'),
(32, 'Programación Web', 6, 1, 3, '5'),
(33, 'Aplicaciones para Internet', 6, 1, 3, '5'),
(34, 'Bases de Datos Distribuidas', 6, 1, 3, '5'),
(35, 'Analisis Social Colombiano', 3, 1, 2, '5'),
(36, 'Sistemas Operacionales', 5, 1, 3, '5'),
(37, 'Taller de Investigación', 5, 1, 2, '5'),
(38, 'Arquitectura de Computadores', 5, 1, 2, '6'),
(39, 'Fundamentos de telemática', 6, 1, 3, '6'),
(40, 'Protocolos de Comunicación', 6, 1, 3, '6'),
(41, 'Programación por Componentes', 6, 1, 3, '6'),
(42, 'Regulación para telecomunicaciones', 6, 1, 3, '6'),
(43, 'Globalizacion', 3, 1, 2, '6'),
(44, 'Inteligencia Artificial', 5, 1, 3, '6'),
(45, 'Segunda Lengua III - Inglés', 8, 1, 2, '6'),
(46, 'Trabajo de Grado Tecnológico', 5, 1, 2, '6'),
(47, 'Ecuaciones Diferenciales', 7, 1, 3, NULL),
(48, 'Bases de Datos Avanzadas', 7, 1, 3, NULL),
(49, 'Ingeniería de Software', 7, 1, 3, NULL),
(50, 'Socio Humanística', 2, 2, 2, '7'),
(51, 'Cálculo Multivariado', 1, 2, 3, '7'),
(52, 'Ingenieria Económica', 4, 2, 3, '7'),
(53, 'Probabilidad y Estadística', 1, 2, 3, '7'),
(54, 'Sistemas Distribuidos', 5, 2, 3, '7'),
(55, 'Teoría General de Sistemas', 5, 2, 2, '7'),
(56, 'Física III: Ondas y Física Moderna', 1, 2, 3, '8'),
(57, 'Formulación y Evaluación de Proyectos', 4, 2, 3, '8'),
(58, 'Análisis de Fourier', 1, 2, 3, '8'),
(59, 'Redes Corporativas', 5, 2, 3, '8'),
(60, 'Sistemas Abiertos', 5, 2, 3, '8'),
(61, 'Teoría de la Informatica', 5, 2, 3, '8'),
(62, 'Computación Cuántica', 6, 2, 3, '9'),
(63, 'Simulación de Sistemas Dinámicos', 6, 2, 3, '9'),
(64, 'Criptología', 6, 2, 3, '9'),
(65, 'Investigación de Operaciones', 6, 2, 3, '9'),
(66, 'Trabajo de Grado I', 5, 2, 2, '9'),
(67, 'Planificación y Diseño de Redes', 5, 2, 3, '9'),
(68, 'Redes de Alta Velocidad', 5, 2, 3, '9'),
(69, 'Seguridad en Redes', 5, 2, 3, '9'),
(70, 'Económico-Administrativa', 4, 2, 2, '10'),
(71, 'Análisis de Datos', 6, 2, 3, '10'),
(72, 'Bioinformática', 6, 2, 3, '10'),
(73, 'Seminario de Telemática', 6, 2, 3, '10'),
(74, 'Redes inalámbricas', 6, 2, 3, '10'),
(75, 'Trabajo de Grado II', 5, 2, 2, '10'),
(76, 'Gerencia y Auditoría en Redes', 4, 2, 3, '10'),
(77, 'Segunda Lengua I - Francés', 8, 1, 2, '3'),
(78, 'Segunda Lengua I - Alemán', 8, 1, 2, '3'),
(79, 'Segunda Lengua I - Italiano', 8, 1, 2, '3'),
(80, 'Segunda Lengua I - Portugués', 8, 1, 2, '3'),
(81, 'Segunda Lengua I - Mandarín', 8, 1, 2, '3'),
(82, 'Segunda Lengua II - Francés', 8, 1, 2, '4'),
(83, 'Segunda Lengua II - Alemán', 8, 1, 2, '4'),
(84, 'Segunda Lengua II - Italiano', 8, 1, 2, '4'),
(85, 'Segunda Lengua II - Portugués', 8, 1, 2, '4'),
(86, 'Segunda Lengua II - Mandarín', 8, 1, 2, '4'),
(87, 'Segunda Lengua III - Francés', 8, 1, 2, '6'),
(88, 'Segunda Lengua III - Alemán', 8, 1, 2, '6'),
(89, 'Segunda Lengua III - Italiano', 8, 1, 2, '6'),
(90, 'Segunda Lengua III - Portugués', 8, 1, 2, '6'),
(91, 'Segunda Lengua III - Mandarín', 8, 1, 2, '6');

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `materiaverbo`
--

CREATE TABLE `materiaverbo` (
  `id_materia` int(11) NOT NULL,
  `id_verbo` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Volcado de datos para la tabla `materiaverbo`
--

INSERT INTO `materiaverbo` (`id_materia`, `id_verbo`) VALUES
(1, 1),
(1, 2),
(1, 3),
(1, 9),
(1, 10),
(1, 12),
(1, 17),
(1, 22),
(1, 31),
(1, 56),
(2, 3),
(2, 17),
(2, 29),
(2, 31),
(2, 53),
(2, 83),
(2, 84),
(2, 85),
(3, 69),
(3, 70),
(3, 71),
(3, 73),
(3, 74),
(3, 75),
(3, 76),
(3, 77),
(4, 1),
(4, 69),
(4, 71),
(4, 72),
(4, 73),
(4, 74),
(5, 1),
(5, 16),
(5, 17),
(5, 18),
(5, 25),
(5, 26),
(6, 1),
(6, 2),
(6, 3),
(6, 5),
(6, 10),
(6, 13),
(6, 24),
(6, 26),
(6, 28),
(6, 31),
(6, 34),
(6, 38),
(7, 2),
(7, 6),
(7, 69),
(7, 70),
(7, 71),
(7, 73),
(7, 85),
(8, 5),
(8, 76),
(8, 81),
(8, 85),
(9, 1),
(9, 73),
(9, 74),
(9, 76),
(9, 83),
(9, 84),
(9, 85),
(10, 69),
(10, 70),
(10, 71),
(10, 73),
(10, 75),
(10, 76),
(10, 77),
(14, 3),
(14, 5),
(14, 16),
(14, 17),
(14, 18),
(14, 24),
(14, 26),
(14, 27),
(14, 31),
(14, 38),
(14, 42),
(14, 45),
(14, 84),
(22, 2),
(22, 3),
(22, 28),
(22, 31),
(22, 39),
(22, 53),
(22, 82);

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `registro_accesos`
--

CREATE TABLE `registro_accesos` (
  `id` int(11) NOT NULL,
  `nid_usuario` int(11) NOT NULL,
  `modulo` varchar(100) NOT NULL,
  `fecha_hora` datetime DEFAULT current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Volcado de datos para la tabla `registro_accesos`
--

INSERT INTO `registro_accesos` (`id`, `nid_usuario`, `modulo`, `fecha_hora`) VALUES
(1, 1013670411, 'Objetivos_RA', '2025-07-21 08:00:01'),
(2, 1013670411, 'Habilidad_Perfil', '2025-07-21 08:00:04'),
(3, 1013670411, 'Objetivos_RA', '2025-07-21 08:00:06'),
(4, 1013670411, 'Objetivos_RA', '2025-07-21 08:00:08'),
(5, 1013670411, 'Insumos', '2025-07-21 08:46:40'),
(6, 1013670411, 'Materias', '2025-07-21 08:46:41'),
(7, 2147483647, 'Materias', '2025-07-21 08:49:25'),
(8, 2147483647, 'Materias', '2025-07-21 08:50:25'),
(9, 2147483647, 'Materias', '2025-07-21 08:51:03'),
(10, 2147483647, 'Verbos', '2025-07-21 09:01:19'),
(11, 2147483647, 'Materias', '2025-07-21 09:01:24'),
(12, 2147483647, 'Materias', '2025-07-21 09:02:22'),
(13, 2147483647, 'Materias', '2025-07-21 09:02:35'),
(14, 2147483647, 'Materias', '2025-07-21 09:07:11'),
(15, 2147483647, 'Materias', '2025-07-21 09:12:34'),
(16, 2147483647, 'Materias', '2025-07-21 09:12:37'),
(17, 2147483647, 'Materias', '2025-07-21 09:37:40'),
(18, 2147483647, 'Materias', '2025-07-21 09:37:42'),
(19, 2147483647, 'Materias', '2025-07-21 09:37:59'),
(20, 2147483647, 'Materias', '2025-07-21 09:38:13'),
(21, 2147483647, 'Materias', '2025-07-21 09:38:44'),
(22, 2147483647, 'Materias', '2025-07-21 09:41:45'),
(23, 2147483647, 'Materias', '2025-07-21 09:41:59'),
(24, 2147483647, 'Materias', '2025-07-21 10:03:43'),
(25, 2147483647, 'Materias', '2025-07-21 10:03:45'),
(26, 2147483647, 'Materias', '2025-07-21 10:03:56'),
(27, 2147483647, 'Materias', '2025-07-21 10:04:09'),
(28, 2147483647, 'Materias', '2025-07-21 10:04:31'),
(29, 2147483647, 'Materias', '2025-07-21 10:04:47'),
(30, 2147483647, 'Habilidad_Perfil', '2025-07-21 10:21:31'),
(31, 2147483647, 'Objetivos_RA', '2025-07-21 10:22:04'),
(32, 2147483647, 'Materias', '2025-07-21 10:39:58'),
(33, 2147483647, 'Materias', '2025-07-21 10:40:02'),
(34, 2147483647, 'Materias', '2025-07-21 10:53:29'),
(35, 2147483647, 'Materias', '2025-07-21 10:53:30'),
(36, 2147483647, 'Materias', '2025-07-21 10:53:45'),
(37, 2147483647, 'Materias', '2025-07-21 10:53:55'),
(38, 2147483647, 'Materias', '2025-07-21 10:54:18'),
(39, 2147483647, 'Materias', '2025-07-21 10:54:37'),
(40, 2147483647, 'Materias', '2025-07-21 10:55:05'),
(41, 2147483647, 'Materias', '2025-07-21 10:55:54'),
(42, 2147483647, 'Materias', '2025-07-21 10:56:08'),
(43, 2147483647, 'Materias', '2025-07-21 10:56:26'),
(44, 2147483647, 'Materias', '2025-07-21 11:05:30'),
(45, 2147483647, 'Materias', '2025-07-21 11:05:32'),
(46, 2147483647, 'Materias', '2025-07-21 11:05:49'),
(47, 2147483647, 'Materias', '2025-07-21 11:06:09'),
(48, 2147483647, 'Materias', '2025-07-21 11:08:10'),
(49, 2147483647, 'Materias', '2025-07-21 11:08:21'),
(50, 2147483647, 'Materias', '2025-07-21 11:08:34'),
(51, 2147483647, 'Materias', '2025-07-21 11:08:48'),
(52, 2147483647, 'Materias', '2025-07-21 11:09:25'),
(53, 2147483647, 'Materias', '2025-07-21 11:10:35'),
(54, 2147483647, 'Materias', '2025-07-21 11:10:46'),
(55, 2147483647, 'Materias', '2025-07-21 11:10:56'),
(56, 2147483647, 'Materias', '2025-07-21 11:11:09'),
(57, 2147483647, 'Materias', '2025-07-21 11:11:36'),
(58, 2147483647, 'Materias', '2025-07-21 11:11:52'),
(59, 2147483647, 'Materias', '2025-07-21 11:18:52'),
(60, 2147483647, 'Materias', '2025-07-21 11:19:06'),
(61, 2147483647, 'Materias', '2025-07-21 11:19:18'),
(62, 2147483647, 'Materias', '2025-07-21 11:19:32'),
(63, 2147483647, 'Materias', '2025-07-21 11:19:44'),
(64, 2147483647, 'Materias', '2025-07-21 11:29:32'),
(65, 2147483647, 'Materias', '2025-07-21 11:29:34'),
(66, 2147483647, 'Materias', '2025-07-21 11:29:47'),
(67, 2147483647, 'Materias', '2025-07-21 11:30:06'),
(68, 2147483647, 'Materias', '2025-07-21 11:30:21'),
(69, 2147483647, 'Materias', '2025-07-21 11:32:49'),
(70, 2147483647, 'Materias', '2025-07-21 11:33:01'),
(71, 2147483647, 'Materias', '2025-07-21 11:33:12'),
(72, 2147483647, 'Materias', '2025-07-21 11:39:36'),
(73, 2147483647, 'Materias', '2025-07-21 11:39:59'),
(74, 2147483647, 'Materias', '2025-07-21 11:40:25'),
(75, 2147483647, 'Materias', '2025-07-21 11:40:38'),
(76, 2147483647, 'Materias', '2025-07-21 11:41:18'),
(77, 2147483647, 'Materias', '2025-07-21 11:41:34'),
(78, 2147483647, 'Materias', '2025-07-21 11:41:48'),
(79, 2147483647, 'Materias', '2025-07-21 11:42:09'),
(80, 2147483647, 'Materias', '2025-07-21 11:42:46'),
(81, 2147483647, 'Materias', '2025-07-21 11:43:16'),
(82, 2147483647, 'Materias', '2025-07-21 11:43:28'),
(83, 2147483647, 'Materias', '2025-07-21 11:43:42'),
(84, 2147483647, 'Materias', '2025-07-21 11:46:26'),
(85, 2147483647, 'Materias', '2025-07-21 11:47:31'),
(86, 2147483647, 'Materias', '2025-07-21 11:47:43'),
(87, 2147483647, 'Materias', '2025-07-21 11:47:56'),
(88, 2147483647, 'Materias', '2025-07-21 11:48:14'),
(89, 2147483647, 'Materias', '2025-07-21 11:48:25'),
(90, 2147483647, 'Materias', '2025-07-21 11:48:50'),
(91, 2147483647, 'Materias', '2025-07-21 11:49:12'),
(92, 2147483647, 'Materias', '2025-07-21 11:49:49'),
(93, 2147483647, 'Materias', '2025-07-21 11:50:08'),
(94, 2147483647, 'Materias', '2025-07-21 11:50:38'),
(95, 2147483647, 'Materias', '2025-07-21 11:50:49'),
(96, 2147483647, 'Materias', '2025-07-21 11:52:42'),
(97, 2147483647, 'Materias', '2025-07-21 11:52:56'),
(98, 2147483647, 'Materias', '2025-07-21 11:53:13'),
(99, 2147483647, 'Materias', '2025-07-21 11:53:27'),
(100, 2147483647, 'Materias', '2025-07-21 11:53:43'),
(101, 2147483647, 'Materias', '2025-07-21 11:55:32'),
(102, 2147483647, 'Materias', '2025-07-21 11:55:46'),
(103, 2147483647, 'Materias', '2025-07-21 11:56:01'),
(104, 2147483647, 'Materias', '2025-07-21 11:56:16'),
(105, 2147483647, 'Materias', '2025-07-21 11:56:50'),
(106, 2147483647, 'Materias', '2025-07-21 11:57:04'),
(107, 2147483647, 'Materias', '2025-07-21 11:57:30'),
(108, 2147483647, 'Materias', '2025-07-21 11:57:40'),
(109, 2147483647, 'Materias', '2025-07-21 11:57:50'),
(110, 2147483647, 'Materias', '2025-07-21 11:58:05'),
(111, 2147483647, 'Materias', '2025-07-21 11:58:18'),
(112, 2147483647, 'Materias', '2025-07-21 11:59:10'),
(113, 2147483647, 'Materias', '2025-07-21 11:59:23'),
(114, 2147483647, 'Materias', '2025-07-21 11:59:43'),
(115, 2147483647, 'Materias', '2025-07-21 11:59:53'),
(116, 2147483647, 'Materias', '2025-07-21 12:00:05'),
(117, 2147483647, 'Materias', '2025-07-21 12:00:29'),
(118, 2147483647, 'Materias', '2025-07-21 12:02:41'),
(119, 2147483647, 'Materias', '2025-07-21 12:04:32'),
(120, 2147483647, 'Materias', '2025-07-21 12:04:43'),
(121, 2147483647, 'Materias', '2025-07-21 12:04:55'),
(122, 2147483647, 'Materias', '2025-07-21 12:05:11'),
(123, 2147483647, 'Materias', '2025-07-21 12:07:34'),
(124, 2147483647, 'Materias', '2025-07-21 12:07:46'),
(125, 2147483647, 'Verbos', '2025-07-21 12:08:34'),
(126, 2147483647, 'Verbos', '2025-07-21 12:08:48'),
(127, 2147483647, 'Verbos', '2025-07-21 12:09:26'),
(128, 2147483647, 'Verbos', '2025-07-21 12:09:50'),
(129, 2147483647, 'Verbos', '2025-07-21 12:10:18'),
(130, 2147483647, 'Verbos', '2025-07-21 12:10:48'),
(131, 2147483647, 'Verbos', '2025-07-21 12:12:18'),
(132, 2147483647, 'Verbos', '2025-07-21 12:12:51'),
(133, 2147483647, 'Verbos', '2025-07-21 12:13:49'),
(134, 2147483647, 'Verbos', '2025-07-21 12:14:45'),
(135, 2147483647, 'Verbos', '2025-07-21 12:15:17'),
(136, 2147483647, 'Verbos', '2025-07-21 12:15:42'),
(137, 2147483647, 'Verbos', '2025-07-21 12:16:59'),
(138, 2147483647, 'Habilidad_Perfil', '2025-07-21 12:27:53'),
(139, 2147483647, 'Objetivos_RA', '2025-07-21 12:27:56'),
(140, 2147483647, 'Documentos', '2025-07-21 12:27:59'),
(141, 2147483647, 'Insumos', '2025-07-21 12:28:04'),
(142, 2147483647, 'Gestion_de_usuarios', '2025-07-21 12:28:05'),
(143, 1022519874, 'Materias', '2025-07-21 12:28:51'),
(144, 1022519874, 'Verbos', '2025-07-21 12:28:52'),
(145, 1022519874, 'Habilidad_Perfil', '2025-07-21 12:32:42'),
(146, 1022519874, 'Objetivos_RA', '2025-07-21 12:32:43'),
(147, 1022519874, 'Documentos', '2025-07-21 12:32:44'),
(148, 1022519874, 'Insumos', '2025-07-21 12:32:46'),
(149, 1049419919, 'Materias', '2025-07-21 12:32:53'),
(150, 1049419919, 'Verbos', '2025-07-21 12:34:43'),
(151, 1049419919, 'Materias', '2025-07-21 12:34:52'),
(152, 1049419919, 'Materias', '2025-07-21 12:39:32'),
(153, 1049419919, 'Materias', '2025-07-21 12:40:25'),
(154, 1049419919, 'Materias', '2025-07-21 12:40:50'),
(155, 1049419919, 'Verbos', '2025-07-21 12:40:57'),
(156, 1049419919, 'Verbos', '2025-07-21 12:41:21'),
(157, 1049419919, 'Materias', '2025-07-21 12:42:36'),
(158, 1049419919, 'Habilidad_Perfil', '2025-07-21 12:43:33'),
(159, 1049419919, 'Objetivos_RA', '2025-07-21 12:43:43'),
(160, 1049419919, 'Documentos', '2025-07-21 12:43:45'),
(161, 1049419919, 'Insumos', '2025-07-21 12:43:47'),
(162, 1049419919, 'Gestion_de_usuarios', '2025-07-21 12:43:49'),
(163, 1022519874, 'Materias', '2025-07-21 12:43:55'),
(164, 1022519874, 'Verbos', '2025-07-21 12:43:59'),
(165, 1022519874, 'Insumos', '2025-07-21 12:44:00'),
(166, 1022519874, 'Objetivos_RA', '2025-07-21 12:44:02'),
(167, 2147483647, 'Materias', '2025-07-21 13:21:30'),
(168, 2147483647, 'Verbos', '2025-07-21 13:22:21'),
(169, 2147483647, 'Verbos', '2025-07-21 13:22:35'),
(170, 2147483647, 'Habilidad_Perfil', '2025-07-21 13:23:16'),
(171, 2147483647, 'Objetivos_RA', '2025-07-21 13:23:19'),
(172, 2147483647, 'Gestion_de_usuarios', '2025-07-21 13:23:21'),
(173, 2147483647, 'Materias', '2025-07-21 13:23:42'),
(174, 2147483647, 'Verbos', '2025-07-21 13:23:44'),
(175, 2147483647, 'Verbos', '2025-07-21 13:23:56'),
(176, 2147483647, 'Verbos', '2025-07-21 13:24:08'),
(177, 2147483647, 'Verbos', '2025-07-21 13:24:13'),
(178, 2147483647, 'Verbos', '2025-07-21 13:25:10'),
(179, 2147483647, 'Verbos', '2025-07-21 13:25:42'),
(180, 2147483647, 'Verbos', '2025-07-21 13:25:50'),
(181, 2147483647, 'Verbos', '2025-07-21 13:26:21'),
(182, 2147483647, 'Verbos', '2025-07-21 13:26:52'),
(183, 2147483647, 'Verbos', '2025-07-21 13:26:56'),
(184, 2147483647, 'Verbos', '2025-07-21 13:27:00'),
(185, 2147483647, 'Verbos', '2025-07-21 13:27:09'),
(186, 2147483647, 'Verbos', '2025-07-21 13:27:13'),
(187, 2147483647, 'Verbos', '2025-07-21 13:27:24'),
(188, 2147483647, 'Verbos', '2025-07-21 13:27:48'),
(189, 2147483647, 'Verbos', '2025-07-21 13:28:04'),
(190, 2147483647, 'Verbos', '2025-07-21 13:34:24'),
(191, 2147483647, 'Verbos', '2025-07-21 13:34:26'),
(192, 2147483647, 'Verbos', '2025-07-21 13:45:25'),
(193, 2147483647, 'Verbos', '2025-07-21 13:45:26'),
(194, 2147483647, 'Verbos', '2025-07-21 13:45:29'),
(195, 2147483647, 'Verbos', '2025-07-21 13:45:32'),
(196, 2147483647, 'Verbos', '2025-07-21 13:45:35'),
(197, 2147483647, 'Verbos', '2025-07-21 13:45:39'),
(198, 2147483647, 'Verbos', '2025-07-21 13:46:28'),
(199, 2147483647, 'Verbos', '2025-07-21 13:46:31'),
(200, 2147483647, 'Verbos', '2025-07-21 13:46:53'),
(201, 2147483647, 'Verbos', '2025-07-21 13:46:57'),
(202, 2147483647, 'Verbos', '2025-07-21 13:47:01'),
(203, 2147483647, 'Verbos', '2025-07-21 13:48:25'),
(204, 2147483647, 'Verbos', '2025-07-21 13:48:36'),
(205, 2147483647, 'Materias', '2025-07-21 13:48:40'),
(206, 2147483647, 'Verbos', '2025-07-21 13:50:44'),
(207, 2147483647, 'Gestion_de_usuarios', '2025-07-21 13:52:14'),
(208, 2147483647, 'Insumos', '2025-07-21 13:57:02'),
(209, 2147483647, 'Insumos', '2025-07-21 13:57:04'),
(210, 2147483647, 'Documentos', '2025-07-21 13:57:07'),
(211, 2147483647, 'Insumos', '2025-07-21 13:57:11'),
(212, 2147483647, 'Materias', '2025-07-21 14:00:27'),
(213, 2147483647, 'Verbos', '2025-07-21 14:00:30'),
(214, 2147483647, 'Materias', '2025-07-21 14:00:33'),
(215, 2147483647, 'Verbos', '2025-07-21 14:00:34'),
(216, 2147483647, 'Habilidad_Perfil', '2025-07-21 14:00:35'),
(217, 2147483647, 'Objetivos_RA', '2025-07-21 14:00:36'),
(218, 2147483647, 'Documentos', '2025-07-21 14:00:37'),
(219, 2147483647, 'Insumos', '2025-07-21 14:00:38'),
(220, 2147483647, 'Gestion_de_usuarios', '2025-07-21 14:00:42'),
(221, 2147483647, 'Verbos', '2025-07-21 14:55:36'),
(222, 2147483647, 'Materias', '2025-07-21 15:14:26'),
(223, 2147483647, 'Materias', '2025-07-21 15:16:50'),
(224, 2147483647, 'Verbos', '2025-07-21 15:17:13'),
(225, 2147483647, 'Verbos', '2025-07-21 15:19:06'),
(226, 2147483647, 'Verbos', '2025-07-21 15:19:19'),
(227, 2147483647, 'Habilidad_Perfil', '2025-07-21 15:20:20'),
(228, 2147483647, 'Objetivos_RA', '2025-07-21 15:20:54'),
(229, 2147483647, 'Documentos', '2025-07-21 15:21:21'),
(230, 2147483647, 'Insumos', '2025-07-21 15:22:06'),
(231, 2147483647, 'Documentos', '2025-07-21 15:22:12'),
(232, 2147483647, 'Gestion_de_usuarios', '2025-07-21 15:22:34'),
(233, 1022519874, 'Materias', '2025-07-21 15:24:29'),
(234, 1022519874, 'Verbos', '2025-07-21 15:26:54'),
(235, 1022519874, 'Materias', '2025-07-21 15:31:49'),
(236, 2147483647, 'Gestion_de_usuarios', '2025-07-21 15:41:52');

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `roles`
--

CREATE TABLE `roles` (
  `id_rol` int(11) NOT NULL,
  `nombre_rol` varchar(50) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Volcado de datos para la tabla `roles`
--

INSERT INTO `roles` (`id_rol`, `nombre_rol`) VALUES
(1, 'Administrador'),
(2, 'Lector'),
(0, 'SuperAdmin');

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `usuarios`
--

CREATE TABLE `usuarios` (
  `nid` int(11) NOT NULL,
  `nombres` varchar(100) NOT NULL,
  `apellidos` varchar(100) NOT NULL,
  `email` varchar(100) NOT NULL,
  `password` varchar(255) NOT NULL,
  `pregunta` varchar(50) NOT NULL,
  `respuesta` varchar(50) NOT NULL,
  `ult_conexion` datetime DEFAULT NULL,
  `rol_id` int(11) NOT NULL,
  `token_recuperacion` varchar(100) DEFAULT NULL,
  `expira_token` datetime DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Volcado de datos para la tabla `usuarios`
--

INSERT INTO `usuarios` (`nid`, `nombres`, `apellidos`, `email`, `password`, `pregunta`, `respuesta`, `ult_conexion`, `rol_id`, `token_recuperacion`, `expira_token`) VALUES
(1013670411, 'jhon', 'serrano', 'jmserranog@udistrital.edu.co', '$2y$10$41qziIeM6bfaEtPyn0a1YOV6j1uDKHbSJsql./ZsSeKAlNdyJa57.', 'Color favorito', 'azul', '2025-07-21 08:46:39', 2, '29d9adb76e7c832508869a92e0501ee64def24995f23fe0238ee2399939865964b5cb35530e8c1dae5266e3e3bf0dd794210', '2025-07-21 16:19:31'),
(1022519874, 'Cristian', 'Jimenez Perez', 'kofabav582@kissgy.com', '$2y$10$YlWkGjAoGkMrT12qBa0HV.KoFckdbOY/UBJVw9NZ//9ZTaB7LLH/O', 'Mascota de la infancia', 'juan', '2025-07-21 15:24:24', 2, NULL, NULL),
(1049419919, 'Jhon', 'gordillo', 'jhonmarioserrano@gmail.com', '$2y$10$41qziIeM6bfaEtPyn0a1YOV6j1uDKHbSJsql./ZsSeKAlNdyJa57.', 'Color favorito', 'azul', '2025-07-21 12:32:52', 1, NULL, NULL),
(2147483647, 'Super', 'Admin', 'adminSGPM_UD@gmail.com', '$2y$10$41qziIeM6bfaEtPyn0a1YOV6j1uDKHbSJsql./ZsSeKAlNdyJa57.', 'Color favorito', 'Azul', '2025-07-21 15:41:44', 0, NULL, NULL);

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `verbo`
--

CREATE TABLE `verbo` (
  `Id_verbo` int(11) NOT NULL,
  `nombre` varchar(100) NOT NULL,
  `descripcion` text DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Volcado de datos para la tabla `verbo`
--

INSERT INTO `verbo` (`Id_verbo`, `nombre`, `descripcion`) VALUES
(1, 'Evaluar', 'Valorar rigurosamente la calidad, eficiencia o adecuación de sistemas, procesos o soluciones tecnológicas, aplicando criterios cuantificables y objetivos, para emitir juicios técnicos que guíen la toma de decisiones.'),
(2, 'Codificar', 'Traducir algoritmos y estructuras lógicas a un lenguaje de programación específico, utilizando sintaxis, convenciones y buenas prácticas para construir software funcional, escalable y mantenible.'),
(3, 'Optimizar', 'Realizar mejoras en procesos, algoritmos o sistemas con el objetivo de maximizar su rendimiento, reducir el uso de recursos o mejorar la velocidad de ejecución sin comprometer la funcionalidad.'),
(4, 'Simular', 'Recrear artificialmente el comportamiento de procesos reales mediante modelos matemáticos o computacionales, permitiendo anticipar resultados, analizar escenarios y validar hipótesis sin intervenir sistemas reales.'),
(5, 'Probar', 'Ejecutar un conjunto sistemático de casos y escenarios sobre una aplicación o módulo para verificar que cumple los requerimientos funcionales, detectar errores y asegurar la calidad del producto.'),
(6, 'Documentar', 'Registrar de manera exhaustiva el funcionamiento, estructura, decisiones de diseño, requerimientos y procesos relacionados con un sistema o desarrollo de software, facilitando su comprensión, mantenimiento y escalabilidad.'),
(7, 'Configurar', 'Ajustar y establecer parámetros, propiedades o relaciones entre componentes de software o hardware, con el fin de adaptarlos a un entorno específico o requerimientos funcionales definidos.'),
(8, 'Administrar', 'Gestionar de manera eficiente los recursos tecnológicos de un sistema informático —incluyendo usuarios, bases de datos, servidores, permisos y servicios— para asegurar su estabilidad y disponibilidad.'),
(9, 'Modelar', 'Crear representaciones conceptuales, visuales o matemáticas de sistemas, procesos o datos, utilizando herramientas y lenguajes específicos para facilitar su análisis, diseño e implementación.'),
(10, 'Estimar', 'Realizar cálculos o predicciones razonadas sobre tiempos, costos, esfuerzo humano o recursos técnicos necesarios para ejecutar un proyecto, tarea o solución informática, apoyándose en métricas históricas y conocimiento técnico.'),
(11, 'Controlar', 'Supervisar de forma continua el estado de ejecución de procesos, sistemas o servicios, aplicando mecanismos de regulación que aseguren su funcionamiento dentro de parámetros aceptables o deseados.'),
(12, 'Integrar', 'Unificar distintos módulos, sistemas o tecnologías en una solución coherente y funcional, garantizando que los elementos interactúen entre sí de manera efectiva y sin conflictos.'),
(13, 'Adaptar', 'Modificar sistemas, componentes o metodologías existentes para ajustarse a nuevos requisitos, contextos operativos, plataformas o necesidades tecnológicas.'),
(14, 'Automatizar', 'Diseñar e implementar mecanismos mediante los cuales tareas repetitivas o críticas se ejecutan de manera automática, reduciendo la intervención humana y mejorando la eficiencia operativa.'),
(15, 'Detectar', 'Identificar patrones, eventos, errores o anomalías dentro de un sistema o flujo de datos, aplicando técnicas manuales o automatizadas como análisis estadístico o inteligencia artificial.'),
(16, 'Diseñar', 'Idear, estructurar y planificar soluciones informáticas como arquitecturas de software, algoritmos, interfaces gráficas o bases de datos que respondan a necesidades técnicas o funcionales concretas.'),
(17, 'Analizar', 'Examinar con profundidad elementos técnicos como código fuente, bases de datos, estructuras lógicas, requerimientos funcionales o métricas de rendimiento para extraer conclusiones y proponer soluciones.'),
(18, 'Implementar', 'Construir e instalar una solución computacional a partir de un diseño previamente definido, asegurando que cumpla los requerimientos funcionales y no funcionales especificados.'),
(19, 'Depurar', 'Identificar, aislar y corregir errores en el código fuente o el comportamiento del sistema, empleando técnicas de seguimiento y diagnóstico para garantizar su correcto funcionamiento.'),
(20, 'Desplegar', 'Distribuir, instalar y habilitar una aplicación, sistema o servicio en un entorno de producción, asegurando que esté disponible y operativo para los usuarios finales.'),
(21, 'Mantener', 'Realizar acciones correctivas, adaptativas o evolutivas sobre un sistema en operación, con el fin de corregir errores, mejorar funcionalidades o adaptar el sistema a nuevos requerimientos.'),
(22, 'Planear', 'Definir un conjunto estructurado de actividades, tiempos, recursos y responsables para alcanzar objetivos específicos en el desarrollo, mantenimiento o implementación de sistemas informáticos.'),
(23, 'Monitorear', 'Observar en tiempo real el comportamiento de aplicaciones, redes, bases de datos o servicios digitales, detectando desviaciones o eventos críticos para su corrección inmediata.'),
(24, 'Compilar', 'Traducir el código fuente de alto nivel a lenguaje máquina mediante un compilador, generando un archivo ejecutable que puede ser interpretado por el hardware.'),
(25, 'Reutilizar', 'Aprovechar código, componentes o módulos previamente desarrollados en nuevos proyectos o contextos para aumentar la eficiencia, reducir errores y mantener coherencia técnica.'),
(26, 'Programar', 'Construir soluciones computacionales mediante la escritura estructurada de instrucciones lógicas, empleando lenguajes de programación y principios de diseño de software.'),
(27, 'Validar', 'Verificar que los componentes de un sistema cumplen estrictamente los requerimientos funcionales y no funcionales definidos, a través de pruebas y revisiones formales.'),
(28, 'Diagnosticar', 'Determinar las causas raíz de fallos o comportamientos anómalos en sistemas, redes o aplicaciones, aplicando análisis técnico y herramientas especializadas.'),
(29, 'Refactorizar', 'Reestructurar el código existente para mejorar su calidad, legibilidad y mantenimiento sin alterar su comportamiento funcional ni su lógica original.'),
(30, 'Versionar', 'Registrar y gestionar los cambios realizados sobre un proyecto de software mediante herramientas de control de versiones, facilitando la trazabilidad, colaboración y mantenimiento.'),
(31, 'Desarrollar', 'Llevar a cabo el proceso completo de construcción de software desde su concepción hasta su operación final, incluyendo análisis, diseño, programación, pruebas y despliegue.'),
(32, 'Escalar', 'Ajustar la arquitectura o recursos de un sistema para soportar mayor carga de usuarios, transacciones o datos, manteniendo el rendimiento y la disponibilidad.'),
(33, 'Digitalizar', 'Convertir información, documentos o procesos analógicos en formatos digitales para facilitar su almacenamiento, procesamiento y distribución.'),
(34, 'Encriptar', 'Aplicar algoritmos criptográficos para proteger la confidencialidad de datos, asegurando que sólo sean accesibles por quienes poseen las claves correspondientes.'),
(35, 'Desencriptar', 'Aplicar procesos de descifrado sobre datos previamente encriptados para recuperar su contenido original de forma íntegra y segura.'),
(36, 'Resguardar', 'Implementar mecanismos de protección física y lógica para preservar la integridad, disponibilidad y confidencialidad de sistemas y datos.'),
(37, 'Almacenar', 'Guardar información de manera estructurada y persistente en dispositivos o servicios de almacenamiento digital, asegurando su disponibilidad y organización.'),
(38, 'Consultar', 'Recuperar y visualizar información almacenada en bases de datos u otros sistemas informáticos mediante consultas estructuradas o interfaces de usuario.'),
(39, 'Instalar', 'Preparar el entorno y ejecutar los procedimientos necesarios para que una aplicación, herramienta o sistema informático esté operativo en un dispositivo o red.'),
(40, 'Auditar', 'Revisar técnicamente los procesos, configuraciones o desarrollos de un sistema con el fin de evaluar su cumplimiento normativo, seguridad y desempeño.'),
(41, 'Simbolizar', 'Representar abstracciones, conceptos o estructuras complejas a través de símbolos, diagramas o elementos visuales para facilitar la comprensión de modelos, procesos o datos.'),
(42, 'Encapsular', 'Ocultar la implementación interna de una funcionalidad dentro de una estructura accesible sólo mediante interfaces públicas, promoviendo modularidad y protección del código.'),
(43, 'Conectar', 'Establecer enlaces de comunicación o integración entre sistemas, dispositivos o servicios utilizando protocolos, APIs o capas de red.'),
(44, 'Mapear', 'Establecer correspondencias entre estructuras de datos o componentes de sistemas distintos, facilitando la interoperabilidad, transformación o integración de información.'),
(45, 'Empaquetar', 'Agrupar recursos de software como bibliotecas, configuraciones o scripts en contenedores o paquetes reutilizables para facilitar su distribución o despliegue.'),
(46, 'Comparar', 'Analizar dos o más elementos, versiones o sistemas identificando similitudes, diferencias y posibles mejoras desde una perspectiva funcional o técnica.'),
(47, 'Sintetizar', 'Unificar múltiples fuentes de información, datos o ideas en una representación clara y concisa que preserve la esencia y relevancia de los elementos originales.'),
(48, 'Renderizar', 'Procesar datos o estructuras abstractas para generar una representación visual, gráfica o interactiva accesible al usuario final o evaluador.'),
(49, 'Clasificar', 'Organizar elementos según características compartidas en grupos o categorías, permitiendo su procesamiento, análisis o recuperación eficiente.'),
(50, 'Filtrar', 'Aplicar criterios de exclusión o inclusión sobre conjuntos de datos o resultados, mostrando únicamente aquellos elementos relevantes o requeridos.'),
(51, 'Sincronizar', 'Coordinar la ejecución simultánea o la actualización consistente de procesos o datos distribuidos en diferentes sistemas o entornos.'),
(52, 'Predecir', 'Estimar con anticipación eventos o comportamientos futuros mediante el uso de datos históricos, modelos estadísticos o técnicas de aprendizaje automático.'),
(53, 'Transformar', 'Modificar el formato, la estructura o el contenido de datos o sistemas para adaptarlos a nuevos contextos, estándares o requerimientos técnicos.'),
(54, 'Normalizar', 'Aplicar estándares o reglas para reducir redundancias y asegurar coherencia en estructuras de datos, facilitando su almacenamiento y análisis.'),
(55, 'Escanear', 'Examinar un sistema, red o conjunto de datos en busca de amenazas, patrones, firmas o características específicas mediante herramientas automatizadas.'),
(56, 'Extraer', 'Obtener información útil desde conjuntos de datos complejos, grandes volúmenes o fuentes no estructuradas para su análisis o reutilización.'),
(57, 'Consolidar', 'Unificar múltiples fuentes de información o procesos en una única estructura centralizada, reduciendo redundancias y facilitando su gestión.'),
(58, 'Delegar', 'Asignar funciones, tareas o responsabilidades a otros módulos, procesos o agentes, para distribuir eficientemente la carga de trabajo o responsabilidades.'),
(59, 'Publicar', 'Hacer accesible al público o a otros sistemas contenido, servicios o aplicaciones mediante plataformas, APIs o sitios web.'),
(60, 'Encadenar', 'Organizar procesos o funciones de manera que la salida de uno sirva de entrada al siguiente, permitiendo la ejecución fluida y secuencial.'),
(61, 'Reconfigurar', 'Modificar la disposición o parámetros de un sistema previamente instalado o configurado, adaptándolo a nuevos requerimientos o condiciones operativas.'),
(62, 'Revertir', 'Deshacer cambios recientes en un sistema o componente, restaurando una versión anterior estable o funcionalmente válida.'),
(63, 'Exportar', 'Enviar información desde un sistema a otro formato o plataforma, asegurando su compatibilidad para análisis o procesamiento externo.'),
(64, 'Importar', 'Incorporar datos o configuraciones desde fuentes externas hacia un sistema, integrándolos adecuadamente para su procesamiento o visualización.'),
(65, 'Desacoplar', 'Separar la dependencia entre componentes o módulos de un sistema para favorecer la independencia, reutilización y facilidad de mantenimiento.'),
(66, 'Encaminar', 'Dirigir flujos de información, peticiones o procesos hacia su destino correcto dentro de una red o arquitectura de software.'),
(67, 'Notificar', 'Emitir alertas, mensajes o registros automáticos hacia usuarios o sistemas en respuesta a eventos específicos, cambios de estado o incidencias.'),
(68, 'Interpretar', 'Comprender y explicar el significado de textos, fenómenos, datos, discursos o expresiones simbólicas en distintos contextos académicos o culturales.'),
(69, 'Argumentar', 'Exponer razonamientos lógicos, sustentados en evidencia, para defender una postura o refutar una afirmación en el ámbito académico o profesional.'),
(70, 'Reflexionar', 'Pensar críticamente sobre una experiencia, fenómeno o conocimiento, considerando distintas perspectivas y su impacto personal o social.'),
(71, 'Comunicar', 'Transmitir ideas, sentimientos o información de manera clara, efectiva y coherente a través de medios orales, escritos o visuales.'),
(72, 'Investigar', 'Explorar sistemáticamente una temática para generar nuevo conocimiento o profundizar la comprensión existente, utilizando métodos científicos o analíticos.'),
(73, 'Comprender', 'Captar el significado profundo de conceptos, lecturas, procesos o situaciones, relacionándolos con conocimientos previos y nuevos aprendizajes.'),
(74, 'Relacionar', 'Establecer conexiones entre ideas, teorías, hechos o conceptos provenientes de diferentes áreas del conocimiento.'),
(75, 'Explicar', 'Desarrollar de manera clara y ordenada el contenido, causas o consecuencias de un tema, fenómeno o proceso.'),
(76, 'Comparar', 'Analizar similitudes y diferencias entre dos o más elementos, fenómenos o ideas, destacando sus implicaciones o características relevantes.'),
(77, 'Debatir', 'Participar en una discusión argumentada, respetuosa y estructurada sobre un tema, expresando opiniones sustentadas con evidencia.'),
(78, 'Sintetizar', 'Integrar información proveniente de diversas fuentes para construir una visión coherente, resumida y significativa de un tema.'),
(79, 'Aplicar', 'Utilizar conocimientos, teorías o habilidades adquiridas para resolver problemas, desarrollar proyectos o interpretar situaciones.'),
(80, 'Observar', 'Percibir y registrar con atención los detalles de un fenómeno natural, social o experimental como parte de un proceso analítico o de aprendizaje.'),
(81, 'Colaborar', 'Participar activamente en tareas grupales o interdisciplinarias, aportando al logro común mediante el trabajo conjunto.'),
(82, 'Traducir', 'Convertir un texto o mensaje de un idioma a otro, respetando su sentido original y adaptándolo a las normas lingüísticas y culturales correspondientes.'),
(83, 'Formular', 'Expresar con claridad y precisión una idea, hipótesis, pregunta o plan de acción dentro de un marco académico o técnico.'),
(84, 'Resolver', 'Plantear y ejecutar soluciones adecuadas a problemas planteados en diversas disciplinas, mediante el uso de herramientas conceptuales o prácticas.'),
(85, 'Representar', 'Expresar una idea, fenómeno o proceso mediante gráficos, símbolos, lenguaje matemático o expresiones artísticas.');

-- --------------------------------------------------------

--
-- Estructura Stand-in para la vista `vista_materias_ordenadas`
-- (Véase abajo para la vista actual)
--
CREATE TABLE `vista_materias_ordenadas` (
`Id_materia` int(11)
,`id_area_materia` int(11)
,`nombre_materia` varchar(100)
,`nombre_area` varchar(100)
,`semestre` varchar(2)
,`Id_carrera` int(11)
,`nombre_carrera` varchar(100)
,`Id_dato_materia` int(11)
,`periodo` varchar(6)
,`inscritos` int(11)
,`reprobados` int(11)
,`tasa_reprobacion` double
);

-- --------------------------------------------------------

--
-- Estructura Stand-in para la vista `vista_materias_verbos`
-- (Véase abajo para la vista actual)
--
CREATE TABLE `vista_materias_verbos` (
`nombre_materia` varchar(100)
,`semestre` varchar(2)
,`creditos` int(11)
,`verbos` mediumtext
,`verbos_ids` mediumtext
,`total_verbos` bigint(12)
,`NombreArea` varchar(100)
,`id_area` int(11)
);

-- --------------------------------------------------------

--
-- Estructura Stand-in para la vista `vista_usuarios_con_accesos`
-- (Véase abajo para la vista actual)
--
CREATE TABLE `vista_usuarios_con_accesos` (
`cedula` int(11)
,`nombres` varchar(100)
,`apellidos` varchar(100)
,`correo` varchar(100)
,`rol_id` int(11)
,`rol_nombre` varchar(50)
,`fecha_acceso` datetime
,`modulo` varchar(100)
);

-- --------------------------------------------------------

--
-- Estructura para la vista `vista_materias_ordenadas`
--
DROP TABLE IF EXISTS `vista_materias_ordenadas`;

CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `vista_materias_ordenadas`  AS SELECT `m`.`Id_materia` AS `Id_materia`, `m`.`id_area_materia` AS `id_area_materia`, `m`.`nombre_materia` AS `nombre_materia`, `a`.`nombre` AS `nombre_area`, `m`.`semestre` AS `semestre`, `c`.`Id_carrera` AS `Id_carrera`, `c`.`nombre` AS `nombre_carrera`, `d`.`Id_dato_materia` AS `Id_dato_materia`, `d`.`periodo` AS `periodo`, `d`.`inscritos` AS `inscritos`, `d`.`reprobados` AS `reprobados`, `d`.`tasa_reprobacion` AS `tasa_reprobacion` FROM (((`materia` `m` left join `area` `a` on(`m`.`id_area_materia` = `a`.`Id_area`)) left join `carrera` `c` on(`m`.`id_carrera` = `c`.`Id_carrera`)) left join `datos` `d` on(`d`.`id_materia_d` = `m`.`Id_materia`)) WHERE `d`.`inscritos` > 0 ORDER BY `m`.`Id_materia` ASC, substring_index(`d`.`periodo`,'-',1) ASC, substring_index(`d`.`periodo`,'-',-1) ASC ;

-- --------------------------------------------------------

--
-- Estructura para la vista `vista_materias_verbos`
--
DROP TABLE IF EXISTS `vista_materias_verbos`;

CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `vista_materias_verbos`  AS SELECT `m`.`nombre_materia` AS `nombre_materia`, `m`.`semestre` AS `semestre`, `m`.`creditos` AS `creditos`, group_concat(`v`.`nombre` separator ', ') AS `verbos`, group_concat(`v`.`Id_verbo` separator ',') AS `verbos_ids`, octet_length(group_concat(`v`.`Id_verbo` separator ',')) - octet_length(replace(group_concat(`v`.`Id_verbo` separator ','),',','')) + 1 AS `total_verbos`, `a`.`nombre` AS `NombreArea`, `m`.`id_area_materia` AS `id_area` FROM (((`materiaverbo` `mv` join `materia` `m` on(`mv`.`id_materia` = `m`.`Id_materia`)) join `area` `a` on(`m`.`id_area_materia` = `a`.`Id_area`)) join `verbo` `v` on(`mv`.`id_verbo` = `v`.`Id_verbo`)) GROUP BY `m`.`nombre_materia`, `a`.`nombre`, `m`.`id_area_materia`, `m`.`semestre` ;

-- --------------------------------------------------------

--
-- Estructura para la vista `vista_usuarios_con_accesos`
--
DROP TABLE IF EXISTS `vista_usuarios_con_accesos`;

CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `vista_usuarios_con_accesos`  AS SELECT `u`.`nid` AS `cedula`, `u`.`nombres` AS `nombres`, `u`.`apellidos` AS `apellidos`, `u`.`email` AS `correo`, `u`.`rol_id` AS `rol_id`, `r`.`nombre_rol` AS `rol_nombre`, `ra`.`fecha_hora` AS `fecha_acceso`, `ra`.`modulo` AS `modulo` FROM ((`usuarios` `u` left join `roles` `r` on(`u`.`rol_id` = `r`.`id_rol`)) left join `registro_accesos` `ra` on(`u`.`nid` = `ra`.`nid_usuario`)) WHERE `r`.`nombre_rol` <> 'SuperAdmin' ORDER BY `ra`.`fecha_hora` DESC ;

--
-- Índices para tablas volcadas
--

--
-- Indices de la tabla `area`
--
ALTER TABLE `area`
  ADD PRIMARY KEY (`Id_area`);

--
-- Indices de la tabla `carrera`
--
ALTER TABLE `carrera`
  ADD PRIMARY KEY (`Id_carrera`);

--
-- Indices de la tabla `datos`
--
ALTER TABLE `datos`
  ADD PRIMARY KEY (`Id_dato_materia`),
  ADD UNIQUE KEY `id_materia_d` (`id_materia_d`,`periodo`);

--
-- Indices de la tabla `materia`
--
ALTER TABLE `materia`
  ADD PRIMARY KEY (`Id_materia`),
  ADD KEY `id_area_materia` (`id_area_materia`),
  ADD KEY `id_carrera` (`id_carrera`);

--
-- Indices de la tabla `materiaverbo`
--
ALTER TABLE `materiaverbo`
  ADD PRIMARY KEY (`id_materia`,`id_verbo`),
  ADD KEY `id_verbo` (`id_verbo`);

--
-- Indices de la tabla `registro_accesos`
--
ALTER TABLE `registro_accesos`
  ADD PRIMARY KEY (`id`),
  ADD KEY `nid_usuario` (`nid_usuario`);

--
-- Indices de la tabla `roles`
--
ALTER TABLE `roles`
  ADD PRIMARY KEY (`id_rol`),
  ADD UNIQUE KEY `nombre_rol` (`nombre_rol`);

--
-- Indices de la tabla `usuarios`
--
ALTER TABLE `usuarios`
  ADD PRIMARY KEY (`nid`),
  ADD UNIQUE KEY `email` (`email`),
  ADD KEY `rol_id` (`rol_id`);

--
-- Indices de la tabla `verbo`
--
ALTER TABLE `verbo`
  ADD PRIMARY KEY (`Id_verbo`);

--
-- AUTO_INCREMENT de las tablas volcadas
--

--
-- AUTO_INCREMENT de la tabla `area`
--
ALTER TABLE `area`
  MODIFY `Id_area` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=9;

--
-- AUTO_INCREMENT de la tabla `carrera`
--
ALTER TABLE `carrera`
  MODIFY `Id_carrera` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3;

--
-- AUTO_INCREMENT de la tabla `datos`
--
ALTER TABLE `datos`
  MODIFY `Id_dato_materia` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=293;

--
-- AUTO_INCREMENT de la tabla `materia`
--
ALTER TABLE `materia`
  MODIFY `Id_materia` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=92;

--
-- AUTO_INCREMENT de la tabla `registro_accesos`
--
ALTER TABLE `registro_accesos`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=237;

--
-- AUTO_INCREMENT de la tabla `verbo`
--
ALTER TABLE `verbo`
  MODIFY `Id_verbo` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=86;

--
-- Restricciones para tablas volcadas
--

--
-- Filtros para la tabla `datos`
--
ALTER TABLE `datos`
  ADD CONSTRAINT `datos_ibfk_1` FOREIGN KEY (`id_materia_d`) REFERENCES `materia` (`Id_materia`) ON DELETE SET NULL;

--
-- Filtros para la tabla `materia`
--
ALTER TABLE `materia`
  ADD CONSTRAINT `materia_ibfk_1` FOREIGN KEY (`id_area_materia`) REFERENCES `area` (`Id_area`) ON DELETE SET NULL,
  ADD CONSTRAINT `materia_ibfk_2` FOREIGN KEY (`id_carrera`) REFERENCES `carrera` (`Id_carrera`) ON DELETE SET NULL;

--
-- Filtros para la tabla `materiaverbo`
--
ALTER TABLE `materiaverbo`
  ADD CONSTRAINT `materiaverbo_ibfk_1` FOREIGN KEY (`id_materia`) REFERENCES `materia` (`Id_materia`) ON DELETE CASCADE,
  ADD CONSTRAINT `materiaverbo_ibfk_2` FOREIGN KEY (`id_verbo`) REFERENCES `verbo` (`Id_verbo`) ON DELETE CASCADE;

--
-- Filtros para la tabla `registro_accesos`
--
ALTER TABLE `registro_accesos`
  ADD CONSTRAINT `registro_accesos_ibfk_1` FOREIGN KEY (`nid_usuario`) REFERENCES `usuarios` (`nid`) ON DELETE CASCADE;

--
-- Filtros para la tabla `usuarios`
--
ALTER TABLE `usuarios`
  ADD CONSTRAINT `usuarios_ibfk_1` FOREIGN KEY (`rol_id`) REFERENCES `roles` (`id_rol`) ON DELETE CASCADE;
COMMIT;

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
