Normalizar un sistema de RRHH y liquidación de sueldos típico de pyme: empleados, puestos, jornadas, horas extras, ausencias, liquidaciones mensuales, anticipos y movimientos bancarios. Se muestran 1FN → 3FN y consultas útiles.
Ejemplo de exportación desde Excel con listas y datos mezclados.
| Legajo | Nombre | Área | Puesto | SueldoBase | FechaIngreso | Mes | HorasTrab | HorasExtra | Ausencias | Conceptos | Montos | Banco | CBU | Estado |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 232 | Juan Pérez | Ventas | Vendedor Sr | 420000 | 2018-03-01 | 2024-11 | 160 | 12 | 1 | HEXT50,HEXT100,PRESENTISMO | 54000,12000,35000 | Nación | 011002233 | Activo |
| 455 | María Soto | RRHH | Analista Jr | 380000 | 2022-01-15 | 2024-11 | 160 | 0 | 2 | DESCUENTO_OBRA_SOCIAL | 15200 | Santander | 990012200 | Activo |
| 522 | Carlos Ríos | Ventas | Vendedor Jr | 330000 | 2020-11-05 | 2024-11 | 160 | 5 | 0 | HEXT50,PREMIO_OBJETIVOS | 18500,45000 | Nación | 011000123 | Suspendido |
Conceptos y Montos → violación de 1FN.Cada fila representa una línea de liquidación por empleado y mes.
| DetalleID | Legajo | Periodo | Concepto | Monto | HorasTrab | HorasExtra | Ausencias |
|---|---|---|---|---|---|---|---|
| D1 | 232 | 2024-11 | HEXT50 | 54000 | 160 | 12 | 1 |
| D2 | 232 | 2024-11 | HEXT100 | 12000 | 160 | 12 | 1 |
| D3 | 232 | 2024-11 | PRESENTISMO | 35000 | 160 | 12 | 1 |
| D4 | 455 | 2024-11 | DESC_OBRA_SOCIAL | 15200 | 160 | 0 | 2 |
| D5 | 522 | 2024-11 | HEXT50 | 18500 | 160 | 5 | 0 |
| D6 | 522 | 2024-11 | PREMIO_OBJ | 45000 | 160 | 5 | 0 |
Creación de tablas: Empleados, Puestos, Areas, Liquidaciones y Detalle.
| Empleados |
|---|
| Legajo, Nombre, FechaIngreso, Estado |
| 232, Juan Pérez, 2018-03-01, Activo |
| 455, María Soto, 2022-01-15, Activo |
| 522, Carlos Ríos, 2020-11-05, Suspendido |
| Puestos |
|---|
| PuestoID, Puesto, Categoria, SueldoBase |
| PST01, Vendedor Sr, B, 420000 |
| PST02, Analista Jr, C, 380000 |
| PST03, Vendedor Jr, D, 330000 |
Liquidación por mes (cabecera) y detalle por concepto (líneas).
Se introducen maestros: Conceptos, Bancos, Historico de Sueldos, Anticipos, HorasExtras y Ausencias como tablas propias.
| Conceptos (maestro) |
|---|
| ConceptoID, Descripción, Tipo (Haber/Deducción), BaseCálculo |
| HEXT50, Hora extra 50%, Haber, HorasExtra |
| HEXT100, Hora extra 100%, Haber, HorasExtra |
| PRESENTISMO, Presentismo, Haber, Fijo |
| DESC_OBRA_SOCIAL, Obra Social, Deducción, SueldoBase |
SELECT l.Legajo, e.Nombre, l.Periodo, SUM(d.Monto) AS SueldoBruto
FROM Liquidacion l
JOIN LiquidacionDetalle d ON l.LiquidacionID = d.LiquidacionID
JOIN Empleados e ON l.Legajo = e.Legajo
GROUP BY l.Legajo, e.Nombre, l.Periodo;
SELECT l.Legajo, e.Nombre, SUM(d.Monto) AS TotalDeducciones
FROM LiquidacionDetalle d
JOIN Conceptos c ON d.ConceptoID = c.ConceptoID
JOIN Liquidacion l ON d.LiquidacionID = l.LiquidacionID
JOIN Empleados e ON l.Legajo = e.Legajo
WHERE c.Tipo = 'Deducción'
GROUP BY l.Legajo, e.Nombre;