Base de datos actualizada competencias

This commit is contained in:
christopher.rodriguez 2025-05-26 04:40:00 +00:00
parent e07f3eca9c
commit 45368a331f
1 changed files with 0 additions and 75 deletions

View File

@ -1,75 +0,0 @@
-- Crear la base de datos
CREATE DATABASE IF NOT EXISTS diplomaster;
USE diplomaster;
-- Tabla de usuarios (profesores)
CREATE TABLE `usuarios` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`nombre` VARCHAR(100) NOT NULL,
`email` VARCHAR(100) UNIQUE NOT NULL,
`password` VARCHAR(255) NOT NULL,
`aprobado` BOOLEAN NOT NULL DEFAULT 1,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- Tabla de cursos
CREATE TABLE `cursos` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`nombre` VARCHAR(100) NOT NULL,
`descripcion` VARCHAR(250) DEFAULT NULL,
`estado` ENUM('activo', 'completado', 'archivado') NOT NULL DEFAULT 'activo',
`tipo` ENUM('inyeccion', 'pildora', 'tratamiento') NOT NULL,
`profesor_id` INT(11) NOT NULL,
PRIMARY KEY (`id`),
FOREIGN KEY (`profesor_id`) REFERENCES `usuarios`(`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- Tabla de alumnos
CREATE TABLE `alumnos` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`nombre` VARCHAR(100) NOT NULL,
`email` VARCHAR(100) UNIQUE NOT NULL,
`telefono` VARCHAR(15) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- Tabla para vincular alumnos con cursos
CREATE TABLE `alumnos_cursos` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`alumno_id` INT(11) NOT NULL,
`curso_id` INT(11) NOT NULL,
`estado` ENUM('cursando', 'aprobado', 'reprobado') NOT NULL DEFAULT 'cursando',
PRIMARY KEY (`id`),
FOREIGN KEY (`alumno_id`) REFERENCES `alumnos`(`id`) ON DELETE CASCADE,
FOREIGN KEY (`curso_id`) REFERENCES `cursos`(`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- Tabla de diplomas
CREATE TABLE `diplomas` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`alumno_curso_id` INT(11) NOT NULL,
`codigo_unico` VARCHAR(20) NOT NULL UNIQUE,
`fecha_emision` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
FOREIGN KEY (`alumno_curso_id`) REFERENCES `alumnos_cursos`(`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- Datos iniciales
INSERT INTO `usuarios` (`nombre`, `email`, `password`, `aprobado`) VALUES
('Profesor Demo', 'profesor@demo.com', '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', 1);
INSERT INTO `cursos` (`nombre`, `descripcion`, `estado`, `tipo`, `profesor_id`) VALUES
('Curso Básico', 'Curso introductorio', 'activo', 'inyeccion', 1),
('Curso Avanzado', 'Para alumnos avanzados', 'activo', 'tratamiento', 1);
INSERT INTO `alumnos` (`nombre`, `email`, `telefono`) VALUES
('Alumno Uno', 'alumno1@demo.com', '123456789'),
('Alumno Dos', 'alumno2@demo.com', '987654321');
INSERT INTO `alumnos_cursos` (`alumno_id`, `curso_id`, `estado`) VALUES
(1, 1, 'aprobado'),
(2, 1, 'cursando'),
(1, 2, 'cursando');
INSERT INTO `diplomas` (`alumno_curso_id`, `codigo_unico`) VALUES
(1, 'DIPL-000001');