Guía de relaciones de tablas

Importante    Este artículo se ha traducido con traducción automática; vea la declinación de responsabilidades. Para su referencia, puede encontrar la versión en inglés de este artículo aquí.

Uno de los objetivos de diseño de bases de datos es eliminar la redundancia de los datos (datos duplicados). Para conseguir dicho objetivo, conviene desglosar los datos en muchas tablas basadas en temas para que cada hecho esté representado sólo una vez. Proporcionan acceso a los medios recopilar de nuevo la información desglosada, esto se realiza colocando campos comunes en tablas que están relacionadas. Para realizar este paso correctamente, sin embargo, debe comprender las relaciones entre las tablas y, a continuación, especificar dichas relaciones en la base de datos.

Para obtener más información, vea el artículo conceptos básicos del diseño de base de datos.

Este artículo no abarca las relaciones en una base de datos web. Las bases de datos de Web no admiten la ventana Relaciones. Utilice los campos de búsqueda para crear relaciones en una base de datos web. Para obtener más información, vea el artículo crear una base de datos para compartir en el Web.

En este artículo...

Introducción

Tipos de relaciones de tablas

¿Por qué crear relaciones de tablas?

Descripción de la integridad referencial

Ver relaciones de tablas

Crear una relación de tabla

Eliminar una relación de tabla

Cambiar una relación de tabla

Exigir integridad referencial

Introducción

Después de crear una tabla para cada tema en la base de datos, debe proporcionar acceso a los medios recopilar de nuevo esa información cuando sea necesario. Para ello, colocando campos comunes en tablas que están relacionadas y se definen las relaciones entre las tablas. A continuación, puede crear consultas, formularios e informes que muestran información de varias tablas a la vez. Por ejemplo, el formulario que se muestra a continuación incluye información recopilada de varias tablas:

Formulario Pedidos que muestra información relacionada de cinco tablas

1. La información de este formulario procede de la tabla Clientes...

2. ... la tabla Pedidos...

3. ... la tabla Productos...

4. ... y la tabla Detalles de pedidos.

El nombre de cliente del cuadro Facturar a se obtiene de la tabla Clientes, los valores de Id. de pedido y Fecha de pedido proceden de la tabla Pedidos, el nombre de producto viene de la tabla Productos, y los valores Precio por unidad y Cantidad proceden de la tabla Detalles del pedido. Estas tablas se vinculan entre sí de varias formas para recopilar información de cada una e incorporarla al formulario.

Siguiendo en el ejemplo anterior, los campos de las tablas deben coordinarse de modo que muestren información acerca del mismo pedido. Esta coordinación se lleva a cabo mediante las relaciones de tablas. Una relación de tabla hace coincidir los datos de los campos clave (a menudo un campo con el mismo nombre en ambas tablas). En la mayoría de los casos, estos campos coincidentes son la clave principal de una tabla, que proporciona un identificador único para cada registro, y una clave externa 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 de tabla entre los campos Id. de empleado en las tablas Empleados y Pedidos. 

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

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

2. ... y como clave externa.

Principio de página

Tipos de relaciones de tablas

Existen tres tipos de relaciones de tablas.

  • Una relación uno a varios

    Considere la posibilidad de una base de datos que incluye una tabla Customers y una tabla pedidos de seguimiento de pedidos. Un cliente puede realizar cualquier número de pedidos. Se deduce que para cualquier cliente representado en la tabla clientes puede haber representados muchos pedidos en la tabla Pedidos. Por lo tanto, la relación entre la tabla clientes y la tabla pedidos es una relación uno a varios.

    Para representar una relación de uno a varios en el diseño de la base de datos, tome la clave principal en el lado "uno" de la relación y agréguela como un campo o campos adicionales a la tabla en el lado "varios" de la relación. En este caso, por ejemplo, agregar un nuevo campo, el campo ID de la tabla de clientes, a la tabla Pedidos y le denominaría Id Access utilizaría entonces el número de ID de cliente en la tabla pedidos para localizar al cliente correcto de cada pedido.

  • Una relación varios a varios

    Tenga en cuenta la relación entre una tabla productos y una tabla Pedidos. Un solo pedido puede incluir más de un producto. Por otra parte, un único producto puede aparecer en muchos pedidos. Por lo tanto, para cada registro en la tabla pedidos, puede haber varios registros en la tabla productos. Además, para cada registro de la tabla productos, puede haber varios registros en la tabla Pedidos. Este tipo de relación se llama una relación varios a varios porque para cualquier producto, puede haber muchos pedidos y, en cualquier orden, puede haber muchos productos. Tenga en cuenta que para detectar las relaciones de varios a varios existentes entre las tablas, es importante que considere ambas partes de la relación.

    Para representar una relación de varios a varios, debe crear una tercera tabla, a menudo denominada tabla de unión, que divide la relación de varios a varios en dos relaciones uno a varios. Debe insertar la clave principal de cada una de las dos tablas en la tercera. Como resultado, la tercera tabla registra cada ocurrencia, o instancia, de la relación. Por ejemplo, la tabla Pedidos y la tabla Productos tienen una relación varios a varios que se define mediante la creación de dos relaciones uno a varios con la tabla Detalles de pedidos. Un pedido puede incluir muchos productos, y cada producto puede aparecer en muchos pedidos.

  • Una relación uno a uno

    En una relación uno a uno, cada registro de la primera tabla puede tener sólo un registro coincidente en la segunda tabla y cada registro de la segunda tabla puede tener sólo un registro coincidente en la primera tabla. Este tipo de relación no es común porque, muy a menudo, la información relacionada de esta manera se almacena en la misma tabla. Puede utilizar una 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. Cuando identifique esta relación, ambas tablas deben compartir un campo común.

Principio de página

¿Por qué crear relaciones de tablas?

Puede crear relaciones de tabla explícitamente mediante la ventana relaciones o arrastrando un campo desde el panel Lista de campos. Access usa relaciones de tabla para saber cómo combinar las tablas cuando necesite utilizarlas en un objeto de base de datos. Hay varios motivos de por qué debe crear relaciones de tabla antes de crear otros objetos de base de datos, como formularios, consultas e informes.

  • Las relaciones de tabla inspiran los diseños de consulta

    Para trabajar con registros de más de una tabla, a menudo se debe crear una consulta que combine las tablas. La consulta funciona haciendo coincidir los valores en el campo de clave principal de la primera tabla con un campo de clave externa en la segunda tabla. Por ejemplo, para devolver filas que enumeren todos los pedidos de cada cliente, crear una consulta que combine la tabla Customers con la tabla de pedidos basado en el campo ID cliente. En la ventana Relaciones, puede especificar manualmente los campos que desea combinar. Sin embargo, si ya tiene definida una relación entre las tablas, Access suministrará la combinación predeterminada, basándose en la ventana Relaciones. Además, si utiliza uno de los asistentes para consultas, Access utiliza la información recopilada de las relaciones de tabla que ya se ha definido para presentar elecciones informadas y suministrará los valores predeterminados.

  • Las relaciones de tablas inspiran los diseños de formulario e informe

    Al diseñar un formulario o informe, Access utiliza la información recopilada de las relaciones de tabla que ya se ha definido para presentar elecciones informadas y suministrará los valores predeterminados.

  • Las relaciones de tabla son la base con la que exigir integridad referencial y evitar los registros huérfanos en la base de datos. Un registro huérfano es el que hace referencia a otro registro que no existe por ejemplo, un registro de un pedido que hace referencia a un registro de un cliente que no existe. 

    Al diseñar una base de datos, se divide la información en tablas, cada una de las cuales tiene una clave principal. Después agregar las claves externas a las tablas relacionadas que hacen referencia a las claves principales. Estos pares de clave principal y clave externas forman la base para las relaciones de tablas y consultas en varias tablas. Por lo tanto, es importante que estas referencias de clave principal y clave externa estén sincronizadas. La integridad referencial garantiza que las referencias permanecen sincronizadas y depende de las relaciones entre tablas.

Principio de página

Descripción de la integridad referencial

Al diseñar una base de datos, se divide la información en muchas tablas basadas en temas para minimizar la redundancia de datos. Proporcionan acceso a los medios poner de nuevo la información, colocando campos comunes en tablas relacionadas. Por ejemplo, para representar una relación uno a varios tome la clave principal de la tabla "uno" y agréguela como un campo adicional a la tabla "varios". Para reunir los datos, Access toma el valor de la tabla "varios" y busca el valor correspondiente en la tabla "uno". De esta manera los valores de la tabla "varios" hacen referencia a los valores correspondientes en la tabla "uno".

Suponga que tiene una relación de uno a varios entre las tablas Transportistas y Pedidos y desea eliminar un transportista. Si el destinatario que desea quitar tiene pedidos en la tabla Pedidos, dichos pedidos quedarán "huérfanos" si elimina el registro Transportista. Los pedidos todavía contendrán un Id. de transportista, pero el Id. ya no será válido, porque el registro al que hace referencia ya no existe.

El propósito de la integridad referencial es evitar los registros huérfanos y mantener las referencias sincronizadas para que esta situación hipotética no ocurra nunca.

Integridad referencial se aplica habilitándola para una relación de tabla (vea Exigir integridad referencial para obtener instrucciones paso a paso). Una vez habilitada, Access rechazará todas las operaciones que infrinjan la integridad referencial para esa relación de tabla. Esto significa que Access rechaza las actualizaciones que cambien el destino de una referencia así como las eliminaciones que quiten el destino de una referencia. Sin embargo, es posible que tenga la necesidad perfectamente válida de cambiar la clave principal de un transportista que tiene pedidos en la tabla Pedidos. En tales casos, lo que realmente necesita es para que Access actualice automáticamente todas las filas afectadas como parte de una sola operación. De este modo, Access se asegura de que la actualización se ha completado en su totalidad para que la base de datos no queda en un estado incoherente, con algunas filas actualizadas y otras no. Por este motivo, Access admite la opción Actualizar en cascada los campos relacionados. Cuando se exige la integridad referencial y elija la opción Actualizar en cascada los campos relacionados y después actualizar una clave principal, Access actualiza automáticamente todos los campos que hacen referencia a la clave principal.

También es posible que tenga la necesidad válida de eliminar una fila y todos los registros relacionados, por ejemplo, un registro transportista y todos los pedidos de ese remitente. Por ello, Access incluye la opción de eliminar en cascada los registros relacionados. Cuando se exige la integridad referencial y elegir la opción Eliminar en cascada los registros relacionados y, a continuación, eliminar un registro en el lado de la clave principal de la relación, Access elimina automáticamente todos los registros que hacen referencia a la clave principal.

Principio de página

Ver relaciones de tablas

Para ver las relaciones de tablas, haga clic en relaciones en la ficha Herramientas de base de datos. Abre la ventana de relaciones y mostrará las relaciones existentes. Si no hay relaciones de tabla aún se han definido y se abre la ventana Relaciones por primera vez, Access le pedirá que agregue una tabla o consulta a la ventana.

Abra la ventana Relaciones.

  1. En la pestaña Archivo, haga clic en Abrir.

  2. En el cuadro de diálogo Abrir, seleccione y abra la base de datos.

  3. En la pestaña Herramientas de base de datos, en el grupo Relaciones, haga clic en Relaciones.

  4. Si la base de datos contiene relaciones, aparecerá la ventana Relaciones. Si la base de datos no contiene relaciones y abre la ventana Relaciones por primera vez, aparecerá el cuadro de diálogo Mostrar tabla. Haga clic en Cerrar para cerrar el cuadro de diálogo.

  5. En el grupo Relaciones de la pestaña Diseño, haga clic en Todas las relaciones.

    Muestra todas las relaciones definidas en la base de datos. Tenga en cuenta que las tablas ocultas (las tablas que oculta la casilla en el cuadro de diálogo Propiedades de la tabla) y sus relaciones no se mostrará si no se selecciona la casilla de verificación Mostrar objetos ocultos en el cuadro de diálogo Opciones de exploración.

Una relación de tabla se representa mediante una línea de relación trazada entre las tablas en la ventana Relaciones. Una relación que no exige integridad referencial aparece como una línea delgada entre los campos comunes que admiten la relación. Si selecciona la relación haciendo clic en su línea, la línea se hará más gruesa para indicar que está seleccionada. Si exige la integridad referencial, la línea aparecerá más gruesa en los extremos. Además, aparece el número 1 sobre la parte gruesa de un extremo de la línea de relación y aparece el símbolo de infinito () en la parte gruesa del otro extremo de la línea.

Cuando la ventana Relaciones está activa, puede seleccionar los siguientes comandos de la cinta:

En la pestaña Diseño, en el grupo Herramientas:

  • Modificar relaciones    Abre el cuadro de diálogo Modificar relaciones . Si selecciona una línea de relación, puede hacer clic en Modificar relaciones para cambiar la relación de tabla. También puede hacer doble clic en la línea de relación.

  • Borrar diseño    Oculta a la vista todas las relaciones y tablas en la ventana Relaciones. Observe que este comando solo oculta las relaciones y tablas, no las elimina.

  • Informe de relación    Crea un informe que muestra las relaciones y tablas de la base de datos. El informe solo muestra todas las relaciones y tablas que no están ocultas en la ventana Relaciones.

En la pestaña Diseño, en el grupo Relaciones:

  • Mostrar tabla    Abre el cuadro de diálogo Mostrar tabla para que pueda seleccionar tablas y consultas para verlas en la ventana Relaciones.

  • Ocultar tabla    Oculta la tabla seleccionada en la ventana Relaciones.

  • Mostrar relaciones directas    Muestra todas las relaciones y tablas relacionadas de la tabla seleccionada en la ventana Relaciones, si aún no se muestran.

  • Mostrar todas las relaciones    Muestra todas las relaciones y tablas relacionadas de la base de datos en la ventana Relaciones. Observe que las tablas ocultas (las tablas que tienen activada la casilla de verificación Oculto del cuadro de diálogo Propiedades de la tabla) y sus relaciones no se mostrarán a no ser que esté activada la casilla de verificación Mostrar objetos ocultos en el cuadro de diálogo Opciones de navegación.

  • Cerrar    Cierra la ventana Relaciones. Si realiza algún cambio en el diseño de la ventana Relaciones, le pedirá que guarde los cambios.

Principio de página

Crear una relación de tabla

Se puede crear una relación de tabla mediante la ventana Relaciones o arrastrando un campo en una hoja de datos desde el panel Lista de campos. Cuando se crea una relación entre tablas, los campos comunes no tienen que tener los mismos nombres, si bien sus nombres suelen coincidir. Más bien, dichos campos tienen que tener el mismo tipo de datos. No obstante, si el campo de clave principal es un campo Autonumeración, el campo de clave externa puede ser un campo de tipo Número si la propiedad Tamaño del campo de ambos campos tiene el mismo valor. Por ejemplo, puede hacer coincidir un campo Autonumeración y un campo de tipo Número si la propiedad Tamaño del campo de ambos campos es Entero largo. Cuando ambos campos comunes son campos de tipo Número, deben tener el mismo valor para la propiedad Tamaño del campo.

Crear una relación de tabla mediante la ventana Relaciones

  1. En la pestaña Archivo, haga clic en Abrir.

  2. En el cuadro de diálogo Abrir, seleccione y abra la base de datos.

  3. En la pestaña Herramientas de base de datos, en el grupo Relaciones, haga clic en Relaciones.

  4. Si aún no ha definido ninguna relación, aparecerá automáticamente el cuadro de diálogo Mostrar tabla. Si no aparece, en la pestaña Diseño, en el grupo Relaciones, haga clic en Mostrar tabla.

En el cuadro de diálogo Mostrar tabla se muestran todas las tablas y consultas de la base de datos. Para ver únicamente las tablas, haga clic en Tablas. Para ver únicamente las consultas, haga clic en Consultas. Para ver las tablas y las consultas, haga clic en Ambas.

  1. Seleccione una o varias tablas o consultas y, a continuación, haga clic en Agregar. Cuando termine de agregar tablas y consultas a la ventana Relaciones, haga clic en Cerrar.

  2. Arrastre un campo (normalmente el campo de clave principal) de una tabla al campo común (la clave externa) en la otra tabla. Para arrastrar varios campos, presione la tecla CTRL, haga clic en cada uno de los campos y, a continuación, arrástrelos.

Aparece el cuadro de diálogo Modificar relaciones.

  1. Compruebe que los nombres de campo mostrados son los campos comunes de la relación. Si un nombre de campo es incorrecto, haga clic en él y seleccione un nuevo campo de la lista.

Para exigir la integridad referencial para esta relación, active la casilla de verificación Exigir integridad referencial. Para obtener más información sobre la integridad referencial, vea las secciones Descripción de la integridad referencial y Exigir integridad referencial.

  1. Haga clic en Crear.

    Se dibujará una línea de relación entre las dos tablas. Si activó la casilla de verificación Exigir integridad referencial, la línea aparece más gruesa en los extremos. Además, solo si activó la casilla de verificación Exigir integridad referencial, aparecerá el número 1 sobre la parte gruesa de un extremo de la línea de relación y aparece el símbolo de infinito () sobre la parte gruesa del otro extremo.

    Notas  

    • Para crear una relación uno a uno    Ambos campos comunes (normalmente la clave principal y los campos de clave externa) tienen que tener un índice único. Esto significa que la propiedad Indexado de estos campos debe establecerse en Sí (sin duplicados). Si ambos campos tienen un índice único, Access crea una relación uno a uno.

    • Para crear una relación de uno a varios.    El campo en el lado "uno" (normalmente la clave principal) de la relación debe tener un índice único. Esto significa que la propiedad Indexado de este campo debe establecerse en Sí (sin duplicados). Debe el campo en el lado "varios" no tiene un índice único. Puede tener un índice, pero debe permitir los duplicados. Esto significa que la propiedad Indexado de este campo debe establecerse en Noo Sí (con duplicados). Cuando un campo tiene un índice único y el otro no, Access crea una relación uno a varios.

Crear una relación de tabla mediante el panel Lista de campos

Puede agregar un campo a una tabla existente que está abierta en la vista Hoja de datos arrastrándolo desde el panel Lista de campos. El panel Lista de campos muestra los campos disponibles en tablas relacionadas y también los de otras tablas. Cuando se arrastra un campo de "otra" tabla (no relacionada) y, a continuación, complete el Asistente para búsquedas, se crea automáticamente una nueva relación uno a varios entre la tabla en el panel Lista de campos y la tabla a la que se ha arrastrado el campo. Esta relación, creada por Access, no exige la integridad referencial de manera predeterminada. Para exigir la integridad referencial, debe modificar la relación. Vea la sección cambiar una relación de tabla para obtener más información.

Abrir una tabla en la vista Hoja de datos

  1. En la pestaña Archivo, haga clic en Abrir.

  2. En el cuadro de diálogo Abrir, seleccione y abra la base de datos.

  3. En el panel de navegación, haga clic con el botón secundario en la tabla a la que desea agregar el campo y para la que desea crear la relación y, a continuación, haga clic en Abrir.

Abrir el panel Lista de campos

  • Presione ALT+F8.

    Aparece el panel Lista de campos.

La Lista de campos del panel muestra todas las demás tablas en la base de datos agrupadas en categorías. Cuando se trabaja con una tabla en la vista Hoja de datos, Access muestra los campos en alguna de estas dos categorías en el panel Lista de campos: campos disponibles en tablas relacionadas y campos disponibles en otras tablas. La primera categoría contiene todas las tablas que tienen una relación con la tabla que se está trabajando. La segunda categoría contiene todas las tablas con las que la tabla no tiene una relación.

En el panel Lista de campos, al hacer clic en el signo más (+) situado junto al nombre de una tabla, aparece una lista de todos los campos disponibles en esa tabla. Para agregar un campo a la tabla, arrastre el campo que desee del panel Lista de campos a la tabla en la vista Hoja de datos.

Agregar un campo y crear una relación desde el panel Lista de campos

  1. En el panel Lista de campos, en Campos disponibles en otras tablas, haga clic en el signo más (+) situado junto a un nombre de tabla para mostrar la lista de los campos de esa tabla.

  2. Arrastre el campo que desee del panel Lista de campos a la tabla abierta en la vista Hoja de datos.

  3. Cuando aparezca la línea de inserción, coloque el campo en su posición.

    Se inicia el Asistente para búsquedas.

  4. Siga las instrucciones para ejecutar el Asistente para búsquedas.

    El campo aparece en la tabla en la vista Hoja de datos.

Cuando se arrastra un campo de "otra" tabla (no relacionada) y, a continuación, complete el Asistente para búsquedas, se crea automáticamente una nueva relación uno a varios entre la tabla en la Lista de campos y la tabla a la que se ha arrastrado el campo. Esta relación, creada por Access, no exige la integridad referencial de manera predeterminada. Para exigir la integridad referencial, debe modificar la relación. Vea la sección cambiar una relación de tabla para obtener más información.

Volver al principio

Eliminar una relación de tabla

Para quitar una relación de tabla, debe eliminar la línea de relación en la ventana Relaciones. Coloque el cursor de modo que apunte a la línea de relación y, a continuación, haga clic en la línea. La línea de relación aparece más gruesa cuando está seleccionado. Con la línea de relación seleccionada, presione SUPRIMIR. Tenga en cuenta que cuando se quita una relación, también quitar la compatibilidad con la integridad referencial para esa relación si está habilitada. Como resultado, Access ya no automáticamente evitará la creación de registros huérfanos en el lado "varios" de una relación.

  1. En la pestaña Herramientas de base de datos, en el grupo Relaciones, haga clic en Relaciones.

Aparecerá la ventana Relaciones. Si no se ha definido ninguna relación y ésta es la primera vez que se abre la ventana Relaciones, aparecerá el cuadro de diálogo Mostrar tabla. Si aparece el cuadro de diálogo, haga clic en Cerrar.

  • 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.

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

  2. Presione la tecla SUPR.

    - o bien -

Haga clic con el botón secundario y, a continuación, haga clic en Eliminar.

  1. Puede que Access muestre el mensaje ¿Confirma que desea eliminar de forma permanente la relación seleccionada de la base de datos?. Si aparece este mensaje de confirmación, haga clic en .

Nota   Si se está usando alguna de las tablas empleadas en la relación de tabla, quizás por otra persona u otro proceso, o bien, en un objeto de base de datos abierto (como puede ser un formulario), no se podrá eliminar la relación. Primero se deben cerrar todos los objetos abiertos que usen estas tablas para poder quitar la relación.

Principio de página

Cambiar una relación de tabla

Para cambiar una relación de tabla, selecciónela en la ventana Relaciones y, a continuación, modifíquela. Coloque el cursor de modo que apunte a la línea de relación y, a continuación, haga clic en la línea para seleccionarla. La línea de relación aparece con mayor grosor cuando está seleccionada. Con la línea de relación seleccionada, haga doble clic en ella o haga clic en Modificar relaciones en el grupo Herramientas en la pestaña Diseño. Aparecerá el cuadro de diálogo Modificar relaciones.

Realizar sus cambios en el cuadro de diálogo Modificar relaciones

  1. En la pestaña Herramientas de base de datos, en el grupo Relaciones, haga clic en Relaciones.

Aparecerá la ventana Relaciones. Si no se ha definido ninguna relación y ésta es la primera vez que se abre la ventana Relaciones, aparecerá el cuadro de diálogo Mostrar tabla. Si aparece el cuadro de diálogo, haga clic en Cerrar.

  • 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.

  • 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.

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

  • Realice los cambios y, a continuación, haga clic en Aceptar.

    El cuadro de diálogo Modificar relaciones permite cambiar una relación de tabla. En concreto, se pueden cambiar las tablas, las consultas o los campos a ambos lados de la relación. Se puede definir asimismo el tipo de combinación o exigir la integridad referencial y elegir una opción en cascada. Para obtener más información sobre el tipo de combinación y cómo configurarlo, vea la sección Configurar el tipo de combinación. Para obtener más información sobre cómo exigir la integridad referencial y elegir una opción en cascada, vea la sección Exigir integridad referencial.

Configurar el tipo de combinación

Al definir una relación de tabla, los hechos acerca de la relación informan de los diseños de consulta. Por ejemplo, si define una relación entre dos tablas y después crear una consulta que use dichas tablas, Access selecciona automáticamente los campos coincidentes predeterminados basándose en los campos especificados en la relación. Puede reemplazar los valores predeterminados iniciales en la consulta, pero los valores proporcionados por la relación suelen para ser los correctos. Dado que coincidir y combinar datos de más de una tabla son algo que realice con frecuencia en todas las bases de datos más simples, configuración de valores predeterminados mediante la creación de relaciones puede resultar beneficioso y ahorro.

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 solo para las filas en las que se ha encontrado una coincidencia.

Uno de los valores que puede especificar para cada relación es el tipo de combinación. El tipo de combinación indica a Access qué registros se deben incluir en el resultado de una consulta. Por ejemplo, considere la posibilidad de volver a una consulta que combine la tabla clientes y la tabla Pedidos por los campos comunes que representan el ID de cliente. Con el tipo de combinación predeterminado (denominado combinación interna), la consulta devolverá únicamente las filas cliente y las filas de pedidos donde los campos comunes (también 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.

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.

La siguiente tabla (con las tablas clientes y pedidos) muestra las tres opciones que se muestran en el cuadro de diálogo de propiedades de la combinación, el tipo de combinación y si todas las filas o las filas coincidentes se incluyen para 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 no se ha definido ninguna relación y ésta es la primera vez que se abre la ventana Relaciones, aparecerá el cuadro de diálogo Mostrar tabla. Si aparece el cuadro de diálogo, haga clic en Cerrar.

  • 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.

  • 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.

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

Aparece el cuadro de diálogo Modificar relaciones.

  1. Haga clic en Tipo de combinación.

  2. 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.

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

Volver al principio

Exigir integridad referencial

La finalidad de utilizar la integridad referencial es evitar los registros huérfanos y mantener las referencias sincronizadas para que no haya registros que hagan referencia a otros registros que ya no existen. Integridad referencial se aplica habilitándola 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 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. Sin embargo, se 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 puede cambiar un valor de clave principal de la tabla principal si ello crearía los registros huérfanos. Por ejemplo, no 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 Order Details. Sin embargo, puede 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 tiene problemas al habilitar la integridad referencial, tenga en cuenta que se requieren 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. No se exige la integridad referencial en las tablas vinculadas. Sin embargo, si las tablas de origen tienen formato de Access, puede abrir la base de datos en el que se almacenan y habilitar la integridad referencial en esa base de datos.

Configurar las opciones en cascada

Puede encontrarse con una situación en la que tiene una necesidad válida de cambiar el valor en el lado "uno" de una relación. En tal caso, debe tener acceso para que se actualice automáticamente todas las filas afectadas como parte de una sola operación. De este modo, la actualización es completa para que la base de datos no queda en un estado incoherente, con algunas filas actualizadas y otras no. Acceso ayuda a evitar este problema si se admite la opción Actualizar en cascada los campos relacionados. Cuando se exige la integridad referencial y elija la opción Actualizar en cascada los campos relacionados y después actualizar una clave principal, Access actualiza automáticamente todos los campos que hacen referencia a la clave principal.

También tendrá que eliminar una fila y todos los registros relacionados, por ejemplo, un registro transportista y todos los pedidos de ese remitente. Por ello, Access incluye la opción de eliminar en cascada los registros relacionados. Cuando se exige la integridad referencial y elija la opción Eliminar en cascada los registros relacionados, Access elimina automáticamente todos los registros que hacen referencia a la clave principal al eliminar 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 campo Autonumeración.

Volver al principio

Nota   Declinación de responsabilidades de traducción automática: Este artículo se ha traducido con un sistema informático sin intervención humana. Microsoft ofrece estas traducciones automáticas para que los hablantes de otros idiomas distintos del inglés puedan disfrutar del contenido sobre los productos, los servicios y las tecnologías de Microsoft. Puesto que este artículo se ha traducido con traducción automática, es posible que contenga errores de vocabulario, sintaxis o gramática.

Se aplica a: Access 2010



¿Le ha sido útil esta información?

No

¿Cómo podemos mejorarlo?

255 caracteres restantes

Para proteger su privacidad, no incluya información de contacto en sus comentarios. Revisar política de privacidad.

¡Gracias por sus comentarios!

Recursos de soporte técnico

Cambiar idioma