Relacionar tablas en Access significa conectar dos tablas mediante un campo común para que los datos fluyan entre ellas sin repetirse.
Esta conexión es el corazón de cualquier base de datos bien construida. Sin relaciones, tienes tablas aisladas que no sirven de mucho.
¿Por qué relacionar tablas?
Imagina que tienes una tienda como Liverpool. Guardas los datos de tus clientes en una tabla y sus pedidos en otra. Si no relacionas esas tablas, tendrías que escribir el nombre y teléfono del cliente en cada pedido. Eso genera errores y duplica información innecesariamente.
Con una relación, escribes los datos del cliente una sola vez. Cada pedido solo guarda el número de cliente, y Access encuentra el resto automáticamente. Así ahorras tiempo y evitas inconsistencias.
Los dos campos que forman una relación
Toda relación necesita exactamente dos campos: uno en cada tabla.
Clave principal (Primary Key): Es el campo único en la tabla principal. Ya lo viste en la lección anterior. Por ejemplo, el campo IDCliente en la tabla Clientes.
Clave foránea (Foreign Key): Es el campo en la tabla secundaria que almacena el mismo valor. Por ejemplo, el campo IDCliente en la tabla Pedidos. Este campo "apunta" al registro correcto en Clientes.
Ambos campos deben tener el mismo tipo de dato. Si IDCliente en Clientes es Autonumeración, entonces IDCliente en Pedidos debe ser Número (entero largo).
Tipos de relaciones en Access
Access maneja tres tipos de relaciones. Para este nivel, la más importante es la primera.
| Tipo | Descripción | Ejemplo |
|---|---|---|
| Uno a varios | Un registro en la tabla A corresponde a muchos en la tabla B | Un cliente tiene varios pedidos |
| Uno a uno | Un registro en A corresponde a exactamente uno en B | Un empleado tiene un expediente |
| Varios a varios | Muchos registros en A corresponden a muchos en B | Varios productos en varios pedidos |
La relación uno a varios es la más común en bases de datos para pequeños negocios en México. La usarás constantemente.
Ejemplo práctico: Clientes y Pedidos
Vamos a construir el ejemplo paso a paso. Supón que tienes estas dos tablas:
Tabla: Clientes
| Campo | Tipo de dato |
|---|---|
| IDCliente | Autonumeración (clave principal) |
| Nombre | Texto corto |
| Teléfono | Texto corto |
| Ciudad | Texto corto |
Tabla: Pedidos
| Campo | Tipo de dato |
|---|---|
| IDPedido | Autonumeración (clave principal) |
| IDCliente | Número (entero largo) |
| FechaPedido | Fecha/Hora |
| Total | Moneda |
El campo IDCliente aparece en ambas tablas. Ese es el puente entre ellas.
Cómo abrir la ventana de Relaciones
Access tiene una ventana dedicada para crear y ver relaciones. Sigue estos pasos:
- Cierra todas las tablas abiertas. Access no permite crear relaciones con tablas abiertas en Vista Hoja de datos.
- Haz clic en la pestaña Herramientas de base de datos en la cinta de opciones.
- Haz clic en el botón Relaciones. Se abre una ventana en blanco o con tus tablas si ya existen relaciones previas.
- Si la ventana está vacía, aparece automáticamente el cuadro Mostrar tabla. Si no aparece, haz clic derecho en el área blanca y selecciona Mostrar tabla.
Cómo agregar tablas a la ventana de Relaciones
En el cuadro Mostrar tabla verás la lista de todas tus tablas.
- Haz doble clic en Clientes. La tabla aparece en la ventana como un pequeño cuadro con sus campos listados.
- Haz doble clic en Pedidos. Aparece otro cuadro junto al primero.
- Cierra el cuadro Mostrar tabla con el botón Cerrar.
Ahora ves los dos cuadros flotando en la ventana. El campo IDCliente aparece en negrita en Clientes porque es la clave principal.
Cómo crear la relación arrastrando campos
Este es el paso central. Es visual y sencillo.
- Coloca el cursor sobre el campo IDCliente dentro del cuadro Clientes.
- Mantén presionado el botón izquierdo del mouse.
- Arrastra hacia el campo IDCliente dentro del cuadro Pedidos.
- Suelta el mouse. Aparece el cuadro de diálogo Modificar relaciones.
En ese cuadro verás confirmado: Clientes → IDCliente relacionado con Pedidos → IDCliente. El tipo de relación aparece como Uno a varios.
La opción Exigir integridad referencial
Dentro del cuadro Modificar relaciones hay una casilla muy importante: Exigir integridad referencial.
Integridad referencial significa que Access no permitirá guardar un pedido con un IDCliente que no exista en la tabla Clientes. Protege la coherencia de tus datos.
Marca esa casilla. Luego verás dos opciones adicionales:
- Actualizar en cascada los campos relacionados: Si cambias el
IDClienteenClientes, Access actualiza automáticamente ese número en todos los pedidos relacionados. - Eliminar en cascada los registros relacionados: Si eliminas un cliente, Access elimina automáticamente todos sus pedidos.
Para empezar, marca solo Exigir integridad referencial. Las opciones en cascada son útiles pero requieren más cuidado.
Haz clic en Crear. Access dibuja una línea entre los dos cuadros. En el extremo de Clientes aparece el número 1 y en el extremo de Pedidos aparece el símbolo ∞ (infinito). Eso confirma la relación uno a varios.
Cómo guardar la relación
Prensa Ctrl + G o cierra la ventana de Relaciones. Access pregunta si quieres guardar los cambios. Responde Sí.
La relación queda registrada. Puedes volver a la ventana de Relaciones en cualquier momento para revisar o modificar las conexiones.
Verificar la relación con datos reales
Abre la tabla Clientes y captura dos registros de ejemplo:
| IDCliente | Nombre | Teléfono | Ciudad |
|---|---|---|---|
| 1 | Ana Torres | 55-1234-5678 | Ciudad de México |
| 2 | Carlos Vega | 33-9876-5432 | Guadalajara |
Ahora abre la tabla Pedidos y captura:
| IDPedido | IDCliente | FechaPedido | Total |
|---|---|---|---|
| 1 | 1 | 15/01/2025 | $1,200 |
| 2 | 1 | 20/01/2025 | $3,500 |
| 3 | 2 | 22/01/2025 | $850 |
Observa que Ana Torres tiene dos pedidos (IDCliente = 1 aparece dos veces en Pedidos). Carlos Vega tiene uno. Esto es exactamente la relación uno a varios funcionando.
Ahora intenta capturar un pedido con IDCliente = 99, que no existe en Clientes. Access mostrará un mensaje de error y rechazará el registro. La integridad referencial está funcionando.
Errores comunes
Error 1: Tipos de datos incompatibles.
Si IDCliente en Clientes es Autonumeración pero en Pedidos lo defines como Texto corto, Access no te permitirá crear la relación. Siempre verifica que el campo en la tabla secundaria sea Número, entero largo.
Error 2: Intentar relacionar sin clave principal.
Si la tabla Clientes no tiene clave principal asignada, Access no puede establecer el lado "uno" de la relación. Asigna siempre la clave principal antes de abrir la ventana de Relaciones.
Error 3: Dejar tablas abiertas al crear relaciones. Access bloquea la creación o modificación de relaciones si alguna tabla involucrada está abierta. Cierra todas las tablas primero.
Error 4: No guardar la ventana de Relaciones. Muchos principiantes crean la relación pero cierran la ventana sin guardar. La relación desaparece. Siempre guarda con Ctrl + G o confirma cuando Access pregunte.
Resumen de pasos para crear una relación
| Paso | Acción |
|---|---|
| 1 | Cierra todas las tablas abiertas |
| 2 | Ve a Herramientas de base de datos → Relaciones |
| 3 | Agrega las tablas con Mostrar tabla |
| 4 | Arrastra el campo clave principal hacia el campo clave foránea |
| 5 | Marca Exigir integridad referencial |
| 6 | Haz clic en Crear |
| 7 | Guarda con Ctrl + G |
Siguiendo estos siete pasos, cualquier base de datos pequeña —desde una papelería en Monterrey hasta un proveedor de FEMSA— puede manejar información relacionada de forma correcta y confiable.