Fase 2 — Análisis del modelo origen (DSNube)

Proyecto: GuajiraNet ISP
Esquema origen/destino Bronze: guajiranetispsas
Motor: PostgreSQL (API DSNube → Aurora db_bronze)
Versión documento: 1.0 — Mayo 2026


1. Objetivo del análisis

Revisar el comportamiento de tablas, identificadores y relaciones del sistema fuente para:

  • Evaluar coherencia estructural antes del MER priorizado.
  • Identificar entidades núcleo usadas por reportes IT (37 consultas SQL).
  • Definir riesgos para integración y gobierno de datos en Bronze.

2. Panorama cuantitativo

MétricaValorFuente
Objetos totales en esquema827inventario_tablas.md
Tablas base (BASE TABLE)~778information_schema
Vistas (VIEW, prefijo v*)~49information_schema
Tablas con columna fecha (delta ETL)280ETL delta
Tablas en consultas IT priorizadas~45 útilesinventario_consultas_sql.md

3. Convención de nombres (prefijos)

El modelo origen usa prefijos semánticos sobre un mismo esquema plano (sin bases de datos separadas por módulo):

PrefijoRol típicoCantidad aprox.Observaciones
ma*Maestros (catálogos, parametrización)233 tablasProductos, terceros, perfiles, estratos, CRM catálogos
tr*Transacciones / movimientos218 tablas + 2 vistasFacturas, contabilidad, CRM oportunidades, nómina
tm*Tablas mixtas / integración (JSON, cartera)37tmjsoncontract, tmcartera — críticas para ISP/Wispro
tn*Transacciones auxiliares / nómina relacionada58Complemento operativo
nr*Nómina / RRHH (base)76Empleados, apropiaciones
si*Sistema / usuarios31siusuarios, CRM usuarios
v*Vistas de presentación49Lógica de negocio embebida en SQL; no siempre tienen tabla base 1:1
nu*, rb*, sy*, em*, sp*Módulos menores / empresa< 20empresa como vista/tabla única

Implicación MER: El modelo no está normalizado por capas en origen; la priorización debe ser por dominio de negocio, no por prefijo solo.


4. Patrones de identificación (IDs)

Actualizado con metadatos reales (_metadata_pk_fk.json): 568 PK, 1238 FK declaradas en origen.

4.1 Claves primarias (confirmadas en origen)

TablaPK en origen
matercerosnit
matercerosucnit, idsuc (compuesta)
trfacturasidsuc, prefijo, numero
trfacturasdetidsuc, prefijo, numero, pos
trcontab_docencidsuc, prefijo, numero
trcontab_docdetid_gen (surrogate; encabezado es compuesto)
trcrmoportunidadid
tmjsoncontract(ver 05_metadatos_pk_fk_priorizado.md)
  • Muchas tablas ma* usan PK surrogate (id, idproducto).
  • Documentos transaccionales usan clave compuesta (idsuc, prefijo, numero) de forma consistente.
  • Hallazgo: trcontab_docdet no comparte PK con el encabezado; enlaza por FK fk_documentopk hacia trcontab_docenc.

4.2 Relaciones lógicas recurrentes (validadas en consultas IT)

DesdeHaciaCondición de join (origen)Dominio
matercerosucmatercerosnitMaestro tercero
matercerosuctrfacturasnit (+ sucursal / idsuc)Facturación
trfacturastrfacturasdetidsuc, prefijo, numeroDetalle factura
trfacturasdetmaproductosidproductoProducto
matercerosuctrcontab_docdetnit + sucursal/idsucContabilidad / cartera
matercerosuctmcarteranit + sucursalCartera
matercerosucmaperfilcarteraidperfilcarteraPerfil cartera
matercerosuctmjsoncontractidcontratoContrato Wispro
matercerosucmaestratocodestratoidEstratificación
mafacturasperiodiconitmafacturasperiodiconitproductoid = idfacnitFacturación periódica
mafacturasperiodiconitmafacturasperiodicoidfactperConfig. periódica
trnrhapropiaciondettrnrhapropiacionidsuc, prefijo, numeroNómina
trnrhapropiaciondetnrhempleado / vnrhempleadoidempleadoEmpleado

4.3 Integración JSON (Wispro / ISP)

Tablas tmjson* almacenan payloads (datajson) con identificadores externos (public_id, planes). Las consultas hacen:

(w.datajson ->> 'public_id')::integer AS contrato

Riesgo: Relaciones no declaradas como FK en BD; dependen de convención en JSON.


5. Coherencia estructural — hallazgos

Fortalezas

  • Modelo maduro y completo para ERP/ISP (contabilidad + facturación + CRM + nómina).
  • Joins de reportes IT son consistentes en nit, idsuc, prefijo/numero.
  • Bronze (Fase 1) replica fielmente nombres y tipos → trazabilidad con origen.

Debilidades / riesgos

#HallazgoImpacto MER / Bronze
1Vistas v* usadas en reportes sin equivalencia documentada a tablas baseMER debe marcar vistas como entidades lógicas; Bronze puede materializar vistas o recrear en Silver
2FKs en origen: 1238 declaradas; algunas son multi-columna no estándar (ej. trfacturas.nitmatercerosuc.idsuc)Replicar en Bronze solo FKs validadas; ver 05_metadatos_pk_fk_priorizado.md
3Tablas voluminosas (trcontab_docdet > 1M filas)MER priorizado no implica full historial en todos los análisis
4Alias en consultas (cambios, primer_cambio) no son tablasExcluir del subconjunto físico
5Tipos y longitudes inferidos en ETLRevisar columnas críticas (numeric, varchar) en validación funcional

6. Dominios de negocio (agrupación para MER)

flowchart TB
  subgraph maestros [Maestros]
    MT[materceros]
    MTS[matercerosuc]
    MP[maproductos]
    ME[maestrato]
    MPC[maperfilcartera]
  end
  subgraph operacion [Operación ISP]
    TC[tmjsoncontract]
    TCL[tmjsonclient]
    MFP[mafacturasperiodiconit]
  end
  subgraph facturacion [Facturación]
    TF[trfacturas]
    TFD[trfacturasdet]
  end
  subgraph contabilidad [Contabilidad / Cartera]
    TCD[trcontab_docdet]
    TCE[trcontab_docenc]
    TCAR[tmcartera]
  end
  subgraph crm [CRM]
    TOP[trcrmoportunidad]
    TIC[trispcampana]
  end
  MTS --> MT
  MTS --> TF
  TF --> TFD
  TFD --> MP
  MTS --> TCD
  MTS --> TCAR
  MTS --> TC
  MFP --> MTS

Built with LogoFlowershow