Reglas de Integridad del Sistema SENCE

Documentación de referencia para el control de integridad de datos

1. ENTIDADES INDEPENDIENTES

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
2. JERARQUÍA OBLIGATORIA

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
Nota importante: Un subtema no puede existir sin un tema, y un tema no puede existir sin un curso.
3. RELACIONES OPCIONALES

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
4. RELACIONES OBLIGATORIAS

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)
5. ACCIONES CORRECTIVAS POR TIPO DE ERROR

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
6. ESTADOS ESPECÍFICOS POR TABLA

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
CONSIDERACIONES FINALES
Principios Clave
  • Mantener la integridad referencial en todo momento
  • Preferir desactivación sobre eliminación física
  • Aplicar acciones específicas según el contexto
  • Documentar todas las correcciones realizadas
Buenas Prácticas
  • Validar antes de cualquier acción correctiva
  • Usar transacciones para operaciones múltiples
  • Mantener un log de todas las modificaciones
  • Respaldar antes de correcciones masivas