¿Se atreve?
¿Qué es una relación de varios a varios?
Las relaciones de varios a varios son las más utilizadas. Proporcionan información importante, como con qué clientes han contactado sus vendedores y qué productos se encuentran en los pedidos de los clientes.
Una relación de varios a varios se da cuando uno o más elementos en una tabla puede tener una relación con uno o más elementos de otra tabla. Por ejemplo:
-
La tabla Pedido contiene pedidos de varios clientes (que se muestran en la tabla Clientes) y un cliente puede hacer más de un pedido.
-
La tabla de productos contiene los productos individuales que vende, que forman parte de varios pedidos en la tabla Pedido.
-
Un pedido puede incluir una instancia (o más de una instancia) de un producto específico o una instancia (o más de una instancia) de varios productos.
Por ejemplo, número de pedido 1012 de la clienta Verónica Fuentes podría contener un ejemplar de los productos 12 y 15 y cinco del producto 30.
Crear relaciones de varios a varios
Las relaciones de varios a varios se crean forma distinta a las de uno a uno o uno a varios. Para esas relaciones, basta con conectar los campos adecuados con una línea. Para crear relaciones de varios a varios, deberá crear una nueva tabla que se conecte con las otras dos. Esta tabla se denomina tabla de nivel intermedio (o, a veces, tabla de vinculación o unión).
En el escenario descrito anteriormente, se crea una tabla Detalles de pedidos con registros que contienen el Id. de la tabla Pedidos y el Id. de la tabla Productos para cada elemento. Creará una clave principal para esa tabla con las claves combinadas de las otras dos tablas.
En nuestro escenario, el número de pedido 1012 de Verónica Fuentes contiene los productos 12, 15 y 30. Eso significa que nuestras entradas de Detalles del pedido tienen este aspecto:
Id. de pedido |
Id. de producto |
---|---|
1012 |
1,2 |
1012 |
15 |
1012 |
30 |
Verónica ha pedido un ejemplar de los productos 12 y 15 y cinco del producto 30. No podemos agregar otra fila con 1012 y 30 porque el Id. de pedido y el Id. de producto combinadas constituyen la clave principal y las claves principales deben ser únicas. En su lugar, se agregue el campo Cantidad a la tabla Detalles de pedido.
Id. de pedido |
Id. de producto |
Cantidad |
---|---|---|
1012 |
1,2 |
1 |
1012 |
15 |
1 |
1012 |
30 |
5 |
Crear una tabla intermedia
-
Seleccione Crear > Tabla.
-
Selecciona Guardar .
-
Como nombre de la tabla, escriba un título descriptivo. Para indicar su propósito, es posible que desee incluir unión o nivel intermedio en el nombre de la tabla.
Crear campos de la tabla de nivel intermedio
Como la primera columna de tabla, Access agrega automáticamente un campo id. Cambie ese campo para que coincida con el Id. de la tabla en la relación de varios a varios. Por ejemplo, si la primera tabla es una tabla de pedidos denominada Id. de pedido y su clave principal es un número, cambie el nombre del campo Id. en la nueva tabla por Id. de pedido y use el tipo de datos número.
-
En la vista Hoja de datos, seleccione el encabezado de columna Id. y escriba el nuevo nombre para el campo.
-
Seleccione el campo cuyo nombre acaba de cambiar.
-
En la pestaña Campos de tabla , en Tipo de datos, seleccione un tipo de datos para que coincida con el campo de la tabla original, como Número o Texto corto.
-
Seleccione Hacer clic para agregar y después seleccione un tipo de datos que coincida con la clave principal de la segunda tabla. En el encabezado de columna, que ya está seleccionado, escriba el nombre del campo de la clave principal de la segunda tabla, como Id. del producto.
-
Si necesita realizar un seguimiento de cualquier otra información acerca de estos registros, como la cantidad de artículos, cree campos adicionales.
Combinar campos de Id. principal
Ahora que tiene campos con los Id. de las dos tablas que va a conectar, cree una clave principal basada en esos Id. en la tabla de nivel intermedio.
-
En la vista Diseño, abra la tabla intermedia.
-
Seleccione las filas que contienen los Id. (Si ha seguido el procedimiento anterior, son las dos primeras filas).
-
Seleccione Diseño de tabla > clave principal.
Aparecen iconos de clave junto a ambos campos Id.
Conectar las tres tablas para crear la relación de varios a varios
Para completar la relación de varios a varios, cree una relación uno a varios entre el campo de clave principal en cada tabla y campo coincidente en la tabla de nivel intermedio. Para más información sobre cómo hacer esto, vea Introducción a las relaciones de tabla.
Cuando haya terminado, las relaciones deberían tener un aspecto parecido a este: