-- ========================================================-- SISTEMA DE REGISTRO DE ESTUDIANTES-- C.E.I. Federico Froebel-- ========================================================-- Crear base de datos (si no existe) CREATE DATABASE IF NOT EXISTS sistemag_FR CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; USE sistemag_FR; -- ========================================================-- TABLA: usuarios (SIN ENCRIPTACION - passwords en texto plano) -- ======================================================== DROP TABLE IF EXISTS inscripciones; DROP TABLE IF EXISTS grupos; DROP TABLE IF EXISTS usuarios; CREATE TABLE usuarios ( id INT AUTO_INCREMENT PRIMARY KEY, username VARCHAR(50) NOT NULL UNIQUE, password VARCHAR(255) NOT NULL, nombre_completo VARCHAR(100) NOT NULL, cedula VARCHAR(20), rol ENUM('admin','directora','secretaria') DEFAULT 'secretaria', activo TINYINT(1) DEFAULT 1, fecha_creacion TIMESTAMP DEFAULT CURRENT_TIMESTAMP, ultimo_acceso DATETIME ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; -- Insertar usuarios por defecto (SIN ENCRIPTACION) -- Password en texto plano: admin123 INSERT INTO usuarios (username, password, nombre_completo, cedula, rol) VALUES ('admin', 'admin123', 'Administrador del Sistema', 'V-00000000', 'admin'), ('directora', 'directora123', 'Directora', 'V-00000001', 'directora'), ('secretaria', 'secretaria123', 'Secretaria', 'V-00000002', 'secretaria'); -- ========================================================-- TABLA: grupos (cupos) -- ======================================================== CREATE TABLE grupos ( id INT AUTO_INCREMENT PRIMARY KEY, nombre VARCHAR(50) NOT NULL, descripcion VARCHAR(100), cupo_total INT NOT NULL DEFAULT 0, cupo_usado INT NOT NULL DEFAULT 0, activo TINYINT(1) DEFAULT 1, orden INT DEFAULT 0, fecha_creacion TIMESTAMP DEFAULT CURRENT_TIMESTAMP ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; -- Insertar grupos con sus cupos INSERT INTO grupos (nombre, descripcion, cupo_total, orden) VALUES ('Maternal', 'Nivel maternal - Educacion inicial', 15, 1), ('1er grupo', 'Primer grupo - Educacion inicial', 25, 2), ('2do grupo', 'Segundo grupo - Educacion inicial', 25, 3), ('3er grupo', 'Tercer grupo - Educacion inicial', 25, 4); -- ========================================================-- TABLA: inscripciones -- ======================================================== CREATE TABLE inscripciones ( id INT AUTO_INCREMENT PRIMARY KEY, -- Grupo al que pertenece grupo_id INT NOT NULL, periodo VARCHAR(50) NOT NULL, -- Datos del nino nino_apellidos VARCHAR(100) NOT NULL, nino_nombres VARCHAR(100) NOT NULL, sexo ENUM('Masculino','Femenino') NOT NULL, fecha_nac DATE, edad INT, lugar_nac VARCHAR(100), procede_de VARCHAR(100), procede_lugar VARCHAR(100), turno VARCHAR(20), -- Datos de la madre madre_nombre VARCHAR(150), madre_parentesco VARCHAR(50), madre_ocupacion VARCHAR(100), madre_trabajo VARCHAR(100), madre_direccion TEXT, madre_telefono VARCHAR(20), madre_telefono_alt VARCHAR(20), -- Datos del padre padre_nombre VARCHAR(150), padre_parentesco VARCHAR(50), padre_ocupacion VARCHAR(100), padre_trabajo VARCHAR(100), padre_direccion TEXT, padre_telefono VARCHAR(20), padre_telefono_alt VARCHAR(20), -- Firma y representante rep_ci VARCHAR(20), fecha_inscripcion DATE, cancelo VARCHAR(100), correo VARCHAR(100), observaciones TEXT, -- Control usuario_registro VARCHAR(50), fecha_registro TIMESTAMP DEFAULT CURRENT_TIMESTAMP, FOREIGN KEY (grupo_id) REFERENCES grupos(id) ON DELETE RESTRICT ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; -- ========================================================-- FIN DEL SCRIPT -- ========================================================