Cómo diferenciar el tipo de relación entre dos tablas

PorLucía Montero Rodríguez

Cómo diferenciar el tipo de relación entre dos tablas

Tratamiento de las relaciones varios a varios en AccessDesde mi experiencia a lo largo de estos, creo que lo más complicado no es manejar una base de datos, sino hacer un buen análisis. Partiendo de esta premisa, en las evaluaciones que realizo en clase siempre pido el análisis en papel junto con la propia base de datos. Al revisarlos, es curioso ver cómo hay personas que son capaces de solventar un mal análisis, aunque el resultado final no sea eficiente. En cualquier caso, la relación que pueda existir entre dos tablas se convierte en un elemento clave para que la base de datos correspondiente funcione de manera eficiente.

Tipos de relaciones

Comencemos por repasar las diferentes modalidades, suponiendo que tenemos dos tablas con información relacionada entre sí.

Base de datos: Tipos de relaciones entre dos tablas1 a 1: 

Cuando un registro de la tabla A sólo se puede relacionar con un registro de la tabla B

1 a varios: 

Cuando un registro de la tabla A se puede relacionar con varios registros de la tabla B

Varios a varios: 

Cuando varios registros de la tabla A se pueden relacionar con varios registros de la tabla B

Preguntas que debo hacerme

Estas dos sencillas preguntas te ayudarán definir correctamente la relación entre dos tablas:

Si es así, estaremos ante un extremo 1, lo que descarta automáticamente la tercera modalidad.

Cuántas veces puede aparecer cada elemento de A en la tabla B?

Tablas sin relacionar en una base de datosTiene una clave principal?
Este supuesto es mejor analizarlo con un ejemplo concreto. Mira las tablas de la siguiente figura:

Por un lado tenemos tablas auxiliares:

Clientes: lista con los datos de todos los clientes de una agencia de viajes.

Transporte: lista con los diferentes medios para cada viaje del catálogo

Tipos de viajes: catálogo de los productos que la agencia oferta, y que se alimenta de la tabla anterior.

Además, la tabla principal es:

Viajes:  lista de los viajes realmente contratados, por lo que deberá relacionarse con Clientes y con Tipos de viajes.

Suponiendo que la tabla A es Clientes y la tabla B es Viajes, piensa ahora en la relación entre  codigocliente y codigocli.

1ª  pregunta: En la tabla Clientes, ¿cuántas veces aparecerá cada cliente?

Respuesta: Como es la lista de todos los clientes, cada persona deberá aparecer sólo una vez. Además, si te fijas en la imagen, el campo codigocliente está marcado como clave principal, lo que garantiza que sea un extremo 1 dentro de la relación.

2ª  pregunta: En la tabla Viajes, ¿es posible que un mismo cliente contrate más de un viaje?

Respuesta: Si la respuesta es SI, como en este caso, la tabla B tiene el extremo varios de la relación.

Por lo tanto, definiremos la relación como del tipo Uno a varios.

Comprobación en Access

Para ver si Access coincide con nosotros, arrastra el campo codigocliente hasta situarlo encima de codigocli o viceversa. Al soltar el ratón, la aplicación muestra el cuadro de diálogo Modificar relaciones:
Cuadro Modificar Relaciones indicando el Tipo de relación en la parte inferior

Si te fijas en la parte inferior de la imagen, Access ya está indicando el Tipo de relación: Uno a varios. Si además activamos la opción Exigir integridad referencial y pulsamos el botón Crear, verás como Access dibuja dicha relación en el esquema.
Relación 1 a varios entre dos tablas de una base de datos

Conclusión

Mediante la explicación anterior hemos podido comprobar cómo, realizando las preguntas adecuadas, podemos detectar fácilmente el tipo de relación que se establece entre dos tablas diferentes.

Acerca del autor

Lucía Montero Rodríguez administrator