Relaciones de una base de datos de Access (MDB)

Una vez creadas tablas diferentes para cada tema de la base de datos de Microsoft Access (base de datos de Microsoft Access: colección de datos y objetos (como tablas, consultas o formularios), que está relacionada con un tema o propósito concreto., necesita una forma de indicarle a Microsoft Access cómo debe volver a combinar esa información. El primer paso de este proceso es definir relaciones (relación: asociación que se establece entre campos comunes (columnas) en dos tablas. Una relación puede ser uno a uno, uno a varios o varios a varios.) entre las tablas. Una vez realizada esta operación, puede crear consultas, formularios e informes para mostrar información de varias tablas a la vez. Por ejemplo, este formulario incluye información de cuatro tablas:

Formulario Pedidos que muestra información relacionada de cinco tablas

Llamada 1   La tabla Clientes

Llamada 2   La tabla Pedidos

Llamada 3   La tabla Productos

Llamada 4   La tabla Detalles de pedidos

MostrarCómo funcionan las relaciones

Siguiendo en el ejemplo anterior, los campos de las cuatro tablas deben coordinarse de modo que muestren información acerca del mismo pedido. Esta coordinación se lleva a cabo mediante las relaciones entre las tablas. Una relación hace coincidir los datos de los campos clave  (normalmente un campo con el mismo nombre en ambas tablas). En la mayoría de los casos, estos campos coincidentes son la clave principal (clave principal: uno o más campos (columnas) cuyos valores identifican de manera exclusiva cada registro de una tabla. Una clave principal no puede permitir valores Nulo y debe tener siempre un índice exclusivo. Una clave principal se utiliza para relacionar una tabla con claves externas de otras tablas.) de una tabla, que proporciona un identificador único para cada registro, y una clave externa (clave externa: uno o más campos de tabla (columnas) que hacen referencia al campo o campos de clave principal de otra tabla. Una clave externa indica cómo están relacionadas las tablas.) de la otra tabla. Por ejemplo, los empleados pueden asociarse a los pedidos de los que son responsables mediante la creación de una relación entre los campos Id. de empleado.

Id. de empleado usado como clave principal en la tabla Empleados y como clave externa en la tabla Pedidos.

Llamada 1   Id. de empleado aparece en ambas tablas, como clave principal ...

Llamada 2   ... y como clave externa.

MostrarRelación uno a varios

La relación uno a varios es el tipo de relación más común. En este tipo de relación, un registro de la Tabla A puede tener muchos registros coincidentes en la Tabla B, pero un registro de la Tabla B sólo tiene un registro coincidente en la Tabla A.

Un registro de la tabla Proveedores con más de un registro relacionado de la tabla Productos

Llamada 1   Un proveedor ...

Llamada 2   ... puede suministrar más de un producto ...

Llamada 3   ... pero cada producto tiene un único proveedor.

MostrarRelación varios a varios

En una relación varios a varios, un registro de la Tabla A puede tener muchos registros coincidentes en la Tabla B, y viceversa. Este tipo de relación sólo es posible si se define una tercera tabla (denominada tabla de unión) cuya clave principal (clave principal: uno o más campos (columnas) cuyos valores identifican de manera exclusiva cada registro de una tabla. Una clave principal no puede permitir valores Nulo y debe tener siempre un índice exclusivo. Una clave principal se utiliza para relacionar una tabla con claves externas de otras tablas.) consta de dos campos : las claves externas (clave externa: uno o más campos de tabla (columnas) que hacen referencia al campo o campos de clave principal de otra tabla. Una clave externa indica cómo están relacionadas las tablas.) de las Tablas A y B. Una relación de varios a varios no es sino dos relaciones de uno a varios con una tercera tabla. Por ejemplo, la tabla Pedidos y la tabla Productos tienen una relación de varios a varios que se define mediante la creación de dos relaciones de uno a varios con la tabla Detalles de pedidos. Un pedido puede incluir muchos productos, y cada producto puede aparecer en muchos pedidos.

Claves externas de la tabla Detalles de pedidos y claves principales coincidentes de las tablas Pedidos y Productos

Llamada 1   Clave principal de la tabla Pedidos

Llamada 2   Clave principal de la tabla Productos

Llamada 3   Un pedido puede incluir muchos productos ...

Llamada 4   ... y cada producto puede aparecer en muchos pedidos.

MostrarRelación uno a uno

En una relación de uno a uno, cada registro de la Tabla A sólo puede tener un registro coincidente en la Tabla B, y viceversa. Este tipo de relación no es normal, porque la mayoría de la información que se relaciona de esta forma estaría en una tabla. Puede utilizar la relación uno a uno para dividir una tabla con muchos campos, para aislar parte de una tabla por razones de seguridad o para almacenar información que sólo se aplica a un subconjunto de la tabla principal. Por ejemplo, puede crear una tabla que registre los empleados participantes en un partido de fútbol benéfico. Cada jugador de fútbol de la tabla Jugadores de fútbol tiene un registro coincidente en la tabla Empleados.

Cada registro de la tabla Empleados puede tener únicamente un registro coincidente en la tabla Jugadores de fútbol.

Llamada 1   Cada jugador de fútbol tiene un registro coincidente en la tabla Empleados.

Llamada 2   Este conjunto de valores es un subconjunto del campo Id. de empleado y la tabla Empleados.

MostrarDefinición de relaciones

El tipo de relación que crea Microsoft Access depende de cómo están definidos los campos relacionados.

También se puede crear una relación entre una tabla y los elementos que contiene. Esto es útil en situaciones en que deba realizar una búsqueda dentro de la misma tabla. Por ejemplo, en la tabla Empleados se puede definir una relación entre los campos Id. de empleado y Jefe, por lo que el campo Jefe puede mostrar datos de empleado que procedan de un Id. de empleado coincidente.

 Nota   Si arrastra un campo que no es una clave principal y no tiene un índice único hasta otro campo que tampoco es una clave principal ni tiene un índice único, se crea una relación indeterminada. En las consultas que contienen tablas con una relación indeterminada, Microsoft Access muestra una línea de combinación (combinación: asociación entre un campo de una tabla o consulta y un campo del mismo tipo de datos de otra tabla o consulta. Las combinaciones indican al programa cómo se relacionan los datos. Los registros que no coinciden pueden incluirse o excluirse, dependiendo del tipo de combinación.) predeterminada entre las tablas, pero no se exige la integridad referencial (integridad referencial: reglas que se siguen para preservar las relaciones definidas entre las tablas cuando se agregan, actualizan o eliminan registros.) y no hay garantías de que los registros sean únicos en ninguna tabla.

MostrarIntegridad referencial

La integridad referencial es un sistema de reglas que utiliza Microsoft Access para garantizar que las relaciones entre los registros de tablas relacionadas son válidas y que no se eliminan ni modifican accidentalmente datos relacionados. Puede establecer la integridad referencial cuando se cumplen todas las condiciones siguientes:

Cuando se utiliza la integridad referencial, se aplican las reglas siguientes:

MostrarActualizaciones y eliminaciones en cascada

Para las relaciones en las que se exige la integridad referencial (integridad referencial: reglas que se siguen para preservar las relaciones definidas entre las tablas cuando se agregan, actualizan o eliminan registros.), puede especificar si desea que Microsoft Access actualice en cascada (actualización en cascada: para relaciones que aplican integridad referencial entre tablas, la actualización de todos los registros relacionados de la tabla o tablas relacionadas cuando cambia un registro de la tabla principal.) y elimine en cascada (eliminación en cascada: para las relaciones que aplican integridad referencial entre tablas, la eliminación de todos los registros relacionados de la tabla o tablas relacionadas cuando se elimina un registro de la tabla principal.) automáticamente los registros relacionados. Si establece estas opciones, las operaciones de eliminación y actualización que normalmente impediría la integridad referencial se permiten ahora. Al eliminar registros o al cambiar los valores de clave principal (clave principal: uno o más campos (columnas) cuyos valores identifican de manera exclusiva cada registro de una tabla. Una clave principal no puede permitir valores Nulo y debe tener siempre un índice exclusivo. Una clave principal se utiliza para relacionar una tabla con claves externas de otras tablas.) de una tabla principal (tabla principal: extremo "uno" de dos tablas unidas por una relación "de uno a varios". En la tabla principal debe haber una clave principal y cada registro debe ser único.), Microsoft Access realiza los cambios necesarios en las tablas relacionadas con el fin de conservar la integridad referencial.

SI activa la casilla de verificación Actualizar en cascada los campos relacionados al definir una relación, siempre que cambie la clave principal de un registro de la tabla principal, Microsoft Access actualizará automáticamente la clave principal con el nuevo valor en todos los registros relacionados. Por ejemplo, si cambia un Id. de cliente en la tabla Clientes, el campo Id. de cliente de la tabla Pedidos se actualizará automáticamente en cada uno de los pedidos de ese cliente, de modo que la relación no se rompa. Microsoft Access actualiza en cascada sin mostrar ningún mensaje.

 Nota   Si la clave principal de la tabla principal es un campo Autonumérico (tipo de datos Autonumeración: tipo de datos de campo que, en una base de datos de Microsoft Access, almacena automáticamente un número exclusivo para cada registro en el momento en que éste se agrega a una tabla. Se pueden generar tres tipos de números: secuencial, aleatorio e id. de replicación.), la activación de la casilla de verificación Actualizar en cascada los campos relacionados no tendrá ningún efecto, porque no se puede cambiar el valor de un campo Autonumérico.

Si selecciona la casilla de verificación Eliminar en cascada los registros relacionados al definir una relación, siempre que elimine registros de la tabla principal, Microsoft Access eliminará automáticamente los registros relacionados de la tabla relacionada. Por ejemplo, si elimina el registro de un cliente de la tabla Clientes, todos los pedidos del cliente se eliminarán automáticamente de la tabla Pedidos (esto incluye los registros de la tabla Detalles de pedidos relacionados con los registros de Pedidos). Al eliminar registros de un formulario u hoja de datos con la casilla de verificación Eliminar en cascada los registros relacionados activada, Microsoft Access le avisa que es posible que también se eliminen los registros relacionados. No obstante, al eliminar registros mediante una consulta de eliminación (consulta de eliminación: consulta (instrucción SQL) que quita las filas que coinciden con el criterio especificado de una o más tablas.), Microsoft Access elimina automáticamente los registros de las tablas relacionadas sin mostrar un aviso.

 
 
Corresponde a:
Access 2003