One Hat Cyber Team
Your IP :
104.23.197.103
Server IP :
172.67.218.182
Server :
Linux 128-201-239-36.cprapid.com 3.10.0-1160.41.1.el7.x86_64 #1 SMP Tue Aug 31 14:52:47 UTC 2021 x86_64
Server Software :
Apache
PHP Version :
7.4.33
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
home
/
juscatamarca
/
www
/
subdomains
/
escuela
/
data
/
View File Name :
ecj_database.sql
-- Escuela de Capacitación Judicial - Base de Datos -- Creación de tablas -- Base de datos CREATE DATABASE IF NOT EXISTS ecj_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; USE ecj_db; -- ============================================ -- Tabla: usuarios -- ============================================ CREATE TABLE usuarios ( id INT PRIMARY KEY AUTO_INCREMENT, nombre VARCHAR(100) NOT NULL, apellido VARCHAR(100) NOT NULL, email VARCHAR(100) UNIQUE NOT NULL, usuario VARCHAR(50) UNIQUE NOT NULL, password VARCHAR(255) NOT NULL, rol ENUM('admin', 'usuario', 'disertante') DEFAULT 'usuario', fecha_registro TIMESTAMP DEFAULT CURRENT_TIMESTAMP, activo BOOLEAN DEFAULT TRUE, INDEX idx_email (email), INDEX idx_usuario (usuario) ); -- ============================================ -- Tabla: disertantes -- ============================================ CREATE TABLE disertantes ( id INT PRIMARY KEY AUTO_INCREMENT, nombre VARCHAR(100) NOT NULL, apellido VARCHAR(100) NOT NULL, email VARCHAR(100), especialidad VARCHAR(100), cv LONGTEXT, fecha_registro TIMESTAMP DEFAULT CURRENT_TIMESTAMP, activo BOOLEAN DEFAULT TRUE, INDEX idx_nombre (nombre) ); -- ============================================ -- Tabla: cursos -- ============================================ CREATE TABLE cursos ( id INT PRIMARY KEY AUTO_INCREMENT, titulo VARCHAR(200) NOT NULL, descripcion TEXT, tipo ENUM('interno', 'externo') DEFAULT 'interno', lugar VARCHAR(200), destinatarios VARCHAR(255), duracion_horas INT, capacidad INT, estado ENUM('activo', 'inactivo', 'cancelado') DEFAULT 'activo', fecha_creacion TIMESTAMP DEFAULT CURRENT_TIMESTAMP, INDEX idx_titulo (titulo), INDEX idx_tipo (tipo) ); -- ============================================ -- Tabla: curso_horarios (Fechas y horarios por curso) -- ============================================ CREATE TABLE curso_horarios ( id INT PRIMARY KEY AUTO_INCREMENT, curso_id INT NOT NULL, fecha_inicio DATE NOT NULL, hora_inicio TIME, hora_fin TIME, dias_semana VARCHAR(50), cantidad_inscritos INT DEFAULT 0, fecha_creacion TIMESTAMP DEFAULT CURRENT_TIMESTAMP, FOREIGN KEY (curso_id) REFERENCES cursos(id) ON DELETE CASCADE, INDEX idx_curso (curso_id), INDEX idx_fecha (fecha_inicio) ); -- ============================================ -- Tabla: curso_disertante (Relación Cursos-Disertantes) -- ============================================ CREATE TABLE curso_disertante ( id INT PRIMARY KEY AUTO_INCREMENT, curso_id INT NOT NULL, disertante_id INT NOT NULL, FOREIGN KEY (curso_id) REFERENCES cursos(id) ON DELETE CASCADE, FOREIGN KEY (disertante_id) REFERENCES disertantes(id) ON DELETE CASCADE, UNIQUE KEY unique_curso_disertante (curso_id, disertante_id) ); -- ============================================ -- Tabla: noticias_eventos -- ============================================ CREATE TABLE noticias_eventos ( id INT PRIMARY KEY AUTO_INCREMENT, titulo VARCHAR(200) NOT NULL, descripcion TEXT, imagen VARCHAR(255), url_destino VARCHAR(500), tipo ENUM('noticia', 'evento') DEFAULT 'noticia', activa BOOLEAN DEFAULT TRUE, fecha_publicacion TIMESTAMP DEFAULT CURRENT_TIMESTAMP, fecha_actualizacion TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, INDEX idx_tipo (tipo), INDEX idx_fecha (fecha_publicacion) ); -- ============================================ -- Inserciones de ejemplo (Opcional) -- ============================================ -- Usuario administrador (contraseña: password - hasheada con SHA256) INSERT INTO usuarios (nombre, apellido, email, usuario, password, rol) VALUES ('Admin', 'Sistema', 'admin@ecj.local', 'admin', '5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8', 'admin'); -- Disertantes ejemplo INSERT INTO disertantes (nombre, apellido, email, especialidad) VALUES ('Dr. Juan', 'Pérez', 'juan@ecj.local', 'Derecho Constitucional'), ('Dra. María', 'López', 'maria@ecj.local', 'Derecho Laboral'); -- Curso ejemplo INSERT INTO cursos (titulo, descripcion, tipo, lugar, destinatarios, duracion_horas, capacidad) VALUES ('Introducción al Derecho Constitucional', 'Curso básico sobre principios constitucionales', 'interno', 'Sala de Capacitación A', 'Jueces, Fiscales', 20, 30); -- Horario para el curso INSERT INTO curso_horarios (curso_id, fecha_inicio, hora_inicio, hora_fin, dias_semana) VALUES (1, '2026-03-15', '09:00:00', '12:00:00', 'Lunes a Viernes'); -- Relacionar disertante con curso INSERT INTO curso_disertante (curso_id, disertante_id) VALUES (1, 1); -- Noticia ejemplo INSERT INTO noticias_eventos (titulo, descripcion, tipo) VALUES ('Nuevo curso disponible', 'Se ha agregado un nuevo curso de derecho constitucional', 'noticia');