Relaciones entre las tablas en Access

¿Por qué es importante conocer cómo relacionar las tablas en Access? Para que la base de datos funcione correctamente no basta con crear las distintas tablas que van a contener la información que deseamos almacenar en la misma. Estas tablas deberían estar relacionadas. De hecho toda la información que incluiremos en la base de datos, seguramente tendrá algún tipo de relación.

Sin embargo, este punto es el que puede considerarse más complicado dentro del diseño de bases de datos. Exige un amplio y profundo estudio para que las relaciones establecidas sean las más eficaces. En muchos libros de texto y tutoriales se pasa por alto este punto o se trata mínimamente, pero en este curso deseamos darle la atención que merece.

Plantearemos en primer lugar las distintas relaciones lógicas que se pueden encontrar y, posteriormente, veremos cómo implementar estas relaciones mediante las herramientas que nos ofrece el programa Access.

Relacionar tablas en Access: Tipos de relaciones

  • Uno a uno: relación en la que UN registro de una tabla está relacionado con UN único registro de otra tabla.
Ejemplo:
En este ejemplo un registro de la tabla Estudiantes se relaciona con un único registro de la tabla Padres.
  • Uno a varios: relación entre dos tablas en la que UN registro de una de ellas está relacionado con VARIOS registros de la otra.
Ejemplo:

En este ejemplo un registro de la tabla Clientes se relaciona con varios registros de la tabla Pedidos.
  • Varios a varios: relación en la que UN registro de una tabla está relacionado con VARIOS registros de la otra y viceversa (sería como la relación anterior, pero leída en los dos sentidos)
Ejemplo:

En este ejemplo cada registro de la tabla Productos se relaciona con varios registros de la tabla Pedidos y, además, cada registro de la tabla Pedidos se relaciona con varios registros de la tabla Productos.

Relacionar tablas en Access: Tipos de relaciones

Después de comentar teóricamente los tipos de relaciones existentes veamos cómo las implementaremos en Access. Para ello accedemos a la opción Relaciones de la ficha Herramientas de base de datos. Añadiremos en la ventana que aparece las tablas que deseamos relacionar. Podemos arrastrar las tablas desde el panel de exploración o usar el botón Mostrar tabla de la ficha Diseño.

Relación uno  a uno

  • Este tipo de relación se realizará uniendo dos campos, uno de cada tabla, que contendrán el mismo tipo de información. Serán dos campos que tendrán el mismo tipo de datos y las mismas características (el nombre puede ser distinto). Además estos campos deben ser únicos en su tabla, es decir, no pueden haber varios registros con el mismo dato en este campo. Podemos utilizar, por tanto, las claves principales si estas contienen el mismo tipo de información en las dos tablas.
Para realizar la unión física pulsamos con el ratón sobre uno de los campos y lo arrastramos hasta el otro. Al soltar el ratón nos aparecerá el siguiente cuadro de diálogo:

Mediante este cuadro de diálogo podemos crear las relaciones. En este caso, al haber seleccionado dos campos que son únicos en su tabla, el tipo de relación será Uno a uno (como indica en la parte inferior del cuadro de diálogo).
Podemos exigir integridad referencial a la relación. Esto garantiza que cualquier registro siempre se va a relacionar con otros registros existentes y válidos. Si pulsamos esta opción además podremos Actualizar en cascada los campos relacionados y eliminar en cascada los registros relacionados. De esta manera si se modifican los datos en una tabla se modificarán también en la tabla con la que está relacionada.
Cuando pulsamos sobre el botón crear nos aparecen las tablas relacionadas.

Relación uno a varios

  • Este tipo de relación se realizará uniendo dos campos, uno de cada tabla, que contendrán el mismo tipo de información. Serán dos campos que tendrán el mismo tipo de datos y las mismas características (el nombre puede ser distinto). Además UNO de estos campo debe ser único en su tabla, es decir, no pueden haber varios registros con el mismo dato en este campo. Normalmente se utiliza la clave principal.
Usamos el mismo método comentado anteriormente para unir físicamente estos dos campos. Observaremos que, en esta ocasión, en el cuadro de diálogo Modificar relaciones aparece el tipo de relación Uno a varios.

Relación varios a varios

  • Este tipo de relación no puede ser implementada directamente en la base de datos. Por eso, para que entre dos tablas exista una relación varios a varios, crearemos una tabla intermedia que nos permita crear dos relaciones uno a varios. Esta tabla intermedia debe tener, al menos, dos campos que contendrán el mismo tipo de información que las claves principales de las tablas que queremos relacionar, tendrán el mismo tipo de datos y las mismas características. Además estos dos campos serán claves principales de la nueva tabla creada.

Como podemos ver en el ejemplo, esta tabla intermedia, creada a propósito para que exista esta relación varios a varios, contiene dos claves principales que son una “copia” de las claves principales de las tablas que queremos relacionar. Además puede contener otros campos si lo vemos necesario.
De esta manera, podremos crear dos relaciones uno a varios entre esta tabla intermedia y las dos tablas que deseábamos relacionar originalmente. En definitiva, por tanto, tenemos una relación varios a varios entre las dos tablas iniciales.

¿Cómo utilizar las relaciones?

La verdad es que relacionar tablas en access puede parecer un poco lioso pero, es cuestión de práctica llegar a controlarlo. Ante un problema real, diseñaremos las tablas que creamos necesarias para almacenar toda la información. Posteriormente estudiaremos las relaciones que deseamos que existan entre las tablas. Y, dependiendo del caso, aplicaremos uno de los tipos de relaciones explicados aquí.

Consulta la guía de relaciones de tablas del grupo de soporte de Microsoft.

Una vez ya tengamos nuestra estructura de tablas bien diseñada, podremos empezar a trabajar con ellas: introducir los datos y buscar, ordenar, filtrar la información.

Curso de Access con ejercicios prácticos

Esta entrada es parte de nuestro curso de Access con ejercicios prácticos. Si lo deseas Accede al curso de Access gratuito para conocer todo su contenido.