Crear relaciones de
varios con varios
¿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:
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 |
12 |
|
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 |
12 |
1 |
|
1012 |
15 |
1 |
|
1012 |
30 |
5 |
Crear una tabla intermedia
1.
Seleccione
Crear > Tabla.
2.
Seleccione
Guardar
3.
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 de 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.
1.
En
la vista Hoja de datos, seleccione el encabezado de columna Id. y
escriba el nuevo nombre para el campo.
2.
Seleccione
el campo cuyo nombre acaba de cambiar.
3.
En
la pestaña Campos, en Tipo de datos, seleccione un tipo de datos
que coincida con el campo de la tabla original, como Número o Texto
corto.
4.
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.
5.
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.
1.
En
la vista Diseño, abra la tabla intermedia.
2.
Seleccione
las filas que contienen los Id. (Si ha seguido el procedimiento anterior, son
las dos primeras filas).
3.
Seleccione
Diseño > 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: