0% encontró este documento útil (0 votos)
83 vistas5 páginas

Caso de Uso

El documento presenta el diseño de una base de datos para la gestión escolar, incluyendo la creación de tablas para usuarios, alumnos, profesores, cursos y otros elementos relacionados. Cada tabla tiene campos específicos y relaciones definidas mediante claves foráneas para asegurar la integridad de los datos. El esquema abarca aspectos como matrícula, notas, asistencia, tareas y recursos educativos.

Cargado por

r97330051
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
83 vistas5 páginas

Caso de Uso

El documento presenta el diseño de una base de datos para la gestión escolar, incluyendo la creación de tablas para usuarios, alumnos, profesores, cursos y otros elementos relacionados. Cada tabla tiene campos específicos y relaciones definidas mediante claves foráneas para asegurar la integridad de los datos. El esquema abarca aspectos como matrícula, notas, asistencia, tareas y recursos educativos.

Cargado por

r97330051
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

DISEÑO DE CASO DE USO DE

NEGOCIO DE GESTION ESCOLR


Script de la Tabla
CREATE TABLE usuarios (
id INT PRIMARY KEY AUTO_INCREMENT,
nombre_usuario VARCHAR(50) NOT NULL,
contrasena VARCHAR(255) NOT NULL,
rol ENUM('admin', 'secretaria', 'profesor', 'alumno', 'padre', 'rrhh') NOT NULL,
persona_id INT,
estado BOOLEAN DEFAULT TRUE
);
CREATE TABLE admins (
id INT PRIMARY KEY AUTO_INCREMENT,
dni CHAR(8) UNIQUE,
nombres VARCHAR(100),
apellidos VARCHAR(100)
);
CREATE TABLE secretarias (
id INT PRIMARY KEY AUTO_INCREMENT,
dni CHAR(8) UNIQUE,
nombres VARCHAR(100),
apellidos VARCHAR(100)
);
CREATE TABLE rrhh (
id INT PRIMARY KEY AUTO_INCREMENT,
dni CHAR(8) UNIQUE,
nombres VARCHAR(100),
apellidos VARCHAR(100)
);
CREATE TABLE profesores (
id INT PRIMARY KEY AUTO_INCREMENT,
dni CHAR(8) UNIQUE,
nombres VARCHAR(100),
apellidos VARCHAR(100),
especialidad VARCHAR(100)
);
CREATE TABLE alumnos (
id INT PRIMARY KEY AUTO_INCREMENT,
dni CHAR(8) UNIQUE,
nombres VARCHAR(100),
apellidos VARCHAR(100),
direccion TEXT,
fecha_nacimiento DATE,
estado ENUM('activo', 'retirado') DEFAULT 'activo'
);
CREATE TABLE padres (
id INT PRIMARY KEY AUTO_INCREMENT,
dni CHAR(8) UNIQUE,
nombres VARCHAR(100),
apellidos VARCHAR(100),
telefono VARCHAR(15)
);
CREATE TABLE alumno_padre (
id INT PRIMARY KEY AUTO_INCREMENT,
alumno_id INT,
padre_id INT,
FOREIGN KEY (alumno_id) REFERENCES alumnos(id),
FOREIGN KEY (padre_id) REFERENCES padres(id)
);
CREATE TABLE matriculas_generales (
id INT PRIMARY KEY AUTO_INCREMENT,
alumno_id INT NOT NULL,
anio_escolar INT NOT NULL,
fecha_matricula DATE NOT NULL,
estado ENUM('vigente', 'retirado', 'anulado') DEFAULT 'vigente',
ratificado BOOLEAN DEFAULT FALSE,
observaciones TEXT,
FOREIGN KEY (alumno_id) REFERENCES alumnos(id)
);
CREATE TABLE cursos (
id INT PRIMARY KEY AUTO_INCREMENT,
nombre VARCHAR(100),
descripcion TEXT,
aula VARCHAR(20),
profesor_id INT,
FOREIGN KEY (profesor_id) REFERENCES profesores(id)
);
CREATE TABLE matricula_cursos (
id INT PRIMARY KEY AUTO_INCREMENT,
matricula_id INT,
curso_id INT,
FOREIGN KEY (matricula_id) REFERENCES matriculas_generales(id),
FOREIGN KEY (curso_id) REFERENCES cursos(id)
);
CREATE TABLE notas (
id INT PRIMARY KEY AUTO_INCREMENT,
alumno_id INT,
curso_id INT,
bimestre INT,
nota DECIMAL(4,2),
FOREIGN KEY (alumno_id) REFERENCES alumnos(id),
FOREIGN KEY (curso_id) REFERENCES cursos(id)
);
CREATE TABLE asistencia (
id INT PRIMARY KEY AUTO_INCREMENT,
alumno_id INT,
curso_id INT,
fecha DATE,
estado ENUM('asistio', 'falta', 'tardanza'),
observaciones TEXT,
FOREIGN KEY (alumno_id) REFERENCES alumnos(id),
FOREIGN KEY (curso_id) REFERENCES cursos(id)
);
CREATE TABLE tareas_asignadas (
id INT PRIMARY KEY AUTO_INCREMENT,
curso_id INT,
profesor_id INT,
titulo VARCHAR(100),
descripcion TEXT,
fecha_asignacion DATE,
fecha_entrega DATE,
archivo_url TEXT,
FOREIGN KEY (curso_id) REFERENCES cursos(id),
FOREIGN KEY (profesor_id) REFERENCES profesores(id)
);
CREATE TABLE tareas_entregadas (
id INT PRIMARY KEY AUTO_INCREMENT,
tarea_id INT,
alumno_id INT,
archivo_url TEXT,
fecha_entrega DATE,
observaciones TEXT,
calificacion DECIMAL(4,2),
FOREIGN KEY (tarea_id) REFERENCES tareas_asignadas(id),
FOREIGN KEY (alumno_id) REFERENCES alumnos(id)
);
CREATE TABLE comunicados (
id INT PRIMARY KEY AUTO_INCREMENT,
titulo VARCHAR(100),
contenido TEXT,
fecha DATE,
dirigido_a ENUM('alumnos', 'padres', 'profesores', 'todos')
);
CREATE TABLE avisos (
id INT PRIMARY KEY AUTO_INCREMENT,
profesor_id INT,
curso_id INT,
fecha DATE,
contenido TEXT,
FOREIGN KEY (profesor_id) REFERENCES profesores(id),
FOREIGN KEY (curso_id) REFERENCES cursos(id)
);
CREATE TABLE material_educativo (
id INT PRIMARY KEY AUTO_INCREMENT,
curso_id INT,
descripcion TEXT,
archivo_url TEXT,
fecha_subida DATE,
FOREIGN KEY (curso_id) REFERENCES cursos(id)
);
CREATE TABLE inmuebles (
id INT PRIMARY KEY AUTO_INCREMENT,
tipo ENUM('aula', 'laboratorio', 'cancha', 'oficina', 'otros') NOT NULL,
nombre VARCHAR(100),
descripcion TEXT,
capacidad INT,
ubicacion VARCHAR(100)
);
CREATE TABLE equipos (
id INT PRIMARY KEY AUTO_INCREMENT,
tipo VARCHAR(50),
descripcion TEXT,
marca VARCHAR(50),
modelo VARCHAR(50),
serial_number VARCHAR(100),
estado ENUM('operativo', 'en reparación', 'inservible') DEFAULT 'operativo',
fecha_registro DATE
);
CREATE TABLE informes_trabajo (
id INT PRIMARY KEY AUTO_INCREMENT,
titulo VARCHAR(100),
contenido TEXT,
fecha DATE,
autor_id INT,
rol_autor ENUM('admin', 'rrhh', 'profesor'),
FOREIGN KEY (autor_id) REFERENCES usuarios(id)

También podría gustarte