🛡️

UPeU · Secretaría General Suite

Diagrama Oficial de Base de Datos v1.1 (PostgreSQL 16 · Supabase 3NF con Tabla Diplomas)
100%
🔑 [1] Lado Uno (Padre PK)
────────
∞ [N] Lado Muchos (Hijo FK)
1 ∞ 1 ∞
⠿ 🏛️
dbo.campus
Sedes
🔑
id
bigintPK
nombre
varchar(100)
codigo
varchar(20)
created_at
timestamptz
⠿ 🏫
dbo.facultades
Facultad
🔑
id
bigintPK
🔗
campus_id
bigintFK
nombre
varchar(150)
codigo
varchar(20)
created_at
timestamptz
⠿ 📚
dbo.programas
Carreras
🔑
id
bigintPK
🔗
facultad_id
bigintFK
nombre
varchar(150)
codigo
varchar(30)
tipo_programa
varchar(30)
duracion_ciclos
smallint
⠿ 👤
dbo.estudiantes
Identidad
🔑
id
bigintPK
codigo
varchar(20) [UQ]
tipo_documento
varchar(20)
numero_documento
varchar(30) [UQ]
nombres
varchar(100)
apellido_paterno
varchar(100)
apellido_materno
varchar(100)
correo_institucional
varchar(150)
telefono
varchar(30)
⠿ 🎓
dbo.estudiantes_programas
Doble Carrera
🔑
id
bigintPK
🔗
estudiante_id
bigintFK
🔗
programa_id
bigintFK
estado_carrera
varchar(30) [cursando]
anio_ingreso
varchar(10)
created_at
timestamptz
⠿ 📜
dbo.diplomas
Grados & Diplomas
🔑
id
bigintPK
🔗
estudiante_programa_id
bigintFK
tipo_diploma
varchar(30) [Bach/Tít/Dip/Idiom]
nombres_diploma (SUNEDU)
varchar(100)
tipo_doc_diploma / num
varchar(30) [Pasap ➔ CE/DNI]
documento_sustento_path R2
text [Resolución/DNI]
numero_registro_diploma
varchar(50) [Cartón]
libro_facultad / folio_fac
varchar(50) [Libro 1]
libro_sec_gen / folio_sg
varchar(50) [Libro 2 Maestro]
numero_diploma (SUNEDU)
varchar(50)
fecha_consejo_facultad
date [NULL p/ idioma]
fecha_consejo_universitario
date [NULL p/ idioma]
foto_grado_path R2
text
pdf_diploma_path R2 / Local
text [Escaneado]
estado_tramite
varchar(30) [aprobado..]
modalidad_entrega
varchar(30) [oficina/estrado]
fecha_entrega
timestamptz
firma_entrega_path Cronitics
text
recogido_por
varchar(20) [titular/poder]
⠿ 📅
dbo.matriculas
Semestral
🔑
id
bigintPK
🔗
estudiante_programa_id
bigintFK
periodo
varchar(10) [2026-1]
ciclo
smallint
graduacion
boolean
⠿ 🪪
dbo.carnes
SUNEDU
🔑
id
bigintPK
🔗
matricula_id
bigintFK
tipo_tramite
varchar(20) [regular/dup]
estado
varchar(30) [8 estados]
foto_path R2
text
firma_path Cronitics
text
monto_pago
numeric(10,2) [S/ 40.00]
fecha_vencimiento
date (1 año)
⠿ 🎓
dbo.ceremonias
Colaciones
🔑
id
bigintPK
🔗
campus_id
bigintFK
nombre
varchar(150)
periodo
varchar(20) [2026-1]
turno
varchar(50) [Juliaca]
fecha_evento
date
fecha_limite_sin_mora
date
mora_diaria
numeric(10,2)
⠿ 👔
dbo.graduandos
Lavandería
🔑
id
bigintPK
🔗
ceremonia_id
bigintFK
🔗
diploma_id
bigintFK ➜ diplomas
firma_compromiso R2
text
tipo_provision_toga
varchar(20) [inst/ext]
talla_toga
varchar(5) [S-XXL]
estado_prenda
varchar(30)
monto_mora
numeric(10,2)
diploma_bloqueado
boolean
⠿ 🛡️
dbo.perfiles
Seguridad
🔑
id
uuidPK/FK
correo
varchar(255) [UQ]
nombres
varchar(100)
rol
varchar(30)
📐 Diagrama Oficial en Notación Crow's Foot (Pata de Gallo)

Renderizado dinámico de cardinalidad estándar para auditorías técnicas e informes de arquitectura.

erDiagram
    campus ||--o{ facultades : "alberga (1:N)"
    campus ||--o{ ceremonias : "organiza (1:N)"
    facultades ||--o{ programas : "supervisa (1:N)"
    programas ||--o{ estudiantes_programas : "ofrece (1:N)"
    estudiantes ||--o{ estudiantes_programas : "cursa (1:N)"
    estudiantes_programas ||--o{ matriculas : "inscribe (1:N)"
    matriculas ||--o{ carnes : "emite (1:N)"
    estudiantes_programas ||--o{ diplomas : "confiere (1:N)"
    ceremonias ||--o{ graduandos : "nómina (1:N)"
    diplomas ||--o{ graduandos : "habilita (1:N)"

    campus {
        bigint id PK
        varchar nombre
        varchar codigo
    }
    facultades {
        bigint id PK
        bigint campus_id FK
        varchar nombre
    }
    programas {
        bigint id PK
        bigint facultad_id FK
        varchar nombre
        varchar tipo_programa
    }
    estudiantes {
        bigint id PK
        varchar codigo
        varchar numero_documento
        varchar nombres
    }
    estudiantes_programas {
        bigint id PK
        bigint estudiante_id FK
        bigint programa_id FK
        varchar estado_carrera
    }
    diplomas {
        bigint id PK
        bigint estudiante_programa_id FK
        varchar tipo_diploma
        varchar nombres_diploma
        varchar tipo_documento_diploma
        varchar numero_documento_diploma
        text documento_sustento_path
        varchar numero_registro_diploma
        varchar libro_facultad
        varchar folio_facultad
        varchar libro_secretaria_general
        varchar folio_secretaria_general
        varchar numero_diploma
        date fecha_consejo_facultad
        date fecha_consejo_universitario
        text foto_grado_path
        text pdf_diploma_path
        timestamp fecha_entrega
        text firma_entrega_path
    }
    matriculas {
        bigint id PK
        bigint estudiante_programa_id FK
        varchar periodo
        smallint ciclo
    }
    carnes {
        bigint id PK
        bigint matricula_id FK
        varchar estado
        date fecha_vencimiento
        text firma_path
    }
    ceremonias {
        bigint id PK
        bigint campus_id FK
        varchar periodo
        varchar turno
    }
    graduandos {
        bigint id PK
        bigint ceremonia_id FK
        bigint diploma_id FK
        varchar tipo_provision_toga
        varchar estado_prenda
        numeric monto_mora
    }
    perfiles {
        uuid id PK
        varchar correo
        varchar rol
    }
      

📖 Diccionario de Relaciones y Cardinalidades (3NF con Tabla Diplomas)

Tabla Padre (Lado 1 🔑) Cardinalidad Tabla Hija (Lado Muchos ∞) Columna Foránea Acción ON DELETE Regla de Negocio Protegida
campus (id) 1 ─── 0..N facultades campus_id RESTRICT No se elimina un campus si tiene facultades activas
campus (id) 1 ─── 0..N ceremonias campus_id RESTRICT Sede de colación: La ceremonia pertenece al campus
facultades (id) 1 ─── 0..N programas facultad_id RESTRICT Programas bajo tutela de su facultad
programas (id) 1 ─── 0..N estudiantes_programas programa_id RESTRICT Carrera asignada al expediente
estudiantes (id) 1 ─── 1..N estudiantes_programas estudiante_id CASCADE Soporte multicarera: El alumno puede cursar dos carreras a la vez
estudiantes_programas (id) 1 ─── 0..N diplomas estudiante_programa_id RESTRICT Entidad Diploma: Soporta Bachiller, Título, Diplomados, Suficiencia Idioma, Doble Libro/Folio (Facultad y Sec. Gen.), Rectificación Registral (Pasaporte➔CE) y PDF Escaneado (R2/Local)
estudiantes_programas (id) 1 ─── 0..N matriculas estudiante_programa_id CASCADE Historial de semestres por carrera individual
matriculas (id) 1 ─── 0..N carnes matricula_id CASCADE Inmutabilidad SUNEDU: Entrega con firma táctil estilo Cronitics App
diplomas (id) 1 ─── 0..N graduandos diploma_id RESTRICT Vínculo de Colación: Se desfila por un diploma específico (retirado antes o en estrado)
ceremonias (id) 1 ─── 0..N graduandos ceremonia_id RESTRICT Asignación estricta de turno y logística de toga en Lavandería
🔗 FK Relationship
Descripción de la relación.
tabla_a.id ➔ tabla_b.fk
📍 Posición guardada automáticamente