58 lines
2.2 KiB
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;
|
|
|