Mapeo de Relaciones entre Tablas

Sistema de Gestión de Cursos SENCE

Introducción

Este documento presenta un análisis detallado de las relaciones entre las tablas que conforman el sistema de gestión de Organismos Técnicos de Capacitación (OTEC) para cursos SENCE. La comprensión de estas relaciones es fundamental para el desarrollo, mantenimiento y mejora del sistema.

1. Diagrama Conceptual de Relaciones

┌──────────────────┐           ┌───────────────────┐          ┌───────────────────┐
│   cursos_sence   │◄────┐     │     profesores    │◄────┐    │      alumnos      │
└───────┬──────────┘     │     └────────┬──────────┘     │    └────────┬──────────┘
        │                │              │                 │             │
        ▼                │              ▼                 │             ▼
┌──────────────────┐     │     ┌───────────────────┐     │    ┌───────────────────┐
│   temas_curso    │◄────┼─────│  cursos_profesores│     │    │inscripciones_curso│
└───────┬──────────┘     │     └───────────────────┘     │    └────────┬──────────┘
        │                │                                │             │
        ▼                │                                │             ├─────────┐
┌──────────────────┐     │     ┌───────────────────┐     │             │         │
│  subtemas_curso  │◄────┼─────│profesor_documentos│     │             ▼         ▼
└───────┬──────────┘     │     └───────────────────┘     │    ┌────────────┐ ┌─────────────┐
        │                │                                │    │notas_alumno│ │pagos_alumno │
        │                │      ┌──────────────────┐     │    └────────────┘ └─────────────┘
        │                └──────│  pizarra_curso   │     │
┌───────┴──────────┐            └──────────────────┘     │    ┌───────────────────┐
│ documentos_subtema│                                     └────│mensajes_alumno_prof│
└──────────────────┘            ┌──────────────────┐          └───────────────────┘
                                │  documentos_tema │
┌──────────────────┐            └──────────────────┘          ┌───────────────────┐
│ documentos_alumno│◄───────────────────────────────────────┐ │ subtemas_alumno   │
└──────────────────┘                                         └─└───────────────────┘

┌──────────────────┐            ┌──────────────────┐          ┌───────────────────┐
│ material_consumo │            │medios_didacticos │          │ costos_curso      │
└──────────────────┘            └──────────────────┘          └───────────────────┘

┌──────────────────┐            ┌──────────────────┐          ┌───────────────────┐
│ material_particip.│            │objetivos_contenid│          │asistencias_alumno │
└──────────────────┘            └──────────────────┘          └───────────────────┘

┌──────────────────┐            ┌──────────────────┐          ┌───────────────────┐
│ accesos_aula_virt│            │acceso_alumnos_con│          │ mensajes_alumno   │
└──────────────────┘            └──────────────────┘          └───────────────────┘
                

2. Explicación Detallada de Relaciones

Entidades Principales y sus Relaciones

1. cursos_sence (Tabla Central de Cursos)

Es la tabla principal que conforma el núcleo del sistema

Relacionada con:

  • temas_curso: Un curso tiene múltiples temas (relación 1:N)
  • objetivos_contenidos: Un curso tiene múltiples objetivos (relación 1:N)
  • material_consumo, material_participantes, medios_didacticos: Recursos relacionados a un curso específico (relación 1:N)
  • costos_curso: Estructura de costos del curso (relación 1:1)
  • inscripciones_curso: Registro de alumnos inscritos en el curso (relación 1:N)
  • pizarra_curso: Comunicaciones generales del curso (relación 1:N)
  • cursos_profesores: Asignación de profesores a cursos (relación N:M)

2. alumnos (Estudiantes del Sistema)

Relacionada con:

  • inscripciones_curso: Registro de cursos en los que está inscrito (relación 1:N)
  • mensajes_alumno: Comunicaciones recibidas por el alumno (relación 1:N)
  • documentos_alumno: Archivos subidos por el alumno (relación 1:N)
  • mensajes_alumno_profesor: Comunicaciones con profesores (relación 1:N)
  • subtemas_alumno: Seguimiento de progreso en subtemas (relación 1:N)
  • accesos_aula_virtual: Registros de ingreso a la plataforma (relación 1:N)
  • acceso_alumnos_contenido: Control de permisos a contenidos (relación 1:N)

3. profesores (Relatores/Docentes)

Relacionada con:

  • subtemas_curso: Asignación de subtemas específicos (relación 1:N)
  • mensajes_alumno_profesor: Comunicaciones con alumnos (relación 1:N)
  • pizarra_curso: Publicaciones realizadas (relación 1:N)
  • profesor_documentos: Documentación del profesor (relación 1:N)
  • cursos_profesores: Asignación a cursos completos (relación 1:N)

4. temas_curso (Temas de Cada Curso)

Relacionada con:

  • cursos_sence: Pertenece a un curso específico (relación N:1)
  • subtemas_curso: Contiene múltiples subtemas (relación 1:N)
  • documentos_tema: Archivos relacionados al tema (relación 1:N)
  • acceso_alumnos_contenido: Control de acceso por tema (relación 1:N)
  • subtemas_alumno: Progreso de alumnos en temas (relación 1:N)

5. subtemas_curso (Unidades Específicas dentro de Temas)

Relacionada con:

  • temas_curso: Pertenece a un tema específico (relación N:1)
  • cursos_sence: Pertenece indirectamente a un curso (relación N:1)
  • profesores: Asignado a un profesor específico (relación N:1)
  • documentos_subtema: Archivos del subtema (relación 1:N)
  • documentos_alumno: Archivos subidos por alumnos para ese subtema (relación 1:N)
  • mensajes_alumno_profesor: Comunicaciones específicas sobre el subtema (relación 1:N)
  • subtemas_alumno: Seguimiento del progreso de los alumnos (relación 1:N)

6. inscripciones_curso (Relación Principal entre Alumnos y Cursos)

Relacionada con:

  • alumnos: Un alumno específico (relación N:1)
  • cursos_sence: Un curso específico (relación N:1)
  • notas_alumno: Calificaciones del estudiante (relación 1:N)
  • pagos_alumno: Registro de pagos realizados (relación 1:N)
  • asistencias_alumno: Control de asistencia (relación 1:N)
  • accesos_aula_virtual: Ingresos al sistema (relación 1:N)

Relaciones entre Tablas Secundarias

7. Gestión de Documentos y Materiales

  • documentos_tema: Vinculados a temas específicos
  • documentos_subtema: Vinculados a subtemas específicos
  • documentos_alumno: Trabajos/archivos subidos por alumnos asociados a subtemas
  • profesor_documentos: Documentación administrativa de profesores
  • material_consumo, material_participantes, medios_didacticos: Recursos asociados directamente a cursos

8. Seguimiento Académico

  • notas_alumno: Vinculadas a una inscripción específica
  • asistencias_alumno: Control de asistencia ligado a inscripciones
  • subtemas_alumno: Seguimiento detallado de progreso por subtema/tema
  • objetivos_contenidos: Objetivos específicos de cursos

9. Comunicación

  • mensajes_alumno: Mensajes dirigidos al alumno (sistema unidireccional)
  • mensajes_alumno_profesor: Comunicación bidireccional entre alumnos y profesores sobre subtemas
  • pizarra_curso: Comunicaciones generales para todos los participantes de un curso

10. Control de Acceso

  • acceso_alumnos_contenido: Sistema granular de permisos a diferentes niveles (curso, tema, subtema)
  • accesos_aula_virtual: Registro de ingresos a la plataforma

3. Tablas de Relación y Jerarquía

Jerarquía Principal del Contenido

cursos_sence └── temas_curso └── subtemas_curso

Jerarquía de Actores

alumnos ──► inscripciones_curso ◄── cursos_sence ◄── profesores

Control de Progreso

inscripciones_curso ├── notas_alumno ├── asistencias_alumno └── pagos_alumno subtemas_alumno (Progreso detallado) ├── alumno_id ├── curso_id ├── tema_id └── subtema_id

4. Observaciones sobre el Diseño de Base de Datos

  1. Estructura Jerárquica: El sistema está organizado en una jerarquía clara (curso → tema → subtema) que facilita la organización del contenido educativo.
  2. Relaciones Redundantes: Algunos campos como curso_id aparecen en subtemas_curso aunque ya existe una relación indirecta a través de temas_curso. Esto parece ser para optimizar consultas directas.
  3. Control de Estados: La mayoría de las tablas incluyen un campo estado que permite el borrado lógico (activación/desactivación) de registros.
  4. Sistema de Documentos: Hay tablas específicas para documentos en cada nivel (tema, subtema) y tipo de usuario (alumno, profesor).
  5. Monitoreo de Actividad: El sistema registra detalladamente la actividad de los usuarios (accesos, progreso en subtemas, comunicaciones).
  6. Diseño para Cumplimiento SENCE: La estructura está diseñada para cumplir con requisitos específicos del Servicio Nacional de Capacitación y Empleo de Chile.
Matriz de Relaciones entre Tablas - Sistema Cursos SENCE

Matriz de Relaciones entre Tablas

Sistema de Gestión de Cursos SENCE

Leyenda

Relación entre tablas (campo_origen → campo_destino)
Tabla Origen ↓ / Tabla Destino →
alumnos
cursos_sence
inscripciones_curso
profesores
subtemas_curso
temas_curso
acceso_alumnos_contenido alumno_id → id curso_id → id subtema_id → id tema_id → id
accesos_aula_virtual alumno_id → id curso_id → id inscripcion_id → id
asistencias_alumno inscripcion_id → id
costos_curso curso_id → id
cursos_profesores curso_id → id profesor_id → id
documentos_alumno alumno_id → id subtema_id → id
documentos_subtema subido_por → id (cuando es_profesor=1) subtema_id → id
documentos_tema tema_id → id
inscripciones_curso alumno_id → id curso_id → id
material_consumo curso_id → id
material_participantes curso_id → id
medios_didacticos curso_id → id
mensajes_alumno alumno_id → id
mensajes_alumno_profesor alumno_id → id profesor_id → id subtema_id → id
notas_alumno inscripcion_id → id
objetivos_contenidos curso_id → id
pagos_alumno inscripcion_id → id
pizarra_curso curso_id → id profesor_id → id
profesor_documentos profesor_id → id
subtemas_alumno alumno_id → id curso_id → id subtema_id → id tema_id → id
subtemas_curso curso_id → id profesor_id → id tema_id → id
temas_curso curso_id → id

Resumen de Relaciones

Tabla: alumnos (id)

Referenciada por:

Tabla: cursos_sence (id)

Referenciada por:

Tabla: inscripciones_curso (id)

Referenciada por:

Tabla: profesores (id)

Referenciada por:

Tabla: subtemas_curso (id)

Referenciada por:

Tabla: temas_curso (id)

Referenciada por: