Cómo establecer una relación entre dos tablas en Access

Las relaciones entre tablas se establecen en el Panel de relaciones.

Es importante considerar lo siguiente para relacionar dos tablas

Los campos de las dos tablas por los que las queremos relacionar deberán:

  • Ser del mismo tipo de dato (numérico y numérico, numérico y autonumérico -numérico por lo tanto-, texto y texto...). Esto es obligatorio.
  • Los dos campos deberán ser indexados preferiblemente (en una de las tablas quizás Sí y CON duplicados y en la otra tabla Sí y SIN duplicados -si la relación es de tipo uno a varios-). Uno de los dos podría ser además clave principal...
  • Tener la misma longitud (entero largo y entero largo, 25 y 25...).

El procedimiento, que es muy intuitivo y gráfico, es el siguiente:

1

Situamos el puntero del ratón sobre el campo común a ambas tablas, estando sobre la tabla principal por ejemplo.

2

Pulsamos el botón izquierdo del ratón y, sin soltarlo, arrastramos el campo hasta el campo común de la otra tabla relacionada.

En este ejemplo, deseamos relacionar el capo N_Socio de la tabla de Socios, con el campo N_Socio de la tabla Participaciones. Arrastremos por lo tanto, un campo contra el otro:

3

Soltamos el botón del ratón. Inmediatamente aparece en pantalla el cuadro de diálogo que definirá la relación.

El panel nos muestra los nombres de los campos y tablas involucradas, y nos permite crear la relación mediante el botón Crear. En la zona inferior aparece el tipo de relación a crear (en la imagen siguiente de tipo uno a varios).

En este caso, la relación se establece entre el campo N_socio de la tabla Socios (a la izquierda del panel) y el campo N_SOCIO de la tabla Participaciones (a la derecha del panel):

4

Hacemos clic sobre el botón Crear (arriba a la derecha del panel) para establecer y fijar la relación.

En la ventana de relaciones aparecerán ambas tablas unidas a través de un línea (como un "cable"), cuyos extremos se sitúan frente a los campos de la relación.

De este modo hemos establecido una relación entre la tabla de socios y la de participaciones.

Al realizar la relación de esta manera no establecemos ninguna seguridad. Es decir, siguiendo con el ejemplo, tal y como hemos definido esta relación, podríamos tener un participante que no tuviéramos registrado en la tabla de socios; es decir, un participante cuyo nombre, apellido... No conociéramos. ¿Queremos permitir esto?

Para evitar estos errores existe el concepto de integridad referencial, que estudiaremos más adelante.