• No results found

9 Analysis

9.3 Process Map and PFMEA Analysis

referencial y elegir una opción en cascada, vea la sección Exigir integridad referencial.

Configurar el tipo de combinación

Cuando se define una relación de tabla, los hechos referentes a la relación determinan el diseño de las consultas. Por ejemplo, si se define una relación entre dos tablas y, después, se crea una consulta que use dichas tablas, Access selecciona automáticamente los campos coincidentes predeterminados basándose en los campos especificados en la relación. Se pueden invalidar los valores predeterminados iniciales en la consulta, pero los valores proporcionados por la relación suelen ser los correctos. Dado que va a hacer coincidir y combinar con frecuencia los datos de varias tablas hasta de las bases de datos más sencillas, la configuración de valores predeterminados por medio de relaciones puede ahorrarle tiempo y resultarle beneficiosa.

Una consulta de varias tablas combina la información de más de una tabla haciendo coincidir los valores de los campos comunes. Esta operación se denomina combinación. Por ejemplo, supongamos que desea mostrar los pedidos de los clientes. Va a crear una consulta que combine la tabla Clientes y la tabla Pedidos por el campo Id. de cliente. El resultado de la consulta contiene información sobre los clientes y los pedidos relativa únicamente a las filas en las que se ha encontrado una coincidencia.

Uno de los valores que se puede especificar para cada relación es el tipo de combinación, que indica a Access qué registros se van a incluir en el resultado de una consulta. Por ejemplo, pensemos de nuevo en una consulta que combine la tabla Clientes y la tabla Pedidos por los campos comunes que representan el Id. de cliente. Mediante el tipo de combinación predeterminado (denominado combinación interna), la consulta devolverá únicamente las filas Cliente y las filas Pedido en las que los campos comunes (denominados campos combinados) sean iguales.

Sin embargo, supongamos que desea incluir a todos los clientes, incluso los que aún no han realizado ningún pedido. Para ello, deberá cambiar el tipo de combinación de una combinación interna a lo que se denomina una combinación externa izquierda. Este tipo de combinación devuelve todas las filas de la tabla situada en el lado izquierdo de la relación y solo las filas que coinciden con las de la tabla a la derecha. Una combinación externa derecha devuelve todas las filas de la derecha y solo las filas que coinciden con las de la izquierda.

Nota En este caso, "izquierda" y "derecha" hacen referencia a la posición de las tablas en el cuadro de diálogo Modificar relaciones y no en la ventana Relaciones.

MANUAL AVANZADO ACCESS 2016 – ALFREDO RICO - RICOSOFT 153

Debe tener en mente el resultado que desea obtener de una consulta que combine las tablas de esta relación y, a continuación, configurar el tipo de combinación en consecuencia.

Configurar el tipo de combinación

1. En el cuadro de diálogo Modificar relaciones, haga clic en Tipo de combinación. Aparece el cuadro de diálogo Propiedades de la combinación.

2. Haga clic en la opción que desee y, a continuación, haga clic en Aceptar.

En la siguiente tabla (con las tablas Clientes y Pedidos) se muestran las tres opciones que aparecen en el cuadro de diálogo Propiedades de la combinación, la combinación y si se incluyen todas las filas o las filas coincidentes de cada tabla.

Opción Combinación

relacional

Tabla

izquierda Tabla derecha

1. Incluir solo las filas donde los campos combinados de ambas tablas sean iguales.

Combinación interna Filas coincidentes Filas coincidentes 2. Incluir TODOS los registros de 'Clientes' y solo

aquellos registros de 'Pedidos' donde los campos combinados sean iguales.

Combinación

externa izquierda Todas las filas Filas

coincidentes 3. Incluir TODOS los registros de 'Pedidos' y solo

aquellos registros de 'Clientes' donde los campos combinados sean iguales.

Combinación externa derecha

Filas

coincidentes Todas las filas

Cuando selecciona la opción 2 o 3, se muestra una flecha en la línea de relación. Esta flecha apunta al lado de la relación en el que se muestran solo las filas coincidentes.

Realizar cambios en el cuadro de diálogo Propiedades de la combinación

1. En la pestaña Herramientas de base de datos , en el grupo Relaciones , haga clic en Relaciones. Aparecerá la ventana Relaciones. Si aún no ha definido ninguna relación y es la primera vez que abre la ventana Relaciones, aparecerá el cuadro de diálogo Mostrar tabla. Si aparece el cuadro de diálogo, haga clic en Cerrar.

2. En el grupo Relaciones de la pestaña Diseño, haga clic en Todas las relaciones. Aparecen todas las tablas que tienen relaciones y se muestran las líneas de relación.

3. Haga clic en la línea de relación correspondiente a la relación que desee cambiar. La línea de relación aparece con mayor grosor cuando está seleccionada.

4. Haga doble clic en la línea de relación.

Aparece el cuadro de diálogo Modificar relaciones. 5. Haga clic en Tipo de combinación.

6. En el cuadro de diálogo Propiedades de la combinación, haga clic en una opción y, a continuación, haga clic en Aceptar.

MANUAL AVANZADO ACCESS 2016 – ALFREDO RICO - RICOSOFT 154

Exigir integridad referencial

El uso de la integridad referencial tiene como propósito evitar los registros huérfanos y mantener sincronizadas las referencias de modo que no haya registros que hagan referencia a otros registros que ya no existen. Para exigir la integridad referencial, es preciso habilitarla para una relación de tabla. Una vez habilitada, Access rechazará todas las operaciones que infrinjan la integridad referencial para esa relación de tabla. Access rechaza las actualizaciones que cambien el destino de una referencia, así como las eliminaciones que quiten el destino de una referencia. Para que Access propague las actualizaciones y eliminaciones referenciales de modo que todas las filas relacionadas cambien en consecuencia, vea la sección Configurar las opciones en cascada.

Activar o desactivar la integridad referencial

1. En la ventana Relaciones, haga clic en la línea de relación correspondiente a la relación que desee modificar. La línea de relación aparece con mayor grosor cuando está seleccionada.

2. Haga doble clic en la línea de relación. Aparece el cuadro de diálogo Modificar relaciones.

1. Active la casilla de verificación Exigir integridad referencial.

2. Realice todos los cambios en la relación y, a continuación, haga clic en Aceptar. Tras habilitar la integridad referencial, se aplican las siguientes reglas:

 No se puede especificar un valor en el campo de clave externa de una tabla relacionada si ese valor no existe en el campo de clave principal de la tabla principal. En caso contrario, se crean registros huérfanos.

 No se puede eliminar un registro de una tabla principal si existen registros coincidentes en una tabla relacionada. Por ejemplo, no se puede eliminar el registro de un empleado de la tabla Empleados si hay pedidos asignados a ese empleado en la tabla Pedidos. Puede optar por eliminar un registro principal y todos los registros relacionados en una sola operación activando la casilla Eliminar en

cascada los registros relacionados.

 No se puede cambiar un valor de clave principal en la tabla principal si ese cambio crea registros huérfanos. Por ejemplo, no se puede cambiar un número de pedido en la tabla Pedidos si hay artículos de línea asignados a ese pedido en la tabla Detalles de pedidos. Puede optar por actualizar un registro principal y todos los registros relacionados en una sola operación activando la casilla de verificación Actualizar en cascada los campos relacionados.

Notas Si surgen problemas al habilitar la integridad referencial, observe que deben cumplirse las

siguientes condiciones para exigir la integridad referencial:

El campo común de la tabla principal debe ser una clave principal o debe tener un índice único.

Los campos comunes deben tener el mismo tipo de datos. Hay una excepción: un campo Autonumeración puede estar relacionado con un campo de tipo Número cuya propiedad

Tamaño del campo tenga el valor Entero largo.

Ambas tablas deben existir en la misma base de datos de Access. No se puede exigir la integridad referencial en las tablas vinculadas. Sin embargo, si las tablas de origen tienen formato de Access, se puede abrir la base de datos en las que están almacenadas y habilitar la integridad referencial en esa base de datos.

MANUAL AVANZADO ACCESS 2016 – ALFREDO RICO - RICOSOFT 155

Configurar las opciones en cascada

Puede darse el caso de que haya una necesidad válida de cambiar el valor en el lado "uno" de una relación. Si así es, es preciso que Access actualice automáticamente todas las filas afectadas como parte de una sola operación. De ese modo, la actualización se realiza completamente para que la base de datos no presente un estado incoherente, con algunas filas actualizadas y otras no. Access ayuda a evitar este problema, ya que incluye la opción Actualizar en cascada los campos relacionados. Cuando se aplica la integridad referencial, se selecciona la opción Actualizar en cascada los campos relacionados y, después, se actualiza una clave principal, Access actualiza automáticamente todos los campos que hagan referencia a la clave principal. Puede que también haya que eliminar una fila y todos los registros relacionados (por ejemplo, un registro Compañía de transporte y todos los pedidos relacionados de esa compañía de transporte). Por ello, Access incluye la opción Eliminar en cascada los registros relacionados. Cuando se aplica la integridad referencial y se activa la casilla Eliminar en cascada los registros relacionados, Access elimina automáticamente todos los registros que hagan referencia a la clave principal al eliminarse el registro que contiene la clave principal.

Activar o desactivar la actualización y/o la eliminación en cascada

1. En la ventana Relaciones, haga clic en la línea de relación correspondiente a la relación que desee modificar. La línea de relación aparece con mayor grosor cuando está seleccionada.

2. Haga doble clic en la línea de relación. Aparece el cuadro de diálogo Modificar relaciones.

1. Active la casilla de verificación Exigir integridad referencial.

2. Active la casilla de verificación Actualizar en cascada los campos relacionados o Eliminar en cascada

los registros relacionados, o bien, active ambas.

3. Realice todos los cambios en la relación y, a continuación, haga clic en Aceptar.

Nota Si la clave principal es un campo Autonumeració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

MANUAL AVANZADO ACCESS 2016 – ALFREDO RICO - RICOSOFT 156