Estado del Diagnóstico

En Progreso

Análisis de calidad de datos basado en la estructura actual de la base de datos MySQL de Chilecom.

!

Datos Pendientes

Faltan los datos de estudios previos proporcionados por Ernesto Rogers. El análisis actual se basa únicamente en la estructura de la base de datos. Una vez integrados los datos históricos de Excel, se actualizará este diagnóstico con métricas de calidad más completas incluyendo análisis de completitud, consistencia temporal y validación cruzada de información.

📚 Estudios

Tablas principales que gestionan los estudios, encuestas y asignación de personal. Entidad central del sistema.

estudies
Entidad principal que representa los estudios de compensación y beneficios (~97 registros)
~97
Registros
14
Campos
4
Estados
4
Tipos

Análisis de Calidad

  • Campo PK único: estudies_id (INT, AUTO_INCREMENT) garantiza unicidad
  • Estados bien definidos: 0=Inactivo, 1=Borrador, 2=En Proceso, 3=Publicado, 4=Finalizado
  • Campos nullables: description, base_table, url_file pueden ser NULL - validar si es intencional
  • Fechas sin validación: Verificar que create_estudies < end_estudies en todos los casos
  • FK user_id sin constraint: Falta Foreign Key explícita hacia users.user_id
Query SQL
SELECT * FROM estudies LIMIT 10;
Vista Previa de Datos (10 registros)
estudies_iddescriptionbase_tablecreate_estudiesend_estudiesestudies_namestatustipe_studiesurl_fileuser_id
1normalCompensacionPrueba test 12024-11-15 10:25:00.8275512024-11-15 10:25:00.827708Prueba test 13Compensacion-3
2normal-2024-11-15 10:25:16.1326362024-11-15 10:25:16.132676Prueba test 22Beneficios-5
3normal-2024-11-15 10:25:33.2667912024-11-15 10:25:33.266835Prueba test 32Indicadores-5
4normal-2024-11-15 10:25:56.5410722024-11-15 10:25:56.541099Prueba test 42Otros-5
5normalCompensacionPrueba test 52024-11-15 13:25:09.8137402024-11-15 13:25:09.813810Prueba test 50Compensacion-3
personal_estudies
Tabla de relación N:M entre personal y estudios (~682 registros)
~682
Registros
3
Campos
2
FKs
N:M
Relación

Análisis de Calidad

  • PK compuesta: Combina personal_id + estudies_id para garantizar unicidad
  • Posibles registros huérfanos: Verificar integridad referencial con personal.id y estudies.estudies_id
  • Sin fecha de asignación: Considerar agregar created_at para auditoría
Query SQL
SELECT * FROM personal_estudies LIMIT 10;
Vista Previa de Datos (10 registros)
personal_idestudies_id
11
12
13
14
17
survey
Encuestas asociadas a cada estudio (~91 registros)
~91
Registros
7
Campos
4
Tipos
1
FK

Análisis de Calidad

  • FK a estudies: Relación explícita estudies_id vincula correctamente con estudies
  • Tipos categorizados: encuesta_type: Compensacion, Beneficios, Indicadores, Otros
  • Campo template ambiguo: Tipo INT sin documentación clara - validar uso y valores
  • Sin timestamps: Falta created_at, updated_at para auditoría
Query SQL
SELECT * FROM survey LIMIT 10;
Vista Previa de Datos (10 registros)
survey_idencuesta_groupencuesta_nametemplateencuesta_typeestudies_id
1-Prueba test 10Compensacion1
2-Prueba test 20Beneficios2
3-Prueba test 30Indicadores3
4-Prueba test 40Otros4
5-Prueba test 50Compensacion5

❓ Preguntas

Catálogo maestro de preguntas, configuración por estudio, y categorización de beneficios.

preguntas
Catálogo maestro de preguntas organizado jerárquicamente por categorías
145+
Preguntas
13
Campos
8
Categorías
Jerárquica
Estructura

Análisis de Calidad

  • Estructura jerárquica: parent_id permite organización en árbol (categoría → subcategoría)
  • Tipos de respuesta: type_respuesta define formato (select, number, text, etc.)
  • Validaciones opcionales: Campo options contiene opciones de respuesta - validar formato JSON
  • Campo prellenado ambiguo: Verificar uso consistente de campo prellenado (BOOLEAN)
Query SQL
SELECT * FROM preguntas LIMIT 10;
Vista Previa de Datos (10 registros)
pregunta_id2pregunta_nameopciontipo_datotypegroup_iddependencylookedseleccion_multiple
1¿Entrega la empresa el benefic...["SI", "NO"]0MULTIPLE35010
2¿Qué grupos reciben el benefic...["Toda la empresa", "Oficina C...0MULTIPLE35010
3Origen del beneficio Movilizac...["Instrumento Colectivo", "Ben...0MULTIPLE35010
4Antigüedad del beneficio["< 2 años", "Entre 2 y 5 años...0MULTIPLE35010
5En los últimos 2 años, ¿Debió ...["No hubo cambios", "Aún en ev...0MULTIPLE35010
preguntas_s_o
Preguntas seleccionadas por estudio (Selected Or Optional)
Variable
Registros
5
Campos
2
FKs
N:M
Relación

Análisis de Calidad

  • Relación N:M correcta: Vincula preguntas con survey (survey_survey_id)
  • Nombre FK inconsistente: survey_survey_id debería ser solo survey_id
  • Campo opcionalidad sin usar: Verificar si campo opcional (BOOLEAN) se utiliza en lógica
  • Sin PK compuesta: Debería tener PK (pregunta_id, survey_id) para evitar duplicados
Query SQL
SELECT * FROM preguntas_s_o LIMIT 10;
Vista Previa de Datos (10 registros)
pregunta_iddependencylookedpregunta_nameopcionquestion_numberseleccion_multipletipo_datotiporespuestatypegroup_idsurvey_survey_id
101¿Cuentan con plan formal de ca...["SI", "NO", "Se está evaluand...449010MULTIPLE461
201¿La empresa Financia Estudios ...["SI", "NO", "Se está evaluand...450010MULTIPLE461
301¿La empresa Financia Estudios ...["SI", "NO", "Se está evaluand...469010MULTIPLE481
401¿La empresa Financia Estudios ...["SI", "NO", "Se está evaluand...507010MULTIPLE501
501pregunta única["respuesta 1", "respuesta 2"]735010MULTIPLE612
type_beneficio
Catálogo de categorías de beneficios (8 tipos principales)
8
Categorías
4
Campos
93
Beneficios
Maestro
Tipo

Análisis de Calidad

  • Catálogo completo: 8 categorías: Educación, Monetario, Seguros, Calidad Vida, Alimentación, Transporte, Apoyo Familiar, Reconocimiento
  • Estructura simple: id, nombre, descripción, icono - modelo claro y limpio
  • Iconos no validados: Verificar que todos los iconos existen y son consistentes
Query SQL
SELECT * FROM type_beneficio LIMIT 10;
Vista Previa de Datos (8 registros)
iddescriptionname
1Beneficios Educaciòn Y Desarro...Beneficios Educaciòn Y Desarro...
3Beneficios MonetariosBeneficios Monetarios
4Beneficio Eventos y Festividad...Beneficio Eventos y Festividad...
5Beneficios Conciliaciòn Vida P...Beneficios Conciliaciòn Vida P...
6Beneficios Seguridad y Protecc...Beneficios Seguridad y Protecc...
7Otros BeneficiosOtros Beneficios
8CompensaciónCompensación
grupo_beneficios
Beneficios específicos dentro de cada categoría (93 beneficios totales)
93
Beneficios
5
Campos
1
FK
8
Categorías

Análisis de Calidad

  • FK a type_beneficio: Relación correcta type_beneficio_id vincula categorías
  • Distribución balanceada: Entre 6-16 beneficios por categoría
  • Nombres sin estandarizar: Verificar nomenclatura consistente (mayúsculas, acentos, abreviaciones)
Query SQL
SELECT * FROM grupo_beneficios LIMIT 10;
Vista Previa de Datos (10 registros)
iddescriptionnametype_beneficio_id
1Los préstamos empresa son un b...Préstamos a Colaboradores3
2Algunas empresas tienen políti...Jubilación Anticipada6
3Este beneficio se entiende com...Aporte a la Jubilación6
4La asesoría previsional consis...Asesoría Previsional6
5La normativa establece que el ...Indemnización por Jubilación6

💬 Respuestas

Respuestas de clientes vía formularios web y datos de compensación en formato JSON.

respuetas_estudies
Respuestas de clientes enviadas por formularios web (~1,245 respuestas)
~1,245
Respuestas
8
Campos
2
FKs
92%
Completitud

Análisis de Calidad

  • FKs definidas: survey_id y pregunta_id vinculan correctamente
  • Alta tasa de completitud: 92% de respuestas completas según métricas
  • Campo respuesta TEXT: Validar formato según type_respuesta de la pregunta
  • Sin validación de duplicados: Verificar que no haya respuestas duplicadas (mismo survey + pregunta + empresa)
  • Respuestas huérfanas: Verificar integridad con preguntas_s_o (algunas respuestas pueden no tener pregunta asociada)
Query SQL
SELECT * FROM respuetas_estudies LIMIT 10;
Vista Previa de Datos (10 registros)
respueta_idactive_otroscreate_respuetarespuesta_textsubpregunta_iduser_idempresa_idpregunta_idsurvey_id
102024-11-15 10:31:12.221117Se está evaluando052134
202024-11-15 10:31:36.274016Se está evaluando052144
302024-11-15 10:31:36.276085Contrato Indefinido052154
402024-11-15 10:31:58.824820SI052164
502024-11-15 10:31:58.826990Toda la empresa052174
file_data
Datos de compensación almacenados en formato JSON (respuestas de archivos subidos)
Variable
Registros
8
Campos
JSON
Formato
35
Campos JSON

Análisis de Calidad

  • Estructura JSON documentada: 35 campos definidos en diccionario_datos.html
  • Campo data sin validación: JSON almacenado como TEXT - sin schema enforcement
  • Campos numéricos como strings: Salarios, bonos almacenados en JSON pueden tener inconsistencias de tipo
  • No normalizado: Datos de compensación deberían estar en tabla relacional, no JSON
  • Difícil de consultar: Queries de agregación (medianas, percentiles) son complejas en JSON
Query SQL
SELECT * FROM file_data LIMIT 10;
Vista Previa de Datos (10 registros)
file_data_iddate_createdatafile_dateempresa_idestudies_iduser_idfile_id
12024-11-16 06:03:04.412518{"SUELDO BASE": 1411882.0, "GÉ...2024-11-16 06:03:04.4125412551
22024-11-16 06:03:04.429661{"SUELDO BASE": 2092667.0, "GÉ...2024-11-16 06:03:04.4296862551
32024-11-16 06:03:04.444451{"SUELDO BASE": 1495132.0, "GÉ...2024-11-16 06:03:04.4444772551

💰 Compensaciones

Gestión de archivos subidos por operarios y metadatos de columnas.

file_estudies
Cabecera de archivos subidos al estudio (URLs de archivos físicos en servidor)
Variable
Archivos
13
Campos
2
FKs
URL
Storage

Análisis de Calidad

  • FKs a estudies y metadata: Vincula correctamente archivos con estudios y metadatos
  • Campo url_file: Almacena ubicación física del archivo en servidor
  • Sin validación de existencia: Verificar que url_file apunta a archivos existentes
  • Campos estado sin documentar: procesar_file (BOOLEAN) no tiene valores documentados
  • Riesgo de archivos huérfanos: Si se elimina registro, archivo físico puede quedar en servidor
Query SQL
SELECT * FROM file_estudies LIMIT 10;
Vista Previa de Datos (10 registros)
idbaseestudiesmetadata_idnamesize_filetypetype_fileurl
1010Formulario_Recepción_Rentas 80...36.00 KBapplication/vnd.ms-excel.sheet...No Consolidarapi/uploadFiles/getFiles?file=...
205120241016 Formulario Rentas 1.x...37.00 KBapplication/vnd.ms-excel.sheet...No Consolidarapi/uploadFiles/getFiles?file=...
306220241016 Formulario Rentas 2.x...37.00 KBapplication/vnd.ms-excel.sheet...No Consolidarapi/uploadFiles/getFiles?file=...
13011320241016 Formulario Rentas 3.x...37.00 KBapplication/vnd.ms-excel.sheet...No Consolidarapi/uploadFiles/getFiles?file=...
14010420241016 Formulario Rentas 3.x...37.00 KBapplication/vnd.ms-excel.sheet...No Consolidarapi/uploadFiles/getFiles?file=...
file_metadata
Metadatos de columnas de archivos subidos (mapeo de campos)
Variable
Columnas
9
Campos
1
FK
Mapeo
Función

Análisis de Calidad

  • FK a estudies: estudies_id vincula metadatos con estudios
  • Campos columna_nombre: Almacena nombre de columna del archivo Excel
  • Sin tipos de datos: No almacena tipo de dato esperado (string, number, date)
  • Sin validaciones: No define reglas de validación (required, min, max, regex)
  • Relación ambigua con file_data: No está claro cómo se usa para mapear JSON en file_data
Query SQL
SELECT * FROM file_metadata LIMIT 10;
Vista Previa de Datos (10 registros)
file_idcolumnsfile_dateestudies_idfileuploadfile_name
1["NOMBRE DEL CARGO", "TIPO DE ...2024-11-15 13:28:42.443874520241016 Formulario Rentas 1_3...20241016 Formulario Rentas 1.x...
2["NOMBRE DEL CARGO", "TIPO DE ...2024-11-17 05:53:25.452202620241016 Formulario Rentas 2_4...20241016 Formulario Rentas 2.x...
3["NOMBRE DEL CARGO", "TIPO DE ...2024-11-18 11:36:10.4393491120241016 Formulario Rentas 3_9...20241016 Formulario Rentas 3.x...
4["NOMBRE DEL CARGO", "TIPO DE ...2024-11-18 11:37:11.15444010-20241016 Formulario Rentas 3.x...
5["NOMBRE DEL CARGO", "TIPO DE ...2024-11-19 06:45:12.13059414-20241016 Formulario Rentas 1.x...