Relaciones de Acces 2007

39
Introducción Tras crear una tabla para cada tema en la base de datos, es preciso proporcionar a Office Access 2007 los medios para recopilar de nuevo esa información cuando sea necesario. Para ello, se colocan campos comunes en las tablas que están relacionadas y se definen las relaciones entre las tablas. De ese modo, se pueden crear consultas, formularios e informes que muestren a la vez la información de varias tablas. Por ejemplo, el formulario que se muestra a continuación incluye información recopilada de varias tablas: La información de este formulario procede de la tabla Clientes... ...la tabla Pedidos... ...la tabla Productos... ...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

Transcript of Relaciones de Acces 2007

Page 1: Relaciones de Acces 2007

Introducción

Tras crear una tabla para cada tema en la base de datos, es preciso proporcionar a Office Access 2007

los medios para recopilar de nuevo esa información cuando sea necesario. Para ello, se colocan campos

comunes en las tablas que están relacionadas y se definen las relaciones entre las tablas. De ese modo,

se pueden crear consultas, formularios e informes que muestren a la vez la información de varias tablas.

Por ejemplo, el formulario que se muestra a continuación incluye información recopilada de varias tablas:

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

...la tabla Pedidos...

...la tabla Productos...

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

Page 2: Relaciones de Acces 2007

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 aparece en ambas tablas; como clave principal ...

... y como clave externa.

Volver al principio

Tipos de relaciones de tabla

Existen tres tipos de relaciones de tabla.

Una relación uno a varios

Considere una base de datos de seguimiento de pedidos que incluya una tabla Clientes y una

tabla Pedidos. Un cliente puede realizar cualquier número de pedidos. Por lo tanto, para

cualquier cliente representado en la tabla Clientes puede haber representados muchos pedidos

en la tabla Pedidos. Por consiguiente, la relación entre la tabla Clientes y la tabla Pedidos es

una relación de 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 del 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ía un nuevo campo:

(el campo Id. de la tabla Clientes) a la tabla Pedidos y le denominaría Id. de cliente. Access

utilizaría entonces el número de identificador del cliente de la tabla Pedidos para localizar el

cliente correcto de cada producto.

Una relación de varios a varios

Page 3: Relaciones de Acces 2007

Considere la relación entre una tabla Productos y una tabla Pedidos. Un solo pedido puede

incluir varios productos. Por otro lado, un único producto puede aparecer en muchos pedidos.

Por tanto, para cada registro de 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 denomina relación de varios a varios porque para un

producto puede haber varios pedidos, y para un pedido puede haber varios 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 sólo puede tener un registro

coincidente en la segunda tabla y viceversa. Este tipo de relación no es común porque, muy a

menudo, la información relacionada de este modo se almacena en la misma 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. Cuando identifique esta relación, ambas tablas deben

compartir un campo común.

Volver al principio

¿Por qué crear relaciones de tabla?

Puede crear relaciones de tabla explícitamente mediante la ventana Relaciones, o arrastrando un campo

desde el panel Lista de campos.Office Access 2007 usa relaciones de tabla para combinar tablas si hay

que utilizarlas en un objeto de base de datos. Existen varias razones por las que se deben crear

relaciones de tabla antes de crear otros objetos de base de datos, como formularios, consultas e

informes.

Page 4: Relaciones de Acces 2007

Las relaciones de tabla informan de 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 compara los valores del campo de clave principal de la primera

tabla con el campo de clave externa de la segunda tabla. Por ejemplo, para devolver filas que

enumeren todos los pedidos de cada cliente, deberá crear una consulta que combine la tabla

Clientes con la tabla Pedidos de acuerdo con el campo Id. de 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, Office Access 2007 suministrará la combinación

predeterminada, de acuerdo con la relación de tabla existente. Además, si usa uno de los

asistentes para consultas, Access utilizará la información recopilada de las relaciones de tabla

ya definidas para presentarle selecciones bien fundamentadas y para rellenar de antemano los

valores predeterminados de las opciones de la propiedad.

Las relaciones de tabla informan de los diseños de formulario e informe

Al diseñar un formulario o informe, Office Access 2007 utiliza la información recopilada de las

relaciones de tabla ya definidas para presentarle selecciones bien fundamentadas y para

rellenar de antemano los valores predeterminados de las opciones de la propiedad.

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. A continuación, se agregan claves externas a las tablas relacionadas que

hacen referencia a dichas claves principales. Estos pares de clave principal y clave externa

forman la base de las relaciones de tabla y de las consultas de varias tablas. Por lo tanto,

resulta importante, que dichas referencias de clave principal y clave externa estén

sincronizadas. La integridad referencial sirve para asegurarse de que las referencias

permanecen sincronizadas y depende de las relaciones de tabla.

Volver al principio

Descripción de la integridad referencial

Page 5: Relaciones de Acces 2007

Al diseñar una base de datos, se divide la información en muchas tablas basadas en temas para

minimizar la redundancia de los datos. A continuación, se proporciona a Office Access 2007 los medios

para recopilar de nuevo la información, colocando campos comunes en tablas relacionadas. Por ejemplo,

para representar una relación de uno a varios se toma la clave principal de la tabla "uno" y se agrega

como un campo adicional a la tabla "varios". Para recopilar de nuevo los datos, Access toma el valor de la

tabla "varios" y busca el valor correspondiente en la tabla "uno". De este modo los valores de la tabla

"varios" hacen referencia a los valores correspondientes de 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.

La 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 de esa relación de tabla. Esto significa que Access

rechaza las actualizaciones que cambian el destino de una referencia, así como las eliminaciones que

quitan 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. Para tales casos,

lo que realmente necesita es que Access actualice automáticamente todas las filas afectadas como parte

de una única operación. De ese modo, Access se asegura de que la actualización es completa y la base

de datos no tiene un estado inconsistente con algunas filas actualizadas y otras no. Por ello, Access

incluye la opción Eliminar en cascada los registros relacionados. Cuando se aplica la integridad

referencial, se selecciona la opción Actualizar en cascada los campos relacionados y, a continuación, se

actualiza 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 relacionados de ese transportista. Por ello,

Access incluye la opción Eliminar en cascada los registros relacionados. Si aplica la integridad referencial

y selecciona la opción Actualizar en cascada los campos relacionados y, a continuación, elimina un

registro en la parte de la clave principal de la relación, Access eliminará automáticamente todos los

campos que hagan referencia a la clave principal.

Page 6: Relaciones de Acces 2007

Volver al principio

Ver relaciones de tabla

Para ver las relaciones de tabla, haga clic en Relaciones en la ficha Herramientas de base de datos. Se

abrirá la ventana Relaciones y se mostrarán las relaciones existentes. Si aún no se han definido

relaciones de tabla y abre la ventana Relaciones por primera vez, Access le pedirá que agregue una tabla

o consulta a la ventana.

Abra la ventana Relaciones.

1. Haga clic en el Botón Microsoft Office y, a continuación, haga clic en Abrir.

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

3. En la ficha Herramientas de base de datos, en el grupo Mostrar u ocultar, haga clic en

Relaciones.

4. Si la base de datos contiene relaciones, aparecerá la ventana Relaciones y se mostrarán las

relaciones existentes. 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 la ficha Diseño, en el grupo Relaciones, haga clic en Todas las relaciones.

Se mostrarán todas las relaciones definidas en la base de datos. 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 exploración.

Para obtener más información sobre la opción Mostrar objetos ocultos, vea el artículo Guía del

panel de exploración.

Page 7: Relaciones de Acces 2007

La clave principal

Esta línea representa la relación

La clave externa

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.

Puede seleccionar los siguientes comandos en la cinta de opciones cuando la ventana Relaciones está

activa:

En la ficha 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 de la visualización todas las relaciones y tablas en la ventana

Relaciones. Observe que este comando sólo oculta las relaciones y tablas, no las elimina.

Informe Relaciones Crea un informe que muestra las relaciones y tablas de la base de datos.

El informe sólo muestra todas las relaciones y tablas que no están ocultas en la ventana

Relaciones.

En la ficha Diseño, en el grupo Relaciones:

Page 8: Relaciones de Acces 2007

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 exploración.

Para obtener más información sobre la opción Mostrar tablas ocultas, vea el artículo Guía del

panel de exploración.

Cerrar Cierra la ventana Relaciones. Si realiza algún cambio en el diseño de la ventana

Relaciones, le pedirán que guarde los cambios.

Volver al principio

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. Sin embargo,

dichos campos tienen que tener el mismo tipo de datos. No obstante, si el campo de clave principal es un

campo Autonumérico, 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 Autonumérico 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, tienen que tener el mismo

valor para la propiedad Tamaño del campo.

Crear una relación de tabla mediante la ventana Relaciones

1. Haga clic en el Botón Microsoft Office y, a continuación, haga clic en Abrir.

Page 9: Relaciones de Acces 2007

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

3. En la ficha Herramientas de base de datos, en el grupo Mostrar u ocultar, 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 ficha 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.

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

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

Aparecerá el cuadro de diálogo Modificar relaciones.

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

8. 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 aparecerá más gruesa en los extremos. Además, sólo si activó

la casilla de verificación Exigir integridad referencial, aparecerá el número 1 sobre la parte

Page 10: Relaciones de Acces 2007

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 los campos de

clave principal y de clave externa) tienen que tener un índice único. Esto significa que la

propiedad Indexado de estos campos debe tener el valor Sí (sin duplicados). Si ambos

campos tienen un índice único, Access crea una relación uno a uno.

Para crear una relación uno a varios El campo ubicado en el lado "uno" de la relación

(normalmente, el campo de clave principal) tiene que tener un índice único. Esto significa que la

propiedad Indexado de este campo debe tener el valor Sí (sin duplicados). El campo ubicado

en el lado "varios" de la relación no debe tener un índice único. Puede tener un índice, pero

debe permitir los duplicados. Esto significa que la propiedad Indexado de este campo debe

tener el valor No o 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

En Office Access 2007, se puede agregar un campo a una tabla existente abierta en la vista Hoja de

datos arrastrándolo desde el panel Lista de campos. El panel Lista de campos muestra los campos

disponibles de las tablas relacionadas y también los de otras tablas. Cuando se arrastra un campo de

"otra" tabla (no relacionada) y, a continuación, se ejecuta 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

Page 11: Relaciones de Acces 2007

la que se ha arrastrado el campo. Esta relación, creada por Access, no exige la integridad referencial de

manera predeterminada. Para exigirla, es preciso 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. Haga clic en el Botón Microsoft Office y, a continuación, haga clic en Abrir.

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

3. En el panel de exploración, haga clic con el botón secundario del mouse (ratón) en la tabla a la

que desee agregar el campo, cree la relación y haga clic en Vista Hoja de datos en el menú

contextual.

Abrir el panel Lista de campos

En la ficha Hoja de datos, en el grupo Campos y columnas, haga clic en Agregar campos

existentes.

Aparecerá el panel Lista de campos.

En el panel Lista de campos se muestran todas las otras tablas de la base de datos agrupadas en

categorías. Cuando trabaja con una tabla en la vista Hoja de datos, Access muestra los campos en

alguna de estas dos categorías del 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 con la que trabaja actualmente. La segunda categoría contiene todas

las tablas con las que la tabla no tiene ninguna relación.

En el panel Lista de campos, al hacer clic en el signo más (+) situado junto a un nombre de 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

Page 12: Relaciones de Acces 2007

1. En la ficha Hoja de datos, en el grupo Campos y columnas, haga clic en Agregar campos

existentes.

Aparecerá el panel Lista de campos.

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

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

datos.

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

Se iniciará el Asistente para búsquedas.

5. Siga las instrucciones para completar 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, se ejecuta 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 exigirla, es preciso 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, es preciso 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 con mayor grosor cuando está seleccionada. Con la línea de relación

seleccionada, presione SUPRIMIR. Observe que si se quita una relación, también se quita la integridad

Page 13: Relaciones de Acces 2007

referencial para esa relación si está habilitada. Como resultado, Access ya no evitará automáticamente la

creación de registros huérfanos en el lado "varios" de una relación.

1. Haga clic en el Botón Microsoft Office y, a continuación, haga clic en Abrir.

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

3. En la ficha Herramientas de base de datos, en el grupo Mostrar u ocultar, 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.

4. En la ficha Diseño, en el grupo Relaciones, haga clic en Todas las relaciones.

Aparecerán todas las tablas que tengan relaciones, mostrando las líneas de relación.

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

6. Presione la tecla SUPRIMIR.

O bien,

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

7. 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 Sí.

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

Page 14: Relaciones de Acces 2007

se podrá eliminar la relación. Primero se deben cerrar todos los objetos abiertos que usen estas tablas

para poder quitar la relación.

Volver al principio

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 ficha Diseño. Aparecerá el cuadro de diálogo Modificar relaciones.

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

1. Haga clic en el Botón Microsoft Office y, a continuación, haga clic en Abrir.

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

3. En la ficha Herramientas de base de datos, en el grupo Mostrar u ocultar, 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.

4. En la ficha Diseño, en el grupo Relaciones, haga clic en Todas las relaciones.

Aparecerán todas las tablas que tengan relaciones y se muestran las líneas de relación.

Observe que las tablas ocultas (las tablas que tienen activada la casilla de verificación Oculto

en el cuadro de diálogo Propiedades) y las relaciones no se muestran a menos que se

seleccione Mostrar objetos ocultos en el cuadro de diálogo Opciones de exploración.

Page 15: Relaciones de Acces 2007

Para obtener más información sobre la opción Mostrar objetos ocultos, vea el artículo Guía del

panel de exploración.

5. Haga clic en la línea de relación de la relación que desee modificar. La línea de relación

aparece con mayor grosor cuando está seleccionada.

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

O bien,

En la ficha Diseño, en el grupo Herramientas, haga clic en Modificar relaciones.

Aparecerá el cuadro de diálogo Modificar relaciones.

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

Establecer el tipo de combinación

Page 16: Relaciones de Acces 2007

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, a continuación, 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 reemplazar 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 mediante la creación 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 sólo para 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, consideremos de

nuevo 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 sólo 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 sólo 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.

Establecer el tipo de combinación

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

Page 17: Relaciones de Acces 2007

Aparecerá 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, el tipo de 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 sólo 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 sólo 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 sólo 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 ó 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 sólo las filas coincidentes.

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

1. Haga clic en el Botón Microsoft Office y, a continuación, haga clic en Abrir.

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

3. En la ficha Herramientas de base de datos, en el grupo Mostrar u ocultar, 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.

Page 18: Relaciones de Acces 2007

4. En la ficha Diseño, en el grupo Relaciones, haga clic en Todas las relaciones.

Aparecerán todas las tablas que tengan relaciones, mostrando las líneas de relación. 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

exploración.

Para obtener más información sobre la opción Mostrar objetos ocultos, vea el artículo Guía del

panel de exploración.

5. Haga clic en la línea de relación de la relación que desee modificar. La línea de relación

aparece con mayor grosor cuando está seleccionada.

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

O bien,

En la ficha Diseño, en el grupo Herramientas, haga clic en Modificar relaciones.

Aparecerá el cuadro de diálogo Modificar relaciones.

7. Haga clic en Tipo de combinación.

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

9. Realice cambios adicionales en la relación y, a continuación, haga clic en Aceptar.

Volver al principio

Page 19: Relaciones de Acces 2007

Exigir integridad referencial

El uso de la integridad referencial tiene como finalidad 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. Haga clic en el Botón Microsoft Office y, a continuación, haga clic en Abrir.

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

3. En la ficha Herramientas de base de datos, en el grupo Mostrar u ocultar, 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.

4. En la ficha Diseño, en el grupo Relaciones, haga clic en Todas las relaciones.

Aparecerán todas las tablas que tengan relaciones, mostrando las líneas de relación. Observe

que las tablas ocultas (las tablas que tienen activada la casilla de verificación Oculto check box

in the table's Propiedades dialog box is selected) and their relationships will not be shown

unless Show Hidden Objects is selected in the Navigation Options dialog box.

Page 20: Relaciones de Acces 2007

Para obtener más información sobre la opción Mostrar objetos ocultos, vea el artículo Guía del

panel de exploración.

5. Haga clic en la línea de relación de la relación que desee modificar. La línea de relación

aparece con mayor grosor cuando está seleccionada.

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

O bien,

En la ficha Diseño, en el grupo Herramientas, haga clic en Modificar relaciones.

Aparecerá el cuadro de diálogo Modificar relaciones.

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

8. Realice cambios adicionales en la relación y, a continuación, haga clic en Aceptar.

Tras aplicar 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 de verificación 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. Sin

embargo, se 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

Page 21: Relaciones de Acces 2007

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

condiciones para poder aplicar 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

Autonumérico puede estar relacionado con un campo de tipo Número cuya propiedad Tamaño

del campo tenga el valor Largo entero.

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.

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. En ese caso, es necesario que Access actualice automáticamente todas las filas afectadas como

parte de una sola operación. De ese modo, la actualización es completa y la base de datos no tiene un

estado inconsistente 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, a continuación, se

actualiza una clave principal, Access actualiza automáticamente todos los campos que hacen referencia a

la clave principal.

Puede que también se 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 de verificación Eliminar en cascada los registros relacionados,

Access elimina automáticamente todos los registros que hacen 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. Haga clic en el Botón Microsoft Office y, a continuación, haga clic en Abrir.

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

Page 22: Relaciones de Acces 2007

3. En la ficha Herramientas de base de datos, en el grupo Mostrar u ocultar, 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.

4. En la ficha Diseño, en el grupo Relaciones, haga clic en Todas las relaciones.

Aparecerán todas las tablas que tengan relaciones, mostrando las líneas de relación. 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

exploración.

Para obtener más información sobre la opción Mostrar objetos ocultos, vea Guía del panel de

exploración.

5. Haga clic en la línea de relación de la relación que desee modificar. La línea de relación

aparece con mayor grosor cuando está seleccionada.

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

O bien,

En la ficha Diseño, en el grupo Herramientas, haga clic en Modificar relaciones.

Aparecerá el cuadro de diálogo Modificar relaciones.

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

Page 23: Relaciones de Acces 2007

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

en cascada los registros relacionados, o bien, active ambas.

9. Realice cambios adicionales en la relación y, a continuación, haga clic en Aceptar.

NOTA Si la clave principal es un campo Autonumérico, 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 Auto numérico.

Crear, modificar o eliminar una relación

Mostrar todo

Tras crear una tabla para cada tema en la base de datos, es preciso proporcionar a Office Access 2007

los medios para recopilar de nuevo esa información cuando sea necesario. Para ello, se colocan campos

comunes en las tablas que están relacionadas y se definen las relaciones entre las tablas. De ese modo,

se pueden crear consultas, formularios e informes que muestren a la vez la información de varias tablas.

En este artículo se describen los procedimientos paso a paso para crear, modificar y eliminar una relación

de tabla. Se incluye información sobre cómo exigir la integridad referencial para evitar la creación de

registros huérfanos, cómo definir el tipo de combinación para determinar qué registros de cada lado de

una relación se incluyen en el resultado de una consulta y cómo configurar las opciones en cascada para

mantener sincronizadas las referencias.

Para obtener más información sobre las relaciones de tablas, vea el artículo Guía de relaciones de tablas.

Crear una relación de tabla

Se puede crear una relación de tabla en la ventana Relaciones o arrastrando un campo hasta 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. Sin embargo, los campos

comunes tienen que tener el mismo tipo de datos. No obstante, si el campo de clave principal es un

campo Autonumérico, el campo de clave externa también 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 Autonumérico 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, tienen

que tener el mismo valor para la propiedad Tamaño del campo.

Volver al principio

Page 24: Relaciones de Acces 2007

Crear una relación de tabla mediante la ficha de documentos Relaciones

1. Haga clic en el Botón Microsoft Office y, a continuación, haga clic en Abrir.

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

3. En la ficha Herramientas de base de datos, en el grupo Mostrar u ocultar, haga clic en el

botón 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 ficha 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 ambas, haga clic en Ambas.

5. Seleccione una o varias tablas o consultas y, a continuación, haga clic en Agregar. Cuando

termine de agregar tablas y consultas a la ficha de documentos Relaciones, haga clic en Cerrar.

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

Page 25: Relaciones de Acces 2007

7. 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 el campo apropiado en 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 la

sección Exigir integridad referencial.

Además, vea el artículo Guía de relaciones de tablas.

8. Haga clic en Crear.

Access dibuja 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, sólo si activó la

casilla de verificación Exigir integridad referencial, aparece el número 1 en 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, tal y como se muestra en la siguiente ilustración.

Page 26: Relaciones de Acces 2007

NOTAS

Para crear una relación uno a uno Ambos campos comunes (normalmente los campos de

clave principal y de clave externa) tienen que tener un índice único. Esto significa que la

propiedad Indexado de estos campos debe tener el valor Sí (sin duplicados). Si ambos

campos tienen un índice único, Access crea una relación uno a uno.

Para crear una relación uno a varios El campo ubicado en el lado uno de la relación

(normalmente, el campo de clave principal) tiene que tener un índice único. Esto significa que la

propiedad Indexado de este campo debe tener el valor Sí (sin duplicados). El campo ubicado

en el lado varios de la relación no debe tener un índice único. Puede tener un índice, pero debe

permitir los duplicados. Esto significa que la propiedad Indexado de este campo debe tener el

valor No o Sí (con duplicados). Cuando un campo tiene un índice único y el otro no, Access

crea una relación uno a varios.

Volver al principio

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

En Office Access 2007, se puede agregar un campo a una tabla existente abierta en la vista Hoja de

datos arrastrándolo desde el panel Lista de campos. El panel Lista de campos muestra los campos que

están disponibles en las tablas relacionadas así como los campos que están disponibles en las otras

tablas de la base de datos. Cuando se arrastra un campo de "otra" tabla (no relacionada) y, a

continuación, se ejecuta 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 exigirla,

es preciso modificar la relación. Vea la sección Modificar una relación de tabla para obtener más

información.

Abrir una tabla en la vista Hoja de datos

1. Haga clic en el Botón Microsoft Office y, a continuación, haga clic en Abrir.

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

Page 27: Relaciones de Acces 2007

3. En el panel de exploración, haga clic con el botón secundario del mouse (ratón) en la tabla a la

que desee agregar el campo, cree la relación y, a continuación, haga clic en Vista Hoja de

datos en el menú contextual.

Abrir el panel Lista de campos

En la ficha Hoja de datos, en el grupo Campos y columnas, haga clic en Agregar campos

existentes.

Aparece el panel Lista de campos.

Page 28: Relaciones de Acces 2007

En el panel Lista de campos se muestran todas las otras tablas de la base de datos agrupadas en

categorías. Cuando trabaja con una tabla en la vista Hoja de datos, Access muestra los campos de

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 con la que se trabaja actualmente. La segunda categoría contiene

todas las tablas con las que la tabla no tiene ninguna relación.

En el panel Lista de campos, al hacer clic en el signo más (+) situado junto a un nombre de 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 la ficha Hoja de datos, en el grupo Campos y columnas, haga clic en Agregar campos

existentes.

Aparece el panel Lista de campos.

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

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

datos.

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

Se inicia el Asistente para búsquedas.

5. 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, se ejecuta 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

Page 29: Relaciones de Acces 2007

exige la integridad referencial de manera predeterminada. Para exigirla, es preciso modificar la relación.

Vea la sección Modificar una relación de tabla para obtener más información.

Volver al principio

Modificar una relación de tabla

Para cambiar una relación de tabla, selecciónela en la ficha de documentos Relaciones y, a continuación,

modifíquela.

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

2. Con la línea de relación seleccionada, haga doble clic en ella.

O bien,

En la ficha Diseño, en el grupo Herramientas, haga clic en Modificar relaciones.

Aparece el cuadro de diálogo Modificar relaciones.

Abrir el cuadro de diálogo Modificar relaciones

1. Haga clic en el Botón Microsoft Office y, a continuación, haga clic en Abrir.

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

3. En la ficha Herramientas de base de datos, en el grupo Mostrar u ocultar, haga clic en el

botón Relaciones.

Aparece la ficha de documentos Relaciones.

Si aún no ha definido ninguna relación y ésta es la primera vez que abre la ficha de documentos

Relaciones, aparecerá el cuadro de diálogo Mostrar tabla. Si aparece, haga clic en Cerrar.

4. En la ficha Diseño, en el grupo Relaciones, haga clic en Mostrar todas las relaciones.

Page 30: Relaciones de Acces 2007

Se muestran todas las tablas que tengan relaciones y las líneas de relación. Observe que no se

muestran las tablas ocultas (tablas con la casilla de verificación Oculto activada en el cuadro de

diálogo Propiedades de la tabla) ni sus relaciones, a menos que esté seleccionada la opción

Mostrar objetos ocultos en el cuadro de diálogo Opciones de exploración.

Para obtener más información sobre la opción Mostrar objetos ocultos, vea el artículo Guía del

panel de exploración.

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

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

O bien,

En la ficha Diseño, en el grupo Herramientas, haga clic en Modificar relaciones.

Aparece el cuadro de diálogo Modificar relaciones.

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

Page 31: Relaciones de Acces 2007

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

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, a continuación, se crea una consulta

que use las dos tablas, Access selecciona automáticamente los campos coincidentes predeterminados

basándose en los campos especificados en la relación. Se pueden reemplazar 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 mediante la creación 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 sólo para 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, consideremos de

nuevo 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 sólo 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 sólo 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 ficha de documentos Relaciones.

Page 32: Relaciones de Acces 2007

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, el tipo de combinación y si se devuelven todas las

filas o las filas coincidentes de cada tabla.

Opción Combinación relacional

Tabla izquierda

Tabla derecha

1. Incluir sólo 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 sólo 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 sólo 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 ó 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 sólo las filas coincidentes.

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

1. Haga clic en el Botón Microsoft Office y, a continuación, haga clic en Abrir.

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

3. En la ficha Herramientas de base de datos, en el grupo Mostrar u ocultar, haga clic en

Relaciones.

Page 33: Relaciones de Acces 2007

Aparece la ficha de documentos Relaciones.

Si aún no ha definido ninguna relación y ésta es la primera vez que abre la ficha de documentos

Relaciones, aparecerá el cuadro de diálogo Mostrar tabla. Si aparece, haga clic en Cerrar.

4. En la ficha Diseño, en el grupo Relaciones, haga clic en Todas las relaciones.

Se muestran todas las tablas que tengan relaciones y las líneas de relación. Observe que no se

muestran las tablas ocultas (tablas con la casilla de verificación Oculto activada en el cuadro de

diálogo Propiedades de la tabla) ni sus relaciones, a menos que esté seleccionada la opción

Mostrar objetos ocultos en el cuadro de diálogo Opciones de exploración.

Para obtener más información sobre la opción Mostrar objetos ocultos, vea el artículo Guía del

panel de exploración.

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

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

O bien,

En la ficha Diseño, en el grupo Herramientas, haga clic en Modificar relaciones.

Aparece el cuadro de diálogo Modificar relaciones.

7. Haga clic en Tipo de combinación.

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

Page 34: Relaciones de Acces 2007

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

Volver al principio

Exigir integridad referencial

La integridad referencial tiene como finalidad 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. Esto

significa que Access rechazará 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. Haga clic en el Botón Microsoft Office y, a continuación, haga clic en Abrir.

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

3. En la ficha Herramientas de base de datos, en el grupo Mostrar u ocultar, haga clic en

Relaciones.

Aparece la ficha de documentos Relaciones.

Page 35: Relaciones de Acces 2007

Si aún no ha definido ninguna relación y ésta es la primera vez que abre la ficha de documentos

Relaciones, aparecerá el cuadro de diálogo Mostrar tabla. Si aparece, haga clic en Cerrar.

4. En la ficha Diseño, en el grupo Relaciones, haga clic en Todas las relaciones.

Se muestran todas las tablas que tengan relaciones y las líneas de relación. Observe que no se

muestran las tablas ocultas (tablas con la casilla de verificación Oculto activada en el cuadro de

diálogo Propiedades de la tabla) ni sus relaciones, a menos que esté seleccionada la opción

Mostrar objetos ocultos en el cuadro de diálogo Opciones de exploración.

Para obtener más información sobre la opción Mostrar objetos ocultos, vea el artículo Guía del

panel de exploración.

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

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

O bien,

En la ficha Diseño, en el grupo Herramientas, haga clic en Modificar relaciones.

Aparece el cuadro de diálogo Modificar relaciones.

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

8. 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 de verificación Eliminar en cascada los registros relacionados.

Page 36: Relaciones de Acces 2007

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. Sin embargo,

se 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

Autonumérico puede estar relacionado con un campo de tipo Número cuya propiedad Tamaño

del campo tenga el valor Largo entero.

Ambas tablas existen 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.

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. En ese caso, es necesario que Access actualice automáticamente todas las filas afectadas como

parte de una sola operación. De ese modo, la actualización es completa y la base de datos no tiene un

estado inconsistente 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, a continuación, se

actualiza una clave principal, Access actualiza automáticamente todos los campos que hacen referencia a

la clave principal.

Puede que también se 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 de verificación Eliminar en cascada los registros

Page 37: Relaciones de Acces 2007

relacionados, Access elimina automáticamente todos los registros que hacen 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. Haga clic en el Botón Microsoft Office y, a continuación, haga clic en Abrir.

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

3. En la ficha Herramientas de base de datos, en el grupo Mostrar u ocultar, haga clic en

Relaciones.

Aparece la ficha de documentos Relaciones.

Si aún no ha definido ninguna relación y ésta es la primera vez que abre la ficha de documentos

Relaciones, aparecerá el cuadro de diálogo Mostrar tabla. Si aparece, haga clic en Cerrar.

4. En la ficha Diseño, en el grupo Relaciones, haga clic en Todas las relaciones.

Se muestran todas las tablas que tengan relaciones y las líneas de relación. Observe que no se

muestran las tablas ocultas (tablas con la casilla de verificación Oculto activada en el cuadro de

diálogo Propiedades de la tabla) ni sus relaciones, a menos que esté seleccionada la opción

Mostrar objetos ocultos en el cuadro de diálogo Opciones de exploración.

Para obtener más información sobre la opción Mostrar objetos ocultos, vea el artículo Guía del

panel de exploración.

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

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

O bien,

En la ficha Diseño, en el grupo Herramientas, haga clic en Modificar relaciones.

Page 38: Relaciones de Acces 2007

Aparece el cuadro de diálogo Modificar relaciones.

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

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

en cascada los registros relacionados, o bien, active ambas.

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

NOTA Si la clave principal es un campo Auto numérico, 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 Auto numérico.

Volver al principio

Eliminar una relación de tabla

Para quitar una relación de tabla, es preciso eliminar la línea de relación en la ficha de documentos

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 con mayor grosor cuando está seleccionada. Con la línea de relación

seleccionada, presione SUPRIMIR. Observe que si se quita una relación, también se quita la integridad

referencial para esa relación si está habilitada. Como resultado, Access ya no evitará automáticamente la

creación de registros huérfanos en el lado "varios" de una relación.

1. Haga clic en el Botón Microsoft Office y, a continuación, haga clic en Abrir.

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

3. En la ficha Herramientas de base de datos, en el grupo Mostrar u ocultar, haga clic en el

botón Relaciones.

Aparece la ficha de documentos Relaciones.

Si aún no ha definido ninguna relación y ésta es la primera vez que abre la ficha de documentos

Relaciones, aparecerá el cuadro de diálogo Mostrar tabla. Si aparece, haga clic en Cerrar.

Page 39: Relaciones de Acces 2007

4. En la ficha Diseño, en el grupo Relaciones, haga clic en Todas las relaciones.

Se muestran todas las tablas que tengan relaciones y las líneas de relación. Observe que no se

muestran las tablas ocultas (tablas con la casilla de verificación Oculto activada en el cuadro de

diálogo Propiedades de la tabla) ni sus relaciones, a menos que esté seleccionada la opción

Mostrar objetos ocultos en el cuadro de diálogo Opciones de exploración.

Para obtener más información sobre la opción Mostrar objetos ocultos, vea el artículo Guía del

panel de exploración.

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

6. Presione la tecla SUPRIMIR.

O bien,

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

7. Puede que Access muestre el mensaje ¿Confirma que desea eliminar de forma permanente

la relación seleccionada de la base de datose Si aparece este mensaje de confirmación,

haga clic en Sí.