DiploMaster/sql/diplomaster (1).sql

58 lines
2.2 KiB
SQL

-- 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 0,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
-- Tabla de cursos (cada profesor crea sus 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,
FOREIGN KEY (`profesor_id`) REFERENCES `usuarios`(`id`) ON DELETE CASCADE,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
-- 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 COLLATE=utf8mb4_general_ci;
-- 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',
`competencias` TEXT DEFAULT NULL, -- Solo para tratamiento
FOREIGN KEY (`alumno_id`) REFERENCES `alumnos`(`id`) ON DELETE CASCADE,
FOREIGN KEY (`curso_id`) REFERENCES `cursos`(`id`) ON DELETE CASCADE,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
-- Tabla de diplomas
CREATE TABLE `diplomas` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`alumno_curso_id` INT(11) NOT NULL,
`fecha_emision` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
`competencias` TEXT DEFAULT NULL,
FOREIGN KEY (`alumno_curso_id`) REFERENCES `alumnos_cursos`(`id`) ON DELETE CASCADE,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;