Duda estructura base de datos y relaciones

Discute sobre las herramientas de la base de datos
Responder
AnitaKrav
Mensajes: 3
Registrado: Mié Nov 14, 2018 9:55 am

Duda estructura base de datos y relaciones

Mensaje por AnitaKrav »

Buenos días:

Me gustaría crear una base de datos, pero tengo dudas en cuanto a su estructura.

Se trata de una base de datos de una empresa para controlar los seguros que tiene contratados referentes a personas, para control de costes.

Por ejemplo, X trabajador tiene contratada una póliza de accidentes por importe Y, y una póliza de asistencia en viaje por un importe de Z.

El problema que tengo es el siguiente: en algunos casos las pólizas son individuales, y en otros casos colectivas.

Por ejemplo, tenemos pólizas de asistencia en viaje para 20 personas, con 20 números de póliza diferentes, 20 importes y 20 fechas de vencimiento. Pero también tenemos una sola póliza con un solo número, un solo importe y una sola fecha de vencimiento, pero que cubre a 20 personas, por lo que el importe total tendrá que dividirse entre 20.

No sé si hacer una tabla que englobe todos los seguros, en la que cada fila corresponda a una póliza para un trabajador (dividiendo yo a mano las colectivas entre el número de trabajadores) y establecer una relación uno (trabajador) a muchos (pólizas), o si hacer una tabla intermedia con las pólizas colectivas, pero entonces luego no sé cómo gestionarla porque el importe que se impute a cada trabajador dependerá del número de trabajadores cubiertos.

No sé si se me entiende, yo estoy hecha un lío.

Quizás lo más fácil sería tratar las pólizas colectivas como si fueran individuales, pero en algunos casos se me irían a más de 200 registros.

¿Alguien podría darme algo de luz?

Muchas gracias por adelantado.

Saludos,
OpenOffice 4, Windows 10
RMG
Mensajes: 3879
Registrado: Mar Nov 17, 2009 6:59 am
Ubicación: Valencia - España

Re: Duda estructura base de datos y relaciones

Mensaje por RMG »

Hola,

Para poder ayudarte con acierto, es necesario conocer detalladamente tu trabajo, si no, después todo son remiendos. Pero en base a lo expones, pienso que lo indicado es tener una tabla para los datos inequívocos de la póliza y otra para quien los contrata.

Cuando solo sea una persona, en la tabla personas, un registro vinculado al id de la póliza, cuando sean más, los registros necesarios. Respecto al pago de cada parte, puedes poner en la tabla personas, la opción del pago de su parte (un campo numero individualmente), o si siempre es a partes iguales puedes obtener la cantidad de registros de esa póliza para dividir la cantidad de la esta por el número de registros.

Pero recuerda, aconsejar sobre esto sin tener toda la información no es lo mejor.

Saludos
OpenOffice 4.1.15 y LibreOffice 6.2.4.2 en W-10, y LibreOffice 4.1.6.2 en Open Suse 13.1(VirtualBox)
AnitaKrav
Mensajes: 3
Registrado: Mié Nov 14, 2018 9:55 am

Re: Duda estructura base de datos y relaciones

Mensaje por AnitaKrav »

Hola, RMG:

Muchas gracias por tu respuesta.

Voy a intentar explicarme un poco mejor.

Trabajo en RRHH y necesitamos saber los seguros que la empresa (como tomador) tiene contratados para cada trabajador, importes y vencimientos.

Tenemos básicamente dos tipos de seguros:

- Seguros colectivos: una sola póliza que cubre a varios trabajadores. Un solo importe y pago que tenemos que repercutir a cada trabajador. Imaginemos que son 100 euros y tenemos 10 trabajadores, tenemos que saber que a cada trabajador le corresponden 10 euros. El importe global se mantiene fijo durante el año, pero el número de trabajadores puede variar si hay altas o bajas en la empresa, por lo que el importe repercutido a cada trabajador también variará. Puedo hacer 10 registros y editar la info manualmente (como si dividiese la póliza entre los trabajadores que cubre), o un solo registro y vincularlo de alguna manera a cada trabajador y que automáticamente me indique el importe. Este "problema" lo tengo con todos los seguros colectivos que contratamos.

- Seguros individuales: una póliza para un trabajador. En este caso no hay problema porque es una relación 1 a 1.

Estoy muy perdida porque en un primer momento pensé en establecer relaciones 1 a muchos (1 trabajador a n seguros), pero es que tengo pólizas colectivas que cubren a casi 200 trabajadores.

¿Hago una tabla con pólizas colectivas y otras con pólizas individuales? Si hago las pólizas colectivas, cómo tendría que hacer las operaciones aritméticas para saber importes imputables individualmente?

Muchas gracias de nuevo.

Saludos,
OpenOffice 4, Windows 10
RMG
Mensajes: 3879
Registrado: Mar Nov 17, 2009 6:59 am
Ubicación: Valencia - España

Re: Duda estructura base de datos y relaciones

Mensaje por RMG »

Hola,

La explicación esta muy bien, pero como te digo a veces el detalle es muy importante, por eso te doy mi opinión solo sobre lo que dices.

1 Tabla de empleados ( se supone que ya la tienes), para obtener estos a la hora de cargar los asegurados.

2 Tabla para pólizas con:
ID_Poliza (autonumérico) clave
NumPoliza (texto) indice único para no repetir
TipoPoliza (texto) para indicar si es colectiva o individual, quiza no te haga falta, pero no esta demás
ValorPoliza (numérico)
FechaInicio (fecha)
FechaFin (fecha)
Estos campos son los básicos además de otros campos que desconozco.

3 Tabla asegurados con:
ID (auto)
IDPoliza (entero) relacionado con el ID_Poliza de la tabla pólizas, este campo al cargar en un subformulario vinculado a la póliza, se carga solo.
IDEmpleado (entero) aquí con un listbox obtendrías a los empleados
FechaAlta (fecha)
FechaBaja (fecha) para saber si hay que contarlo a la hora de dividir el valor de la póliza

Para obtener el coste a un empleado de una póliza colectiva, primero puedes crear una simple consulta de agrupación por IDPoliza con contador o sea que cuente los registros del mismo IDPoliza de la tabla Asegurados, filtrando los que tengan fecha baja NULO.
Después solo tienes que crear una nueva consulta con la tabla pólizas y la consulta anterior, donde se dividirá el valor de la póliza por el campo contador de la consulta anterior creada.

Con esto básicamente creo que tienes resuelto el tema de reparto de póliza, en las individuales como solo existe un registro, al dividir por 1 el resultado no varía.

Espero que te sirva.

Saludos
OpenOffice 4.1.15 y LibreOffice 6.2.4.2 en W-10, y LibreOffice 4.1.6.2 en Open Suse 13.1(VirtualBox)
RMG
Mensajes: 3879
Registrado: Mar Nov 17, 2009 6:59 am
Ubicación: Valencia - España

Re: Duda estructura base de datos y relaciones

Mensaje por RMG »

Una imagen vale más que mil palabras.
Adjuntos
Polizas.zip
(11.76 KiB) Descargado 165 veces
OpenOffice 4.1.15 y LibreOffice 6.2.4.2 en W-10, y LibreOffice 4.1.6.2 en Open Suse 13.1(VirtualBox)
AnitaKrav
Mensajes: 3
Registrado: Mié Nov 14, 2018 9:55 am

Re: Duda estructura base de datos y relaciones

Mensaje por AnitaKrav »

Guau RMG, muchísimas gracias!!!

Voy a intentar ponerlo todo en práctica, a ver si lo consigo.

Mil gracias por tu ayuda, ya te contaré!

Saludos,
OpenOffice 4, Windows 10
Responder