Estado del Diagnóstico
En ProgresoAná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.
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
| estudies_id | description | base_table | create_estudies | end_estudies | estudies_name | status | tipe_studies | url_file | user_id |
|---|---|---|---|---|---|---|---|---|---|
| 1 | normal | CompensacionPrueba test 1 | 2024-11-15 10:25:00.827551 | 2024-11-15 10:25:00.827708 | Prueba test 1 | 3 | Compensacion | - | 3 |
| 2 | normal | - | 2024-11-15 10:25:16.132636 | 2024-11-15 10:25:16.132676 | Prueba test 2 | 2 | Beneficios | - | 5 |
| 3 | normal | - | 2024-11-15 10:25:33.266791 | 2024-11-15 10:25:33.266835 | Prueba test 3 | 2 | Indicadores | - | 5 |
| 4 | normal | - | 2024-11-15 10:25:56.541072 | 2024-11-15 10:25:56.541099 | Prueba test 4 | 2 | Otros | - | 5 |
| 5 | normal | CompensacionPrueba test 5 | 2024-11-15 13:25:09.813740 | 2024-11-15 13:25:09.813810 | Prueba test 5 | 0 | Compensacion | - | 3 |
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
| personal_id | estudies_id |
|---|---|
| 1 | 1 |
| 1 | 2 |
| 1 | 3 |
| 1 | 4 |
| 1 | 7 |
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
| survey_id | encuesta_group | encuesta_name | template | encuesta_type | estudies_id |
|---|---|---|---|---|---|
| 1 | - | Prueba test 1 | 0 | Compensacion | 1 |
| 2 | - | Prueba test 2 | 0 | Beneficios | 2 |
| 3 | - | Prueba test 3 | 0 | Indicadores | 3 |
| 4 | - | Prueba test 4 | 0 | Otros | 4 |
| 5 | - | Prueba test 5 | 0 | Compensacion | 5 |
❓ Preguntas
Catálogo maestro de preguntas, configuración por estudio, y categorización de beneficios.
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)
| pregunta_id2 | pregunta_name | opcion | tipo_dato | type | group_id | dependency | looked | seleccion_multiple |
|---|---|---|---|---|---|---|---|---|
| 1 | ¿Entrega la empresa el benefic... | ["SI", "NO"] | 0 | MULTIPLE | 35 | 0 | 1 | 0 |
| 2 | ¿Qué grupos reciben el benefic... | ["Toda la empresa", "Oficina C... | 0 | MULTIPLE | 35 | 0 | 1 | 0 |
| 3 | Origen del beneficio Movilizac... | ["Instrumento Colectivo", "Ben... | 0 | MULTIPLE | 35 | 0 | 1 | 0 |
| 4 | Antigüedad del beneficio | ["< 2 años", "Entre 2 y 5 años... | 0 | MULTIPLE | 35 | 0 | 1 | 0 |
| 5 | En los últimos 2 años, ¿Debió ... | ["No hubo cambios", "Aún en ev... | 0 | MULTIPLE | 35 | 0 | 1 | 0 |
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
| pregunta_id | dependency | looked | pregunta_name | opcion | question_number | seleccion_multiple | tipo_dato | tiporespuesta | type | group_id | survey_survey_id |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | 0 | 1 | ¿Cuentan con plan formal de ca... | ["SI", "NO", "Se está evaluand... | 449 | 0 | 1 | 0 | MULTIPLE | 46 | 1 |
| 2 | 0 | 1 | ¿La empresa Financia Estudios ... | ["SI", "NO", "Se está evaluand... | 450 | 0 | 1 | 0 | MULTIPLE | 46 | 1 |
| 3 | 0 | 1 | ¿La empresa Financia Estudios ... | ["SI", "NO", "Se está evaluand... | 469 | 0 | 1 | 0 | MULTIPLE | 48 | 1 |
| 4 | 0 | 1 | ¿La empresa Financia Estudios ... | ["SI", "NO", "Se está evaluand... | 507 | 0 | 1 | 0 | MULTIPLE | 50 | 1 |
| 5 | 0 | 1 | pregunta única | ["respuesta 1", "respuesta 2"] | 735 | 0 | 1 | 0 | MULTIPLE | 61 | 2 |
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
| id | description | name |
|---|---|---|
| 1 | Beneficios Educaciòn Y Desarro... | Beneficios Educaciòn Y Desarro... |
| 3 | Beneficios Monetarios | Beneficios Monetarios |
| 4 | Beneficio Eventos y Festividad... | Beneficio Eventos y Festividad... |
| 5 | Beneficios Conciliaciòn Vida P... | Beneficios Conciliaciòn Vida P... |
| 6 | Beneficios Seguridad y Protecc... | Beneficios Seguridad y Protecc... |
| 7 | Otros Beneficios | Otros Beneficios |
| 8 | Compensación | Compensación |
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)
| id | description | name | type_beneficio_id |
|---|---|---|---|
| 1 | Los préstamos empresa son un b... | Préstamos a Colaboradores | 3 |
| 2 | Algunas empresas tienen políti... | Jubilación Anticipada | 6 |
| 3 | Este beneficio se entiende com... | Aporte a la Jubilación | 6 |
| 4 | La asesoría previsional consis... | Asesoría Previsional | 6 |
| 5 | La normativa establece que el ... | Indemnización por Jubilación | 6 |
💬 Respuestas
Respuestas de clientes vía formularios web y datos de compensación en formato JSON.
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)
| respueta_id | active_otros | create_respueta | respuesta_text | subpregunta_id | user_id | empresa_id | pregunta_id | survey_id |
|---|---|---|---|---|---|---|---|---|
| 1 | 0 | 2024-11-15 10:31:12.221117 | Se está evaluando | 0 | 5 | 2 | 13 | 4 |
| 2 | 0 | 2024-11-15 10:31:36.274016 | Se está evaluando | 0 | 5 | 2 | 14 | 4 |
| 3 | 0 | 2024-11-15 10:31:36.276085 | Contrato Indefinido | 0 | 5 | 2 | 15 | 4 |
| 4 | 0 | 2024-11-15 10:31:58.824820 | SI | 0 | 5 | 2 | 16 | 4 |
| 5 | 0 | 2024-11-15 10:31:58.826990 | Toda la empresa | 0 | 5 | 2 | 17 | 4 |
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
| file_data_id | date_create | data | file_date | empresa_id | estudies_id | user_id | file_id |
|---|---|---|---|---|---|---|---|
| 1 | 2024-11-16 06:03:04.412518 | {"SUELDO BASE": 1411882.0, "GÉ... | 2024-11-16 06:03:04.412541 | 2 | 5 | 5 | 1 |
| 2 | 2024-11-16 06:03:04.429661 | {"SUELDO BASE": 2092667.0, "GÉ... | 2024-11-16 06:03:04.429686 | 2 | 5 | 5 | 1 |
| 3 | 2024-11-16 06:03:04.444451 | {"SUELDO BASE": 1495132.0, "GÉ... | 2024-11-16 06:03:04.444477 | 2 | 5 | 5 | 1 |
💰 Compensaciones
Gestión de archivos subidos por operarios y metadatos de columnas.
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
| id | base | estudies | metadata_id | name | size_file | type | type_file | url |
|---|---|---|---|---|---|---|---|---|
| 1 | 0 | 1 | 0 | Formulario_Recepción_Rentas 80... | 36.00 KB | application/vnd.ms-excel.sheet... | No Consolidar | api/uploadFiles/getFiles?file=... |
| 2 | 0 | 5 | 1 | 20241016 Formulario Rentas 1.x... | 37.00 KB | application/vnd.ms-excel.sheet... | No Consolidar | api/uploadFiles/getFiles?file=... |
| 3 | 0 | 6 | 2 | 20241016 Formulario Rentas 2.x... | 37.00 KB | application/vnd.ms-excel.sheet... | No Consolidar | api/uploadFiles/getFiles?file=... |
| 13 | 0 | 11 | 3 | 20241016 Formulario Rentas 3.x... | 37.00 KB | application/vnd.ms-excel.sheet... | No Consolidar | api/uploadFiles/getFiles?file=... |
| 14 | 0 | 10 | 4 | 20241016 Formulario Rentas 3.x... | 37.00 KB | application/vnd.ms-excel.sheet... | No Consolidar | api/uploadFiles/getFiles?file=... |
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
| file_id | columns | file_date | estudies_id | fileupload | file_name |
|---|---|---|---|---|---|
| 1 | ["NOMBRE DEL CARGO", "TIPO DE ... | 2024-11-15 13:28:42.443874 | 5 | 20241016 Formulario Rentas 1_3... | 20241016 Formulario Rentas 1.x... |
| 2 | ["NOMBRE DEL CARGO", "TIPO DE ... | 2024-11-17 05:53:25.452202 | 6 | 20241016 Formulario Rentas 2_4... | 20241016 Formulario Rentas 2.x... |
| 3 | ["NOMBRE DEL CARGO", "TIPO DE ... | 2024-11-18 11:36:10.439349 | 11 | 20241016 Formulario Rentas 3_9... | 20241016 Formulario Rentas 3.x... |
| 4 | ["NOMBRE DEL CARGO", "TIPO DE ... | 2024-11-18 11:37:11.154440 | 10 | - | 20241016 Formulario Rentas 3.x... |
| 5 | ["NOMBRE DEL CARGO", "TIPO DE ... | 2024-11-19 06:45:12.130594 | 14 | - | 20241016 Formulario Rentas 1.x... |