F0.00

RELACION DE UNO A VARIOS

F0.10

relación Varios a Varios

F4.00

RELACION MUCHOS A MUCHOS

F12.00

CREAR UNA TABLA DE UNION PARA RELACION VARIOS A VARIOS

Páginas:
       1 
CREAR UNA TABLA DE UNION PARA RELACION VARIOS A VARIOS

En Acces, para poder crear una relación de varios a varios entre dos tablas, necesitamos una tercera tabla llamada tabla de unión. Veamos un ejemplo:

Supongamos que tenemos una B.D. (la tienes en descarga) en la que hay dos tablas (entidades) NUM_VENTA y PRODUCTOS como muestra la imagen de abajo.

NUM_VENTA puede representar los números de venta o números de facturas de un negocio. Los atributos o campos de esta entidad puedes verlo en la imagen inferior...

PRODUCTOS puede representar los productos que vendemos en nuestro negocio. Sus atributos o campos puesdes verlos igualmente en la imagen inferior...

Ambas tablas disponen de su correspondiente llave primaria como puedes observar.

CREAR UNA TABLA DE UNION PARA RELACION VARIOS A VARIOS

Las dos tablas no se encuentran relacionadas como ves en la imagen, aunque desde el punto de vista lógico sí hay una relación entre ambas:

Un número de venta cualquiera (un registro de NUM_VENTA) tiene que relacionarse necesariamente con al menos un producto o varios productos (uno o varios registros de PRODUCTOS), es decir, la venta número "X" tiene necesariamente que que haber vendido al menos el producto "Y" o bien los productos "Y", "Z", etc. (no se admiten ventas sin productos).

La conclusión es que NUM_VENTA tiene o define una relación de uno a muchos con PRODUCTOS. Pero ¿qué ocurre con PRODUCTOS?. El producto "Y" puede haberse vendido una sola vez, muchas veces o ninguna vez, es decir el producto "Y" (registro "Y" de PRODUCTOS) puede relacioanrse con uno o varios registros de NUM_VENTA. La conclusión es que PRODUCTOS tiene o define una relación de uno a muchos con NUM_VENTA en la se admiten registros de PRODUCTOS sin relación con NUM_VENTA (productos que no se venden nunca)..

Conclusión final: NUM_VENTA y PRODUCTOS tienen o definen una relación de varios a varios; una venta tiene que relacionarse con uno o varios productos y un producto puede relacionarse con una o varias ventas.

Pero ¿cómo podemos relacionar NUM_VENTA y PRODUCTOS?

La llave primaria N_VENTA (el número de la venta) no puede relacionarse directamente con la llave primaria N_PRODUCTO (el número del producto), puesto que crearíamos una relación de uno a uno absurda para nuestro negocio ya que un cliente que comprara diez productos originaría diez facturas diferentes...

¿Cómo podemos implementar nuestro modelo en tablas reales que definan una relación de varios a varios?

La solución es muy facil. Crearemos un tercera tabla que haga de puente entre ambas tablas. Esta tabla se llama funcionalmente "tabla de unión".

La tablas de unión no tienen nada de especial, se crean desde el panel de tablas como el resto de las tablas de nuestra base de datos, como puedes ver en la imagen siguiente...

Lo único realmente necesario para la tabla de unión de nuestro ejemplo, es que su llave primaria sea una llave primaria múltiple, es decir, la llave primaria de nuestra tabla de uníón deberá formarse con las dos (o más) llaves externas (llaves foraneas) de nuestras dos tablas. De esta manera nuestro gestor de BD (Access) puede crear realmente una relación de varios a varios.

Pasos:

1. Crea una nueva tabla VENTAS o como quieras llamarla.

2. Crea un campo N_VENTA o como quieras llamarlo con el mismo tipo de dato que la llave primaria de NUM_VENTA.

3. Pon la llave al campo.

4. Haz lo mismo con N_PRODUCTO.

5. Añade el campo Cantidad.

6. Puedes añadir otros campo si los necesitas...

Si has llegado a este punto sólo queda acceder al panel de relaciones de Access para agregar las tres tablas y definir la relación varios a varios como puedes ver en las imagenes siguientes...

Arrastra el campo N_VENTA de NUM_VENTA sobre N_VENTA de la tabla de unión (VENTAS) como ves en la imagen siguiente.

Recuerda activar integridad referencial y comprobar que Access está creando una relación de uno a varios entre NUM_VENTAS y VENTAS

Realiza el mismo proceso que en el paso anterior como ves en la imagen.

Y ¡ya hemos terminado!. Tu relación varios a varios está definida y funcional.

Para acceder a los datos deberas crear las consultas y formularios adecuados, pero esa ya es otra historia...

Suerte y hasta pronto...








Sesión:
registrar en twiiter
Inicie sesión ...


Editores de contenidos

No es un Editor...



Títulos


Tweets aulapc.es:





 eduardo@aulapc.es Granada (España)