🗃 Diccionario de Datos
Estructura de la base de datos del sistema ClouHR - Plataforma de Estudios de Compensaciones y Beneficios
24
Tablas Totales
8
Verticales
Operaciones / Administracion
Gestion de usuarios, roles, empresas clientes y personal interno del sistema
users Usuarios del Sistema| Campo | Tipo | Clave | Descripcion |
|---|---|---|---|
| user_id | INT | PK | Identificador unico del usuario |
| username | VARCHAR | IDX | Email como nombre de usuario (login) |
| password | VARCHAR | Contrasena encriptada (bcrypt $2a$) | |
| create_user | DATE | Fecha de creacion del usuario | |
| disabled | BOOLEAN | Usuario deshabilitado (0=activo, 1=deshabilitado) | |
| locked | BOOLEAN | Usuario bloqueado (0=no, 1=si) | |
| personal_id | INT | FK | Referencia a tabla personal |
| first_time | BOOLEAN | Primer inicio de sesion (cambio de password) |
roles Roles del Sistema| Campo | Tipo | Clave | Descripcion |
|---|---|---|---|
| role_id | INT | PK | Identificador del rol |
| role_name | VARCHAR | Nombre: ADMIN, USER, CLIENT | |
| description | VARCHAR | Descripcion del rol |
-- Valores disponibles:
1 = ADMIN (Administradores ClouHR)
2 = USER (Usuarios internos)
3 = CLIENT (Clientes/Empresas)
1 = ADMIN (Administradores ClouHR)
2 = USER (Usuarios internos)
3 = CLIENT (Clientes/Empresas)
user_roles Asignacion Usuario-Rol| Campo | Tipo | Clave | Descripcion |
|---|---|---|---|
| user_id | INT | FK | Referencia a users |
| role_id | INT | FK | Referencia a roles |
personal Personal/Contactos| Campo | Tipo | Clave | Descripcion |
|---|---|---|---|
| id | INT | PK | Identificador unico |
| nombre | VARCHAR | Nombre completo de la persona | |
| VARCHAR | IDX | Correo electronico | |
| tipo_personal | VARCHAR | Tipo: Administrador, Consultor, Editor, Consulta, Admin | |
| tipo_cargo | VARCHAR | Cargo dentro de la organizacion | |
| imagen | VARCHAR | URL de imagen de perfil | |
| empresa_id | INT | FK | Referencia a empresa |
empresa Empresas Clientes| Campo | Tipo | Clave | Descripcion |
|---|---|---|---|
| empresa_id | INT | PK | Identificador unico de empresa |
| empresa_name | VARCHAR | Nombre comercial (CLOUHR, VENTUREGO, SOPROLE, etc.) | |
| VARCHAR | Email de contacto principal | ||
| phone | VARCHAR | Telefono de contacto | |
| direccion | VARCHAR | Direccion fisica | |
| web | VARCHAR | Sitio web | |
| valid | BOOLEAN | Empresa activa (0/1) | |
| empresa_suscribe | VARCHAR | Informacion de suscripcion |
🔗 Relaciones
users.personal_id
→
personal.id
(1:1)
user_roles.user_id
→
users.user_id
(N:1)
user_roles.role_id
→
roles.role_id
(N:1)
personal.empresa_id
→
empresa.empresa_id
(N:1)
Gestion de Estudios
Modulo core: creacion, configuracion y ciclo de vida de estudios de compensacion y beneficios
estudies Estudios (Entidad Principal)| Campo | Tipo | Clave | Descripcion |
|---|---|---|---|
| estudies_id | INT | PK | Identificador unico del estudio |
| estudies_name | VARCHAR | Nombre descriptivo del estudio | |
| description | VARCHAR | Modalidad: "normal" o "cortesia" | |
| tipe_studies | VARCHAR | Tipo: Compensacion, Beneficios, Indicadores, Otros | |
| status | INT | Estado del ciclo de vida | |
| base_table | VARCHAR | Nombre tabla generada | |
| create_estudies | DATETIME | Fecha/hora de creacion | |
| end_estudies | DATETIME | Fecha/hora de finalizacion | |
| url_file | VARCHAR | URL de archivo asociado | |
| user_id | INT | FK | Usuario creador del estudio |
-- Estados del estudio (status):
0 = Inactivo
1 = Borrador (en edicion)
2 = En Proceso (recopilando datos)
3 = Publicado (visible para clientes)
4 = Finalizado (cerrado)
0 = Inactivo
1 = Borrador (en edicion)
2 = En Proceso (recopilando datos)
3 = Publicado (visible para clientes)
4 = Finalizado (cerrado)
survey Encuestas por Estudio| Campo | Tipo | Clave | Descripcion |
|---|---|---|---|
| survey_id | INT | PK | Identificador de la encuesta |
| encuesta_name | VARCHAR | Nombre de la encuesta | |
| encuesta_type | VARCHAR | Tipo: Compensacion, Beneficios, Indicadores, Otros | |
| encuesta_group | VARCHAR | Grupo de encuesta | |
| template | INT | Template utilizado | |
| estudies_id | INT | FK | Referencia al estudio padre |
personal_estudies Asignacion Personal-Estudio| Campo | Tipo | Clave | Descripcion |
|---|---|---|---|
| personal_id | INT | FK | Referencia a personal |
| estudies_id | INT | FK | Referencia a estudies |
🔗 Relaciones
survey.estudies_id
→
estudies.estudies_id
(1:1)
personal_estudies
→
personal + estudies
(N:M)
estudies.user_id
→
users.user_id
(N:1)
Encuestas / Formularios
Catalogo maestro de preguntas, configuracion por estudio y respuestas de clientes
preguntas Catalogo Maestro de Preguntas| Campo | Tipo | Clave | Descripcion |
|---|---|---|---|
| pregunta_id2 | INT | PK | Identificador de la pregunta |
| pregunta_name | TEXT | Texto completo de la pregunta | |
| opcion | JSON | JSON | Array de opciones: ["SI", "NO", "Otro"] |
| type | VARCHAR | Tipo: MULTIPLE o SIMPLE | |
| tipo_dato | INT | 0=texto, 1=numerico | |
| group_id | INT | FK | Referencia a group_beneficio |
| dependency | INT | ID de pregunta padre | |
| looked | BOOLEAN | Visibilidad (0/1) | |
| seleccion_multiple | BOOLEAN | Permite multiples respuestas |
pregunta_s_o Preguntas Seleccionadas por Encuesta| Campo | Tipo | Clave | Descripcion |
|---|---|---|---|
| pregunta_id | INT | PK | Identificador unico |
| pregunta_name | TEXT | Texto de la pregunta | |
| opcion | JSON | JSON | Array de opciones de respuesta |
| question_number | INT | Numero de orden | |
| type | VARCHAR | MULTIPLE o SIMPLE | |
| survey_survey_id | INT | FK | Referencia a survey |
respuetas_estudies Respuestas Web de Clientes| Campo | Tipo | Clave | Descripcion |
|---|---|---|---|
| respueta_id | INT | PK | Identificador de la respuesta |
| respuesta_text | TEXT | Texto de la respuesta | |
| create_respueta | DATETIME | Fecha/hora de la respuesta | |
| pregunta_id | INT | FK | Referencia a pregunta_s_o |
| survey_id | INT | FK | Referencia a survey |
| user_id | INT | FK | Usuario que respondio |
| empresa_id | INT | FK | Empresa que responde |
🔗 Relaciones
pregunta_s_o.survey_survey_id
→
survey.survey_id
(N:1)
respuetas_estudies.pregunta_id
→
pregunta_s_o.pregunta_id
(N:1)
Compensaciones / Rentas
Datos salariales, componentes fijos y variables, informacion de empleados
file_data Datos de Compensacion (JSON)| Campo | Tipo | Clave | Descripcion |
|---|---|---|---|
| file_data_id | INT | PK | Identificador del registro |
| data | JSON | JSON | Objeto JSON con datos de compensacion |
| date_create | DATETIME | Fecha de creacion del registro | |
| file_date | DATETIME | Fecha del archivo origen | |
| empresa_id | INT | FK | Empresa propietaria del dato |
| estudies_id | INT | FK | Estudio al que pertenece |
| user_id | INT | FK | Usuario que cargo el dato |
| file_id | INT | FK | Referencia a files_estudies |
-- Estructura del campo JSON "data":
{
"NOMBRE DEL CARGO": "Analista Control de Calidad",
"SUELDO BASE": 1411882.0,
"GRATIFICACION": 182083.33,
"GENERO": "F",
"EDAD": 62.8,
"ANTIGUEDAD": 25.4,
"TIPO DE CONTRATO": "Indefinido",
"BRUTO FIJO MENSUAL": 1411882.0,
"VARIABLE ANUAL": 3017578.0,
"TOTAL BENEFICIOS ANUALES": 646947.0
// ... +30 campos adicionales
}
{
"NOMBRE DEL CARGO": "Analista Control de Calidad",
"SUELDO BASE": 1411882.0,
"GRATIFICACION": 182083.33,
"GENERO": "F",
"EDAD": 62.8,
"ANTIGUEDAD": 25.4,
"TIPO DE CONTRATO": "Indefinido",
"BRUTO FIJO MENSUAL": 1411882.0,
"VARIABLE ANUAL": 3017578.0,
"TOTAL BENEFICIOS ANUALES": 646947.0
// ... +30 campos adicionales
}
Campos del JSON de Compensacion
| Categoria | Campos | Tipo |
|---|---|---|
| Demograficos | NOMBRE DEL CARGO, GENERO, EDAD, NACIONALIDAD, ANTIGUEDAD | String/Numeric |
| Contractuales | TIPO DE CONTRATO, TIPO DE JORNADA, HORAS SEMANALES | String/Numeric |
| Comp. Fija | SUELDO BASE, GRATIFICACION, ASIG. COLACION, ASIG. MOVILIZACION | Numeric |
| Comp. Variable | INCENTIVO VARIABLE, BONO DESEMPENO, OTRO VARIABLE, VARIABLE ANUAL | Numeric |
| Beneficios | SEGURO SALUD, SEGURO DENTAL, CASINO/TICKET, ESTACIONAMIENTO | Numeric |
| Aguinaldos | AGUINALDO FIESTAS PATRIAS, AGUINALDO NAVIDAD, BONO VACACIONES | Numeric |
| Totales | BRUTO FIJO MENSUAL, TOTAL BENEFICIOS ANUALES | Numeric |
Beneficios Corporativos
Catalogo de tipos y grupos de beneficios empresariales
type_beneficio Categorias de Beneficios| Campo | Tipo | Clave | Descripcion |
|---|---|---|---|
| id | INT | PK | Identificador de categoria |
| name | VARCHAR | Nombre de la categoria | |
| description | VARCHAR | Descripcion de la categoria |
-- Categorias disponibles:
1 = Beneficios Educacion Y Desarrollo
3 = Beneficios Monetarios
4 = Beneficio Eventos y Festividades
5 = Beneficios Conciliacion Vida Personal Trabajo
6 = Beneficios Seguridad y Proteccion
7 = Otros Beneficios
8 = Compensacion
1 = Beneficios Educacion Y Desarrollo
3 = Beneficios Monetarios
4 = Beneficio Eventos y Festividades
5 = Beneficios Conciliacion Vida Personal Trabajo
6 = Beneficios Seguridad y Proteccion
7 = Otros Beneficios
8 = Compensacion
group_beneficio Catalogo de Beneficios Especificos| Campo | Tipo | Clave | Descripcion |
|---|---|---|---|
| id | INT | PK | Identificador del beneficio |
| name | VARCHAR | Nombre del beneficio | |
| description | TEXT | Descripcion detallada | |
| type_beneficio_id | INT | FK | Referencia a type_beneficio |
-- Ejemplos de beneficios catalogados:
// Educacion: Capacitacion, Financiamiento Pregrado, MBA, Idiomas
// Monetarios: 13 Sueldo, Bono Escolaridad, Prestamos, Viaticos
// Eventos: Fiesta Fin de Ano, Aguinaldo Navidad, Aguinaldo Fiestas Patrias
// Seguridad: Seguro de Vida, Seguro Complementario, Jubilacion
// Conciliacion: Jornada Flexible, Dias Libres, Vacaciones Adicionales
// Educacion: Capacitacion, Financiamiento Pregrado, MBA, Idiomas
// Monetarios: 13 Sueldo, Bono Escolaridad, Prestamos, Viaticos
// Eventos: Fiesta Fin de Ano, Aguinaldo Navidad, Aguinaldo Fiestas Patrias
// Seguridad: Seguro de Vida, Seguro Complementario, Jubilacion
// Conciliacion: Jornada Flexible, Dias Libres, Vacaciones Adicionales
🔗 Relaciones
group_beneficio.type_beneficio_id
→
type_beneficio.id
(N:1)
preguntas.group_id
→
group_beneficio.id
(N:1)
Gestion Documental
Archivos subidos, bases planas, formularios Excel y metadatos de columnas
files_estudies Archivos por Estudio| Campo | Tipo | Clave | Descripcion |
|---|---|---|---|
| id | INT | PK | Identificador del archivo |
| name | VARCHAR | Nombre del archivo | |
| base | INT | Tipo: 0=Formulario, 1=Base Plana, 2=Catalogo | |
| type | VARCHAR | MIME type del archivo | |
| type_file | VARCHAR | Accion: "Descargar" o "No Consolidar" | |
| size_file | VARCHAR | Tamano del archivo | |
| url | VARCHAR | Ruta fisica en servidor | |
| estudies | INT | FK | Referencia a estudies |
| metadata_id | INT | FK | Referencia a file_metadata |
-- Tipos de archivo (campo base):
0 = Formulario Excel (.xlsm)
1 = Base Plana (.xlsx)
2 = Catalogo de Cargos (.xlsx)
0 = Formulario Excel (.xlsm)
1 = Base Plana (.xlsx)
2 = Catalogo de Cargos (.xlsx)
file_metadata Metadatos de Columnas| Campo | Tipo | Clave | Descripcion |
|---|---|---|---|
| file_id | INT | PK | Identificador del metadata |
| columns | JSON | JSON | Array con nombres de columnas |
| file_name | VARCHAR | Nombre original del archivo | |
| fileupload | VARCHAR | Nombre interno con hash | |
| file_date | DATETIME | Fecha de subida | |
| estudies_id | INT | FK | Referencia a estudies |
🔗 Relaciones
files_estudies.estudies
→
estudies.estudies_id
(N:1)
files_estudies.metadata_id
→
file_metadata.file_id
(1:1)
file_data.file_id
→
files_estudies.id
(N:1)
Cargos / Estructura Organizacional
Catalogo maestro de cargos con areas funcionales y niveles jerarquicos
catg_cargos Catalogo de Cargos| Campo | Tipo | Clave | Descripcion |
|---|---|---|---|
| id | INT | PK | Identificador del cargo |
| name | VARCHAR | Nombre del cargo | |
| description | TEXT | Descripcion de funciones | |
| area_funcional | VARCHAR | IDX | Area de la organizacion |
| sub_area_funcional | VARCHAR | Sub-area especifica | |
| nivel | VARCHAR | Nivel jerarquico | |
| idstudio | INT | FK | Estudio de referencia |
-- Areas Funcionales:
Administracion y Finanzas, Comercial, Operaciones,
Recursos Humanos, Tecnologia, Legal, Marketing, Logistica
-- Niveles Jerarquicos:
Gerente (a)/Subgerente (a)
Jefatura
Analista/Coordinador (a)/Encargado (a)
Administrativo (a)/Asistente
Operario
Administracion y Finanzas, Comercial, Operaciones,
Recursos Humanos, Tecnologia, Legal, Marketing, Logistica
-- Niveles Jerarquicos:
Gerente (a)/Subgerente (a)
Jefatura
Analista/Coordinador (a)/Encargado (a)
Administrativo (a)/Asistente
Operario
Comunicaciones / Notificaciones
Historial de envios, programacion de correos y estados de notificacion
historial_notificaciones Historial de Envios| Campo | Tipo | Clave | Descripcion |
|---|---|---|---|
| id | INT | PK | Identificador de la notificacion |
| estado_notificado | INT | Estado: 2=Pendiente, 4=Enviado | |
| fecha_envio | DATETIME | Fecha/hora del envio | |
| estudies_id | INT | FK | Estudio relacionado |
| personal_id | INT | FK | Destinatario |
email_schedules Programacion de Correos| Campo | Tipo | Clave | Descripcion |
|---|---|---|---|
| id | INT | PK | Identificador |
| VARCHAR | Correo destino | ||
| subject | VARCHAR | Asunto del correo | |
| content | TEXT | Contenido del correo | |
| scheduled_time | DATETIME | Fecha/hora programada | |
| sent | BOOLEAN | Enviado (0/1) |