# TZZR - Especificación de Base de Datos **Versión:** 2.1 **Fecha:** 6 Enero 2026 **Estado:** Actualizado --- ## 1. Estructura de Tablas Principales ### 1.1 Esquema Completo | hst | flg | ply | itm | loc | mst | bck | mth | |-----|-----|-----|-----|-----|-----|-----|-----| | num | num | num | num | num | num | num | num | | alias | alias | alias | alias | alias | alias | alias | alias | | ref | ref | ref | ref | ref | ref | ref | ref | | mrf | mrf | mrf | mrf | mrf | mrf | mrf | mrf | | private_mrf | private_mrf | private_mrf | private_mrf | private_mrf | private_mrf | private_mrf | private_mrf | | name_es | name_es | name_es | name_es | name_es | name_es | name_es | name_es | | name_en | name_en | name_en | name_en | name_en | name_en | name_en | name_en | | name_ch | name_ch | name_ch | name_ch | name_ch | name_ch | name_ch | name_ch | | group | group | group | - | - | - | - | - | | - | - | - | set_hst | set_hst | set_hst | set_hst | set_hst | | - | - | - | - | - | link_mst | link_mst | - | | - | - | - | - | - | link_bck | link_bck | - | | txt | txt | txt | txt | txt | txt | txt | txt | | - | - | hashtags | hashtags | hashtags | hashtags | hashtags | hashtags | | standard_md | standard_md | - | - | - | - | - | - | | - | - | standard_data | standard_data | standard_data | standard_data | standard_data | standard_data | | jsonb_standard | jsonb_standard | - | - | - | - | - | - | | - | - | jsonb_data | jsonb_data | jsonb_data | jsonb_data | jsonb_data | jsonb_data | | version | version | version | version | version | version | version | version | | rootref | rootref | rootref | rootref | rootref | rootref | rootref | rootref | | roothash | roothash | roothash | roothash | roothash | roothash | roothash | roothash | | img_url | img_url | img_url | img_url | img_url | img_url | img_url | img_url | | img_thumb_url | img_thumb_url | img_thumb_url | img_thumb_url | img_thumb_url | img_thumb_url | img_thumb_url | img_thumb_url | | owner | owner | owner | owner | owner | owner | owner | owner | | - | - | set_flg | set_flg | set_flg | set_flg | set_flg | set_flg | | url | url | url | url | url | - | - | - | | - | - | - | url_atc | - | url_atc | url_atc | url_atc | | url_json | url_json | url_json | url_json | url_json | url_json | url_json | url_json | | date | date | date | date | date | date | date | date | | created_at | created_at | created_at | created_at | created_at | created_at | created_at | created_at | | - | - | - | - | - | mth_mrf | mth_mrf | - | --- ## 2. Clasificación de Tablas | Tipo | Tablas | Descripción | |------|--------|-------------| | Etiquetado semántico | hst, flg | Vocabulario controlado, trazabilidad | | Entidades de negocio | ply, itm, loc | Actores, productos, ubicaciones | | Gestión de procesos | mst, bck, mth | Burocracia, evidencia real, métodos | ### 2.1 Detalle MST/BCK/MTH | Tabla | Nombre | Descripción | |-------|--------|-------------| | mst | Master | Burocracia, documentos formales, registros administrativos | | bck | Back | Evidencia del mundo real, trabajo efectivo, hechos | | mth | Method | Métodos, procesos productivos predefinidos | --- ## 3. Descripción de Campos | Campo | Tipo | Descripción | |-------|------|-------------| | num | INTEGER | Identificador numérico autoincremental | | alias | VARCHAR | Nombre corto del registro | | ref | VARCHAR | Código único (típicamente 3 letras) | | mrf | VARCHAR(64) | Hash público SHA-256 (identidad del registro) | | private_mrf | VARCHAR(64) | Hash original SHA-256 (prueba de propiedad) | | name_es | VARCHAR | Nombre en español | | name_en | VARCHAR | Nombre en inglés | | name_ch | VARCHAR | Nombre en chino | | group | VARCHAR | Subgrupo dentro de hst/flg/ply (enum cerrado) | | set_hst | VARCHAR(64) | mrf del hashtag que define el tipo (abierto) | | link_mst | VARCHAR/JSONB | Enlace a un mst (único o múltiple según tabla) | | link_bck | JSONB/VARCHAR | Enlace a bck (único o múltiple según tabla) | | txt | TEXT | Texto libre / descripción | | hashtags | JSONB | Array de mrfs de hst | | standard_md | TEXT | Descripción técnica en Markdown (define formato) | | standard_data | TEXT | Formato heredado del group | | jsonb_standard | JSONB | Schema JSON con versiones (define estructura) | | jsonb_data | JSONB | Datos reales según schema | | version | VARCHAR | Versión del formato usado | | rootref | VARCHAR | Concatenación de refs (jerarquía) | | roothash | JSONB | Array de mrfs (jerarquía) | | img_url | VARCHAR | URL de imagen original | | img_thumb_url | VARCHAR | URL de thumbnail | | owner | JSONB | Propietario(s) | | set_flg | JSONB | Array de mrfs de flg | | url | VARCHAR | URL externa | | url_atc | JSONB | Array de URLs de adjuntos | | url_json | VARCHAR/JSONB | URL(s) de archivos JSON para IA | | date | DATE | Fecha manual significativa | | created_at | TIMESTAMP | Fecha de creación automática | | mth_mrf | VARCHAR(64) | Referencia al proceso productivo | --- ## 4. Tablas Relacionales ### 4.1 Árbol y Grafos | tree_hst | tree_flg | graph_hst | graph_flg | library_hst | library_flg | |----------|----------|-----------|-----------|-------------|-------------| | mrf_parent | mrf_parent | mrf_a | mrf_a | mrf_library | mrf_library | | mrf_child | mrf_child | mrf_b | mrf_b | mrf_hst | mrf_flg | | - | - | weight | weight | - | - | | - | - | edge_type | edge_type | - | - | ### 4.2 Relaciones Entidades-Tags | ply_hst | ply_flg | itm_hst | itm_flg | loc_hst | loc_flg | |---------|---------|---------|---------|---------|---------| | mrf_ply | mrf_ply | mrf_itm | mrf_itm | mrf_loc | mrf_loc | | mrf_hst | mrf_flg | mrf_hst | mrf_flg | mrf_hst | mrf_flg | | mst_hst | mst_flg | bck_hst | bck_flg | mth_hst | mth_flg | |---------|---------|---------|---------|---------|---------| | mrf_mst | mrf_mst | mrf_bck | mrf_bck | mrf_mth | mrf_mth | | mrf_hst | mrf_flg | mrf_hst | mrf_flg | mrf_hst | mrf_flg | --- ## 5. Grupos (group) ### 5.1 HST - Etiquetado Semántico | group | Nombre | Regla de ref | |-------|--------|--------------| | hst | hashtags base | Cada registro tiene ref única | | spe | especificaciones | Todos tienen ref = "spe" | | vsn | visiones | Todos tienen ref = "vsn" | | vue | valores | Todos tienen ref = "vue" | | msn | misiones | ref = "msn", "pjt", "tgt" o "ctg" | ### 5.2 PLY - Players | ref | group | Descripción | |-----|-------|-------------| | ppl | persona | Individuo humano | | inc | empresa | Entidad jurídica | | tem | equipo | Grupo de personas | | ain | inteligencia artificial | Agente artificial | --- ## 6. Edge Types (graph) | edge_type | Descripción | |-----------|-------------| | relation | Genérica | | specialization | Es-un-tipo-de | | mirror | Equivalencia/reflejo | | dependency | Depende-de | | composition | Parte-de | | sequence | Sigue-a | | association | Asociado-con | | contextual | En-contexto-de | | alternative | Alternativa-a | --- ## 7. Estructura de Carpetas (Servidor) ``` /hst/ ├── bases/ # Backups SQL ├── images/ │ ├── hst/thumb/ │ ├── flg/thumb/ │ ├── ply/thumb/ │ ├── itm/thumb/ │ ├── loc/thumb/ │ ├── mst/thumb/ │ ├── bck/thumb/ │ └── mth/thumb/ └── map/ ``` --- ## 8. Infraestructura | Servidor | IP | Propósito | |----------|-----|-----------| | ARCHITECT | 69.62.126.110 | Desarrollo | | HST | 72.62.2.84 | API tags semánticos | | DECK | 72.62.1.113 | Usuario | | CORP | 92.112.181.188 | Corporativo | | Parámetro | Valor | |-----------|-------| | Container | postgres_hst | | Usuario | directus | | DB | hst_images | | R2 Endpoint | https://7dedae6030f5554d99d37e98a5232996.r2.cloudflarestorage.com | --- ## 9. Tablas Oracle (Prospectiva) ### oracle_analisis | Campo | Tipo | Descripción | |-------|------|-------------| | num | SERIAL | Identificador | | mrf | VARCHAR(64) | Hash público (PK) | | private_mrf | VARCHAR(64) | Hash privado | | name_es | VARCHAR(255) | Nombre en español | | name_en | VARCHAR(255) | Nombre en inglés | | txt | TEXT | Descripción | | h_bloques_feldman | JSONB | Array de mrfs de Feldman | | periodo_inicio | DATE | Inicio período histórico | | periodo_fin | DATE | Fin período histórico | | h_dataset | VARCHAR(64) | Hash integridad del conjunto | | modelo_name | VARCHAR(255) | Nombre del modelo | | modelo_version | VARCHAR(50) | Versión del modelo | | modelo_metodologia | TEXT | Descripción metodología | | modelo_formulas | JSONB | Fórmulas de cálculo | | modelo_parametros | JSONB | Parámetros fijos | | modelo_limitaciones | TEXT | Limitaciones | | supuestos | JSONB | Array de supuestos | | escenario_base | JSONB | Escenario base | | escenario_optimista | JSONB | Escenario optimista | | escenario_pesimista | JSONB | Escenario pesimista | | escenario_estres | JSONB | Escenario estrés | | sensibilidad | JSONB | Análisis sensibilidad | | estado | VARCHAR(20) | activo, caducado, invalidado | | fecha_caducidad | DATE | Fecha expiración | | condiciones_invalidacion | TEXT | Qué invalida el análisis | | autor | VARCHAR(255) | Usuario o módulo Grace | | owner | JSONB | Propietario(s) | | version | VARCHAR(50) | Versión | | date | DATE | Fecha emisión | | created_at | TIMESTAMP | Fecha creación | ### oracle_escenario | Campo | Tipo | Descripción | |-------|------|-------------| | num | SERIAL | Identificador | | mrf | VARCHAR(64) | Hash público (PK) | | private_mrf | VARCHAR(64) | Hash privado | | analisis_mrf | VARCHAR(64) | FK a oracle_analisis | | name_es | VARCHAR(255) | Nombre en español | | name_en | VARCHAR(255) | Nombre en inglés | | txt | TEXT | Descripción | | valores_supuestos | JSONB | id_supuesto → valor | | resultado_min | NUMERIC | Límite inferior | | resultado_max | NUMERIC | Límite superior | | resultado_medio | NUMERIC | Valor central | | horizonte | VARCHAR(50) | Período proyección | | comparado_con | JSONB | Array mrfs otros escenarios | | autor | VARCHAR(255) | Usuario | | owner | JSONB | Propietario(s) | | date | DATE | Fecha | | created_at | TIMESTAMP | Fecha creación | --- ## 10. Resumen | Tipo | Cantidad | |------|----------| | Tablas principales | 8 | | Tablas Oracle | 2 | | Tablas árbol/grafos | 6 | | Tablas relacionales | 12 | | **Total** | **28** | --- ## 11. Changelog ### v2.1 (4 Enero 2026) - Añadido `img_thumb_url` en todas las tablas ### v2.0 (4 Enero 2026) | Antes | Después | |-------|---------| | nombre_es/en/ch | name_es/en/ch | | estandar_md | standard_md | | estandar_data | standard_data | | grupo | group | | mrf_padre | mrf_parent | | mrf_hijo | mrf_child | | mrf_biblioteca | mrf_library | --- # Anexo: Cuestiones Pendientes ## A.1 Subgrupos por Definir ### FLG - Flags | Categoría | Códigos | Ejemplos | Estado | |-----------|---------|----------|--------| | Países | ??? | España, USA, China | Pendiente | | Jurisdicciones | ??? | UE, LATAM, NAFTA | Pendiente | | Normativas | ??? | RGPD, SOX, HIPAA | Pendiente | | Estándares | ??? | ISO 27001, Bluetooth, WiFi | Pendiente | ### ITM - Items | Categoría | Códigos | Ejemplos | Estado | |-----------|---------|----------|--------| | ??? | ??? | Productos, componentes, materiales | Pendiente | **Referencia:** Marco temporal T-N → T+N ya definido (crf, mku, zmd, prd, itm). ### LOC - Locations | Categoría | Códigos | Ejemplos | Estado | |-----------|---------|----------|--------| | Punto | ??? | Coordenadas exactas | Pendiente | | Área | ??? | Zona delimitada | Pendiente | | Ruta | ??? | Trayecto entre puntos | Pendiente | --- ## A.2 Estructura jsonb_standard (Capas) | Capa | Nombre | Contenido | |------|--------|-----------| | L1 | core | Identificación básica | | L2 | {dominio} | Datos específicos del tipo | | L3 | relations | Referencias a otras entidades | | L4 | extended | Datos opcionales | | L5 | metadata | Auditoría, versiones | | L6+ | custom | Extensiones específicas | **Estado:** Propuesto, no validado. --- ## A.3 Campos jsonb_data por Tabla | Tabla | Campos esperados en jsonb_data | Estado | |-------|--------------------------------|--------| | ply (ppl) | fecha_nacimiento, genero, ... | Pendiente | | ply (inc) | nombre_fiscal, codigo_fiscal, telefono, email, direccion, numero_cuenta | Parcial | | ply (tem) | miembros, ... | Pendiente | | ply (ain) | modelo, proveedor, ... | Pendiente | | itm | ref_supplier, moq, lote, embalaje, unidad, coste, iva, delivery_time, specs | Parcial | | loc | lat, lon, precision, tipo_zona, ... | Pendiente | | mst | positivo, negativo, time, count, days, fecha_objetivo, ... | Parcial | | bck | fecha_inicio, fecha_final, prioridad, ... | Parcial | | mth | pasos, secuencia, validaciones, ... | Pendiente | --- ## A.4 Formatos de owner | Caso | Formato | Estado | |------|---------|--------| | Propietario único | `"mrf123..."` | Definido | | Múltiples propietarios | `[{"mrf": "...", "participacion": 51}, ...]` | Definido | | Empresa con socios | Schema en hst ref="owner" | Pendiente | --- ## A.5 Bibliotecas ### Visibilidad Pública/Privada | Aspecto | Decisión | Implementación | |---------|----------|----------------| | Diferencia en datos | No hay | - | | Discriminación | En endpoint | Pendiente | ### Niveles de Biblioteca | Nivel | Descripción | Estado | |-------|-------------|--------| | Sistema (pública) | Disponibles para todos | Existente | | Sistema (privada) | Backup completo, solo admin | Existente | | Usuario | Creadas por el usuario | Por implementar | --- ## A.6 Sincronización de Tablas Redundantes | Opción | Descripción | Estado | |--------|-------------|--------| | Triggers | Actualización automática en INSERT/UPDATE | Por evaluar | | Batch | Sincronización periódica | Por evaluar | | Aplicación | Lógica en el código | Por evaluar | **Pregunta:** ¿Cómo se sincronizan las tablas redundantes (ply_hst, itm_flg, etc.) con los campos JSONB (hashtags, set_flg)? --- ## A.7 API y Endpoints Pendientes | Endpoint | Función | Estado | |----------|---------|--------| | /biblioteca/import | Importar biblioteca | Pendiente | | /biblioteca/export | Exportar biblioteca | Pendiente | | /sync/redundant | Sincronizar tablas redundantes | Pendiente | --- ## A.8 Validaciones ### Foreign Keys | Decisión | Estado | |----------|--------| | Usar FK con DEFERRABLE INITIALLY DEFERRED | Propuesto | | Permitir importación masiva sin validación inmediata | Propuesto | ### Constraints de Unicidad | Campo | Tabla | Constraint | Estado | |-------|-------|------------|--------| | mrf | todas | UNIQUE | Por verificar | | ref | hst (dentro de grupo) | UNIQUE | Por verificar | | mrf_child | tree_* | UNIQUE | Existente | --- ## A.9 Prioridades ### Alta (Bloquea desarrollo) 1. Definir subgrupos FLG ### Media (Mejora funcionalidad) 2. Definir jsonb_data por tabla 3. Mecanismo de sincronización tablas redundantes 4. Endpoints de importación/exportación ### Baja (Optimización) 5. Subgrupos ITM, LOC, MST, BCK, MTH 6. Documentación de estándares 7. Migración a Gitea --- *TZZR Database Schema v2.1 - 6 Enero 2026*