guía de relaciones de tablas

22
Guía de relaciones de tablas Uno de los objetivos de un buen diseño de base de datos es eliminar la redundancia de los datos (datos duplicados). Para lograr dicho objetivo, conviene desglosar los datos en muchas tablas basadas en temas para que cada hecho esté representado sólo una vez. A continuación, se debe proporcionar a Microsoft Office Access 2007 los medios para recopilar de nuevo la información desglosada (esto se realiza colocando campos comunes en tablas que están relacionadas). Sin embargo, para realizar este paso correctamente, primero deberá comprender las relaciones existentes entre las tablas y, a continuación, especificar dichas relaciones en la base de datos de Office Access 2007. Aquí encontraras los siguientes temas: Introducción Tipos de relaciones de tabla ¿Por qué crear relaciones de tabla? 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 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:

Upload: kehincapie

Post on 04-Jul-2015

134 views

Category:

Education


1 download

TRANSCRIPT

Page 1: Guía de relaciones de tablas

Guía de relaciones de tablas

Uno de los objetivos de un buen diseño de base de datos es eliminar la

redundancia de los datos (datos duplicados). Para lograr dicho objetivo, conviene

desglosar los datos en muchas tablas basadas en temas para que cada hecho

esté representado sólo una vez. A continuación, se debe proporcionar a Microsoft

Office Access 2007 los medios para recopilar de nuevo la información desglosada

(esto se realiza colocando campos comunes en tablas que están relacionadas).

Sin embargo, para realizar este paso correctamente, primero deberá comprender

las relaciones existentes entre las tablas y, a continuación, especificar dichas

relaciones en la base de datos de Office Access 2007.

Aquí encontraras los siguientes temas:

Introducción Tipos de relaciones de tabla ¿Por qué crear relaciones de tabla? 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

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:

Page 2: Guía de relaciones de 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 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.

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

Page 3: Guía de relaciones de tablas

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

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.

Page 4: Guía de relaciones de tablas

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

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

Page 5: Guía de relaciones de tablas

referencial sirve para asegurarse de que las referencias permanecen

sincronizadas y depende de las relaciones de tabla.

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

Page 6: Guía de relaciones de tablas

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.

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 de 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 grupo Mostrar u ocultar de la ficha Herramientas de base de datos, 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 el grupo Relaciones de la ficha Diseño, 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álogoOpciones de exploración.

Page 7: Guía de relaciones de tablas

Para obtener más información sobre la opción Mostrar objetos ocultos, vea el

artículo Guía del panel de exploración.

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.

Cuando la ventana Relaciones está activa, puede seleccionar los siguientes

comandos en la cinta de opciones, que forma parte de la Interfaz de usuario de

Microsoft Office Fluent:

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: Guía de relaciones de tablas

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

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.

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 propiedadTamañ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 de 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 grupo Mostrar u ocultar de la ficha Herramientas de base de datos, haga clic

en Relaciones.

Page 9: Guía de relaciones de tablas

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

Page 10: Guía de relaciones de tablas

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

Page 11: Guía de relaciones de tablas

1. Haga clic en el botón de 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 el grupo Campos y columnas de la ficha Hoja de datos, 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

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

campos existentes.

Page 12: Guía de relaciones de tablas

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 tablapara obtener más

información.

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

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 de 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 grupo Mostrar u ocultar de la ficha Herramientas de base de datos, haga clic

en Relaciones.

Page 13: Guía de relaciones de tablas

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 el grupo Relaciones de la ficha Diseño, 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 se podrá eliminar la relación. Primero

se deben cerrar todos los objetos abiertos que usen estas tablas para poder quitar

la relación.

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

Page 14: Guía de relaciones de tablas

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 de 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 grupo Mostrar u ocultar de la ficha Herramientas de base de datos, 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 el grupo Relaciones de la ficha Diseño, 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.

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 el grupo Herramientas de la ficha Diseño, haga clic en Modificar relaciones.

Aparecerá el cuadro de diálogo Modificar relaciones.

Page 15: Guía de relaciones de tablas

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

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

Page 16: Guía de relaciones de tablas

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

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.

Page 17: Guía de relaciones de tablas

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 de 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 grupo Mostrar u ocultar de la ficha Herramientas de base de datos, 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 el grupo Relaciones de la ficha Diseño, 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

Page 18: Guía de relaciones de tablas

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 el grupo Herramientas de la ficha Diseño, 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 enAceptar.

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

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

Page 19: Guía de relaciones de tablas

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 de 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 grupo Mostrar u ocultar de la ficha Herramientas de base de datos, 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 el grupo Relaciones de la ficha Diseño, haga clic en Todas las relaciones.

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

relación. Observe quelastablasocultas (lastablasquetienenactivada 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.

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 el grupo Herramientas de la ficha Diseño, haga clic en Modificar relaciones.

Aparecerá el cuadro de diálogo Modificar relaciones.

Page 20: Guía de relaciones de tablas

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

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.

Page 21: Guía de relaciones de tablas

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 de 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 grupo Mostrar u ocultar de la ficha Herramientas de base de datos, 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 el grupo Relaciones de la ficha Diseño, 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.

Page 22: Guía de relaciones de tablas

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 el grupo Herramientas de la ficha Diseño, haga clic en Modificar relaciones.

Aparecerá 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 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 Autonumérico.