MS Access - Relación de muchos a muchos

En este capítulo, entendamos la relación de muchos a muchos. Para representar una relación de muchos a muchos, debe crear una tercera tabla, a menudo denominada tabla de unión, que descomponga la relación de muchos a muchos en dos relaciones de uno a muchos. Para hacerlo, también necesitamos agregar una tabla de unión. Primero agreguemos otra tablatblAuthers.

Creemos ahora un many-to-many relationship. Tenemos más de un autor trabajando en más de un proyecto y viceversa. Como saben, tenemos un campo Autor en tblProjects, así que hemos creado una tabla para él. Ya no necesitamos este campo.

Seleccione el campo Autor y presione el botón Eliminar y verá el siguiente mensaje.

Hacer clic Yes. Ahora tendremos que crear una tabla de unión. Esta tabla de unión tiene dos claves foráneas como se muestra en la siguiente captura de pantalla.

Estos campos de clave externa serán las claves principales de las dos tablas que se vincularon juntas: tblAuthers y tblProjects.

Para crear una clave compuesta en Access, seleccione ambos campos y desde el table tools design pestaña, puede hacer clic directamente en esa clave principal y eso marcará no uno, sino ambos campos.

La combinación de estos dos campos es la tables’ unique identifier. Guardemos ahora esta tabla comotblAuthorJunction.

El último paso para unir las relaciones de muchos a muchos es volver a ese relationships view y cree esas relaciones haciendo clic en Show Table.

Seleccione las tres tablas resaltadas arriba y haga clic en el botón Agregar y luego cierre este cuadro de diálogo.

Haga clic y arrastre el AuthorID campo de tblAuthors y colóquelo encima del tblAuthorJunction mesa AuthorID.

La relación que está creando es la que Access considerará como una relación de uno a varios. También reforzaremos la integridad referencial. Vamos ahora a encenderCascade Update y haga clic en el Create botón como en la captura de pantalla anterior.

Sostengamos ahora el ProjectID, arrástrelo y suéltelo justo encima de ProjectID desde tblAuthorJunction.

Lo haremos Enforce Referential Integrity y Cascade Update Related Fields.

Las siguientes son las relaciones de varios a varios.