1 2
Se dice que una entidad es fuerte si puede existir por sí misma sin que dependa de la existencia de otra entidad. Por el contrario, si una entidad depende de la existencia de otra, será débil por existencia o por identificación...
Pero no queremos aburrir al lector con un enfoque totalmente teórico, más bien planteamos un ejemplo intuitivo y asequible al usuario no experto...
Supongamos el conjunto de entidades Pago (tabla PAGOS es la entidad débil) que vemos en la imagen anterior, con los atributos (campos) número, importe y fecha. Se trata de almecenar la información de los distintos pagos necesarios para devolver un préstamo. Obviamente no planteamos otras cuestiones relativas a intereses o de otro tipo...
Decidimos que los números de pago sean números secuenciales desde el 1 hasta N para cada préstamo...
Cada fila (cada pago) de la tabla PAGOS es un pago distinto al resto de pagos (filas). Pero en estas condiciones existen números de pagos repetidos, incluso podrían el importe y la fecha podrían repetirse, como deducimos de la imagen. El lector no debe olvidar que son pagos diferentes correspondientes a prestamos diferentes. ¿Cómo podemos identificar a qué préstamo corresponde un pago? Sencillamente no podemos, puesto que no hay una llave primaria que identifique cada entidad (fila) pago. Nos encontramos ante un conjunto de entidades débiles en existencia que se convertirían en registros huerfanos o colgados imposibles de procesar en una estructura de relaciones...
Podríamos pensar en añadir una llave primaria (campo id es un discriminante) a la tabla PAGOS como vemos en la imagen siguiente. Esta llave podría ser un campo autonumérico que vemos (por ejemplo) desde el 20 al 27 por claridad para el lector...
En este caso si podríamos diferenciar cada entidad pago (fila) del resto de entidades pagos (filas). Se trata de un conjunto de entidades débiles en identificación puesto que en el contexto de relaciones segiríamos teniendo registros colgados respecto a la tabla PRESTAMOS. En cualquier caso la entidad pago es siempre débil en existencia o en identificación dentro de un contexto de relaciones. La razón es simple: existen entidades pago porque necesariamente hay entidades préstamo. ¿Porqué debería pagar sino me han prestado?...
PRESTAMOS es una entidad fuerte respecto a pagos, si bien su condición puede cambiar repecto a otras entidades como el conjunto de cuentas de un cliente ya que sobre una cuenta de un cliente pueden existir varios prestamos...
Pero ¿cómo podemos relacionar el conjunto de entidades pago con el conjunto de entidades prestamo?. Una posible solución puedes verla en la imagen siguiente. Se trata de utilizar la llave primaria de la entidad fuerte como campo (numeropresta) en la entidad débil. Si combinamos los campos numero y numeropresta para formar una llave primaria, ésta identificará cada pago de manera adecuada sabiendo en todo momento a qué prestamo corresponde cada pago...
Talvez podríamos preguntarnos ¿qué cantidad queda por pagar del préstamo número dos?
¡Según los datos que aparecen en pantalla: 253,00!...
Y ¿cómo lo hacemos en Acces?
La estructura de la tabla PAGOS puedes verla en la imagen siguiente junto con un listado de varios registros de ejemplo. Ten en cuenta que se define una relación N:1 (de varios a uno). Puedes verlo en la imágen más abajo...