Documentación de referencia para el control de integridad de datos
Estas entidades pueden existir sin relaciones con otras tablas.
Entidad | Tabla | Condición |
---|---|---|
Alumno | alumnos |
Puede existir sin estar inscrito en ningún curso |
Profesor | profesores |
Puede existir sin estar asignado a ningún curso |
Curso | cursos_sence |
Puede existir sin alumnos ni profesores asignados |
Cadena de dependencia estricta que debe respetarse.
Nivel | Entidad | Tabla | Requiere | Condición |
---|---|---|---|---|
1 | Curso | cursos_sence |
Nada | Independiente |
2 | Tema | temas_curso |
Curso | DEBE tener curso_id válido |
3 | Subtema | subtemas_curso |
Tema Y Curso | DEBE tener tema_id Y curso_id válidos |
Relaciones que pueden ser NULL o no existir.
Relación | Tabla | Condición |
---|---|---|
Subtema-Profesor | subtemas_curso.profesor_id |
Puede ser NULL (subtema sin profesor) |
Subtema-Alumnos | subtemas_alumno |
Subtema puede existir sin alumnos |
Referencias que DEBEN existir para mantener la integridad.
Relación | Tabla | Campo | Debe existir en |
---|---|---|---|
Inscripción | inscripciones_curso |
alumno_id |
alumnos.id |
Inscripción | inscripciones_curso |
curso_id |
cursos_sence.id |
Asignación Profesor | cursos_profesores |
profesor_id |
profesores.id |
Asignación Profesor | cursos_profesores |
curso_id |
cursos_sence.id |
Documentos Tema | documentos_tema |
tema_id |
temas_curso.id |
Documentos Subtema | documentos_subtema |
subtema_id |
subtemas_curso.id |
Documentos Alumno | documentos_alumno |
alumno_id |
alumnos.id |
Documentos Alumno | documentos_alumno |
subtema_id |
subtemas_curso.id |
Mensajes Alumno | mensajes_alumno |
alumno_id |
alumnos.id |
Mensajes Profesor | mensajes_alumno_profesor |
alumno_id |
alumnos.id |
Mensajes Profesor | mensajes_alumno_profesor |
profesor_id |
profesores.id |
Mensajes Profesor | mensajes_alumno_profesor |
subtema_id |
subtemas_curso.id |
Pizarra | pizarra_curso |
curso_id |
cursos_sence.id |
Pizarra | pizarra_curso |
profesor_id |
profesores.id (si no es NULL) |
Acciones recomendadas según el tipo de problema detectado.
Tipo Error | Entidad Afectada | Acción Recomendada | Alternativa |
---|---|---|---|
Alumno inexistente | Inscripciones, Documentos, Mensajes | Marcar como retirado/archivado | Eliminar registro |
Profesor inexistente | Asignaciones, Subtemas, Documentos | Reasignar a profesor válido | Dejar NULL (si permitido) |
Curso inexistente | Temas, Inscripciones, Asignaciones | NO DEBE OCURRIR - Error crítico | Desactivar dependencias |
Tema inexistente | Subtemas, Documentos | Reasignar a tema válido | Desactivar subtema |
Subtema inexistente | Documentos, Mensajes | Reasignar a subtema válido | Archivar documento |
Estados válidos y sus equivalencias para desactivación.
Tabla | Estados Válidos | Estado "Inactivo" Equivalente |
---|---|---|
cursos_sence |
activo, inactivo | inactivo |
alumnos |
activo, inactivo | inactivo |
profesores |
activo, inactivo | inactivo |
temas_curso |
activo, inactivo | inactivo |
subtemas_curso |
pendiente, realizado, cancelado | cancelado |
inscripciones_curso |
inscrito, en_curso, aprobado, reprobado, retirado, suspendido | retirado |
cursos_profesores |
asignado, desasignado | desasignado |