Saltar a contenido

Modelo lógico de datos

erDiagram
    USUARIO {
        int id_usuario PK
        string nombre
        string correo
        string contrasena
        string estado
    }

    ROL {
        int id_rol PK
        string nombre
        string descripcion
    }

    USUARIO_ROL {
        int id_usuario FK
        int id_rol FK
    }

    PROGRAMA_POSGRADO {
        int id_programa PK
        string titulo
        string tipo
        string modalidad_estudio
        int horas_totales
        int creditos
        string estado
    }

    EDICION_PROGRAMA {
        int id_edicion PK
        int id_programa FK
        int numero_edicion
        date fecha_inicio
        date fecha_fin
        int capacidad
        string estado
    }

    CONVOCATORIA {
        int id_convocatoria PK
        int id_edicion FK
        date fecha_publicacion
        text requisitos
        string estado
    }

    SOLICITUD_MATRICULA {
        int id_solicitud PK
        int id_convocatoria FK
        int id_usuario FK
        date fecha_solicitud
        string estado
        text observaciones
    }

    DOCUMENTO {
        int id_documento PK
        int id_solicitud FK
        string tipo
        string ruta_archivo
        string estado_validacion
    }

    ESTUDIANTE {
        int id_estudiante PK
        int id_usuario FK
        string codigo
        string estado_academico
    }

    MATRICULA {
        int id_matricula PK
        int id_estudiante FK
        int id_edicion FK
        date fecha_matricula
        string estado
    }

    EXPEDIENTE {
        int id_expediente PK
        int id_estudiante FK
        date fecha_apertura
        string estado
    }

    CALIFICACION {
        int id_calificacion PK
        int id_expediente FK
        string valor
        date fecha
    }

    ASISTENCIA {
        int id_asistencia PK
        int id_expediente FK
        date fecha
        boolean presente
    }

    USUARIO ||--o{ USUARIO_ROL : posee
    ROL ||--o{ USUARIO_ROL : asignado
    PROGRAMA_POSGRADO ||--o{ EDICION_PROGRAMA : tiene
    EDICION_PROGRAMA ||--o| CONVOCATORIA : publica
    CONVOCATORIA ||--o{ SOLICITUD_MATRICULA : recibe
    USUARIO ||--o{ SOLICITUD_MATRICULA : realiza
    SOLICITUD_MATRICULA ||--o{ DOCUMENTO : contiene
    USUARIO ||--o| ESTUDIANTE : se_convierte_en
    ESTUDIANTE ||--o{ MATRICULA : posee
    EDICION_PROGRAMA ||--o{ MATRICULA : incluye
    ESTUDIANTE ||--o| EXPEDIENTE : tiene
    EXPEDIENTE ||--o{ CALIFICACION : registra
    EXPEDIENTE ||--o{ ASISTENCIA : registra