relaciones de access

64
Relaciones 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. Para obtener más información, vea el artículo Conceptos básicos del diseño de una base de datos. En este artículo Introducción Tipos de relaciones de tabla ¿Por qué crear relaciones de tabla? Descripción de la integridad referencial Ver relaciones de tabla 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: belenarmijos

Post on 14-Apr-2017

119 views

Category:

Software


0 download

TRANSCRIPT

Page 1: Relaciones de access

Relaciones

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.

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

datos.

En este artículo

Introducción

Tipos de relaciones de tabla

¿Por qué crear relaciones de tabla?

Descripción de la integridad referencial

Ver relaciones de tabla

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: Relaciones de access

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

2. ...la tabla Pedidos...

3. ...la tabla Productos...

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

El nombre de cliente del cuadro Facturar a se obtiene de la tabla Clientes, los valores de

Id. de pedido y Fecha de pedido proceden de la tabla Pedidos, el nombre de producto viene

de la tabla Productos, y los valores Precio por unidad y Cantidad proceden de la tabla

Detalles del pedido. Estas tablas se vinculan entre sí de varias formas para recopilar

información de cada una e incorporarla al formulario.

Siguiendo en el ejemplo anterior, los campos de las tablas deben coordinarse de modo que

muestren información acerca del mismo pedido. Esta coordinación se lleva a cabo mediante

las relaciones de tablas. Una relación de tabla hace coincidir los datos de los campos clave

(a menudo un campo con el mismo nombre en ambas tablas). En la mayoría de los casos,

estos campos coincidentes son la clave principal de una tabla, que proporciona un

identificador único para cada registro, y una clave externa de la otra tabla. Por ejemplo, los

empleados pueden asociarse a los pedidos de los que son responsables mediante la creación

de una relación de tabla entre los campos Id. de empleado en las tablas Empleados y

Pedidos.

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

2. ... y como clave externa.

Volver al principio

Tipos de relaciones de tabla

Page 3: Relaciones de access

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

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: Relaciones de access

¿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 referencial sirve para asegurarse de que las referencias

permanecen sincronizadas y depende de las relaciones de tabla.

Descripción de la integridad referencial

Page 5: Relaciones de access

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

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

Page 6: Relaciones de access

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

enRelaciones.

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

1. La clave principal

2. Esta línea representa la relación

3. La clave externa

Page 7: Relaciones de access

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:

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

Page 8: Relaciones de access

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

enRelaciones.

4. Si aún no ha definido ninguna relación, aparecerá automáticamente el cuadro de

diálogoMostrar tabla. Si no aparece, en la ficha Diseño, en el grupo Relaciones, haga clic

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

Page 9: Relaciones de access

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.

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 camposy la tabla a la que se ha arrastrado el

Page 10: Relaciones de access

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 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 11: Relaciones de access

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

enRelaciones.

Page 12: Relaciones de access

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

enCerrar.

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.

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

enRelaciones.

Page 13: Relaciones de access

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

enCerrar.

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

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

Page 14: Relaciones de access

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

Page 15: Relaciones de access

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.

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

enRelaciones.

Aparecerá la ventana Relaciones.

Page 16: Relaciones de access

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

enCerrar.

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

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

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

Volver al principio

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

Page 17: Relaciones de access

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

enRelaciones.

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

enCerrar.

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

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

Page 18: Relaciones de access

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 Si surgen problemas al habilitar la integridad referencial, observe que deben

cumplirse las siguientes condiciones para poder aplicar la integridad referencial:

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

único.

o 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

propiedadTamaño del campo tenga el valor Largo entero.

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

Page 19: Relaciones de access

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

enRelaciones.

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

enCerrar.

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

Aparecerá el cuadro de diálogo Modificar relaciones.

Page 20: Relaciones de access

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

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

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

Crear, modificar o eliminar una relació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.

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.

En este artículo

Crear una relación de tabla

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

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

Modificar una relación de tabla

Exigir integridad referencial

Eliminar una relación de tabla

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

Page 21: Relaciones de access

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

Crear una relación de tabla mediante la ficha de documentos 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 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álogoMostrar tabla. Si no aparece, en la ficha Diseño, en el grupo Relaciones, haga clic

enMostrar 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

enCerrar.

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 22: Relaciones de access

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ónExigir 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 23: Relaciones de access

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ónModificar 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 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, a continuación, 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.

Page 24: Relaciones de access

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

Page 25: Relaciones de access

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.

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

Page 26: Relaciones de access

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

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

Aparece el cuadro de diálogo Modificar relaciones.

Page 27: Relaciones de access

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.

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

Page 28: Relaciones de access

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.

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.

Page 29: Relaciones de access

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

enRelaciones.

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 el grupo Relaciones de la ficha Diseño, 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 el grupo Herramientas de la ficha Diseño, 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 30: Relaciones de access

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

enRelaciones.

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

Page 31: Relaciones de access

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

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:

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

único.

o 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

propiedadTamaño del campo tenga el valor Largo entero.

Page 32: Relaciones de access

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

enRelaciones.

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

Page 33: Relaciones de access

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

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 oEliminar 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 tipo de datos Autonumeración, la activación de la

casilla de verificación Actualizar en cascada los campos relacionados no tendrá ningún

efecto porque no se puede cambiar el valor de un campo Autonumé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 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 la ficha Herramientas de base de datos, en el grupo Mostrar u ocultar, haga clic en el

botón Relaciones.

Page 34: Relaciones de access

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 el grupo Relaciones de la ficha Diseño, 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 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. Es preciso cerrar todos los objetos abiertos que

usen estas tablas para poder quitar la relación.

Conceptos básicos del diseño de una base de datos

Una base de datos correctamente diseñada permite obtener acceso a información exacta y

actualizada. Puesto que un diseño correcto es esencial para lograr los objetivos fijados para

la base de datos, parece lógico emplear el tiempo que sea necesario en aprender los

principios de un buen diseño ya que, en ese caso, es mucho más probable que la base de

datos termine adaptándose a sus necesidades y pueda modificarse fácilmente.

En este artículo se proporcionan instrucciones para preparar una base de datos. Aprenderá a

decidir qué información necesita, a dividir la información en las tablas y columnas

adecuadas y a relacionar las tablas entre sí. Debe leer este artículo antes de crear la primera

base de datos.

Page 35: Relaciones de access

En este artículo

Algunos términos sobre bases de datos que debe conocer

¿Qué es un buen diseño de base de datos?

El proceso de diseño

Determinar la finalidad de la base de datos

Buscar y organizar la información necesaria

Dividir la información en tablas

Convertir los elementos de información en columnas

Especificar claves principales

Crear relaciones entre las tablas

Ajustar el diseño

Aplicar las reglas de normalización

Para obtener más información

Algunos términos sobre bases de datos que debe conocer

Microsoft Office Access 2007 organiza la información en tablas, que son listas y columnas

similares a las de los libros contables o a las de las hojas de cálculo de Microsoft Office

Excel 2007. Una base de datos simple puede que sólo contenga una tabla, pero la mayoría

de las bases de datos necesitan varias tablas. Por ejemplo, podría tener una tabla con

información sobre productos, otra con información sobre pedidos y una tercera con

información sobre clientes.

Page 36: Relaciones de access

Cada fila recibe también el nombre de registro y cada columna se denomina

también campo. Un registro es una forma lógica y coherente de combinar información

sobre alguna cosa. Un campo es un elemento único de información: un tipo de elemento que

aparece en cada registro. En la tabla Products (Productos), por ejemplo, cada fila o registro

contendría información sobre un producto, y cada columna contendría algún dato sobre ese

producto, como su nombre o el precio.

Volver al principio

¿Qué es un buen diseño de base de datos?

El proceso de diseño de una base de datos se guía por algunos principios. El primero de

ellos es que se debe evitar la información duplicada o, lo que es lo mismo, los datos

redundantes, porque malgastan el espacio y aumentan la probabilidad de que se produzcan

errores e incoherencias. El segundo principio es que es importante que la información sea

correcta y completa. Si la base de datos contiene información incorrecta, los informes que

recogen información de la base de datos contendrán también información incorrecta y, por

tanto, las decisiones que tome a partir de esos informes estarán mal fundamentadas.

Un buen diseño de base de datos es, por tanto, aquél que:

Divide la información en tablas basadas en temas para reducir los datos redundantes.

Proporciona a Access la información necesaria para reunir la información de las tablas

cuando así se precise.

Ayuda a garantizar la exactitud e integridad de la información.

Satisface las necesidades de procesamiento de los datos y de generación de informes.

Volver al principio

Page 37: Relaciones de access

El proceso de diseño

El proceso de diseño consta de los pasos siguientes:

Determinar la finalidad de la base de datos

Esto le ayudará a estar preparado para los demás pasos.

Buscar y organizar la información necesaria

Reúna todos los tipos de información que desee registrar en la base de datos, como los

nombres de productos o los números de pedidos.

Dividir la información en tablas

Divida los elementos de información en entidades o temas principales, como Productos o

Pedidos. Cada tema pasará a ser una tabla.

Convertir los elementos de información en columnas

Decida qué información desea almacenar en cada tabla. Cada elemento se convertirá en un

campo y se mostrará como una columna en la tabla. Por ejemplo, una tabla Empleados podría

incluir campos como Apellido y Fecha de contratación.

Especificar claves principales

Elija la clave principal de cada tabla. La clave principal es una columna que se utiliza para

identificar inequívocamente cada fila, como Id. de producto o Id. de pedido.

Definir relaciones entre las tablas

Examine cada tabla y decida cómo se relacionan los datos de una tabla con las demás tablas.

Agregue campos a las tablas o cree nuevas tablas para clarificar las relaciones según sea

necesario.

Ajustar el diseño

Analice el diseño para detectar errores. Cree las tablas y agregue algunos registros con datos

de ejemplo. Compruebe si puede obtener los resultados previstos de las tablas. Realice los

ajustes necesarios en el diseño.

Aplicar las reglas de normalización

Aplique reglas de normalización de los datos para comprobar si las tablas están estructuradas

correctamente. Realice los ajustes necesarios en las tablas.

Page 38: Relaciones de access

Volver al principio

Determinar la finalidad de la base de datos

Es conveniente plasmar en papel el propósito de la base de datos: cómo piensa utilizarla y

quién va a utilizarla. Para una pequeña base de datos de un negocio particular, por ejemplo,

podría escribir algo tan simple como "La base de datos de clientes contiene una lista de

información de los clientes para el envío masivo de correo y la generación de informes". Si

la base de datos es más compleja o la utilizan muchas personas, como ocurre normalmente

en un entorno corporativo, la finalidad podría definirse fácilmente en uno o varios párrafos

y debería incluir cuándo y cómo va a utilizar cada persona la base de datos. La idea es

desarrollar una declaración de intenciones bien definida que sirva de referencia durante todo

el proceso de diseño. Esta declaración de intenciones le permitirá centrarse en los objetivos

a la hora de tomar decisiones.

Volver al principio

Buscar y organizar la información necesaria

Para buscar y organizar la información necesaria, empiece con la información existente. Por

ejemplo, si registra los pedidos de compra en un libro contable o guarda la información de

los clientes en formularios en papel en un archivador, puede reunir esos documentos y

enumerar cada tipo de información que contienen (por ejemplo, cada casilla de un

formulario). Si no dispone de formularios, imagine que tiene que diseñar uno para registrar

la información de los clientes. ¿Qué información incluiría en el formulario? ¿Qué casillas

crearía? Identifique cada uno de estos elementos y cree un listado. Suponga, por ejemplo,

que guarda la lista de clientes en fichas. Cada ficha podría contener un nombre de cliente,

su dirección, ciudad, provincia, código postal y número de teléfono. Cada uno de estos

elementos representa una columna posible de una tabla.

Cuando prepare esta lista, no se preocupe si no es perfecta al principio. Simplemente,

enumere cada elemento que se le ocurra. Si alguien más va a utilizar la base de datos, pídale

también su opinión. Más tarde podrá ajustar la lista.

A continuación, considere los tipos de informes o la correspondencia que desea producir

con la base de datos. Por ejemplo, tal vez desee crear un informe de ventas de productos que

contenga las ventas por región, o un informe de resumen de inventario con los niveles de

inventario de los productos. Es posible que también desee generar cartas modelo para

enviárselas a los clientes con un anuncio de una actividad de ventas o una oferta. Diseñe el

informe en su imaginación y piense cómo le gustaría que fuera. ¿Qué información incluiría

en el informe? Cree un listado de cada elemento. Haga lo mismo para la carta modelo y

para cualquier otro informe que tenga pensado crear.

Page 39: Relaciones de access

Detenerse a pensar en los informes y en la correspondencia que desea crear le ayudará a

identificar los elementos que necesita incluir en la base de datos. Suponga, por ejemplo, que

ofrece a sus clientes la oportunidad de inscribirse o borrarse de las actualizaciones

periódicas de correo electrónico y desea imprimir un listado de los que han decidido

inscribirse. Para registrar esa información, agrega una columna "Enviar correo electrónico"

a la tabla de clientes. Para cada cliente, puede definir el campo en Sí o No.

La necesidad de enviar mensajes de correo electrónico a los clientes implica la inclusión de

otro elemento. Cuando sepa que un cliente desea recibir mensajes de correo electrónico,

tendrá que conocer también la dirección de correo electrónico a la que éstos deben enviarse.

Por tanto, tendrá que registrar una dirección de correo electrónico para cada cliente.

Parece lógico crear un prototipo de cada informe o listado de salida y considerar qué

elementos necesita para crear el informe. Por ejemplo, cuando examine una carta modelo,

puede que se le ocurran algunas ideas. Si desea incluir un saludo (por ejemplo, las

abreviaturas "Sr." o "Sra." con las que comienza un saludo), tendrá que crear un elemento

de saludo. Además, tal vez desee comenzar las cartas con el saludo "Estimado Sr. García",

en lugar de "Estimado Sr. Miguel Ángel García". Esto implicaría almacenar el apellido

independientemente del nombre.

Un punto clave que hay que recordar es que debe descomponer cada pieza de información

en sus partes lógicas más pequeñas. En el caso de un nombre, para poder utilizar el apellido,

dividirá el nombre en dos partes: el nombre y el apellido. Para ordenar un informe por

nombre, por ejemplo, sería útil que el apellido de los clientes estuviera almacenado de

forma independiente. En general, si desea ordenar, buscar, calcular o generar informes a

partir de un elemento de información, debe incluir ese elemento en su propio campo.

Piense en las preguntas que le gustaría que la base de datos contestara. Por ejemplo,

¿cuántas ventas de un determinado producto se cerraron el pasado mes? ¿Dónde viven sus

mejores clientes? ¿Quién es el proveedor del producto mejor vendido? Prever esas

preguntas le ayudará a determinar los elementos adicionales que necesita registrar.

Page 40: Relaciones de access

Una vez reunida esta información, ya puede continuar con el paso siguiente.

Volver al principio

Dividir la información en tablas

Para dividir la información en tablas, elija las entidades o los temas principales. Por

ejemplo, después de buscar y organizar la información de una base de datos de ventas de

productos, la lista preliminar podría ser similar a la siguiente:

Las entidades principales mostradas aquí son los productos, los proveedores, los clientes y

los pedidos. Por tanto, parece lógico empezar con estas cuatro tablas: una para los datos

sobre los productos, otra para los datos sobre los proveedores, otra para los datos sobre los

clientes y otra para los datos sobre los pedidos. Aunque esto no complete la lista, es un buen

punto de partida. Puede seguir ajustando la lista hasta obtener un diseño correcto.

Cuando examine por primera vez la lista preliminar de elementos, podría estar tentado a

incluirlos todos ellos en una sola tabla en lugar de en las cuatro tablas mostradas en la

ilustración anterior. A continuación le explicaremos por qué eso no es una buena idea.

Considere por un momento la tabla que se muestra a continuación:

En este caso, cada fila contiene información sobre el producto y su proveedor. Como hay

muchos productos del mismo proveedor, la información del nombre y la dirección del

proveedor debe repetirse muchas veces, con lo que se malgasta el espacio en disco.

Page 41: Relaciones de access

Registrar la información del proveedor una sola vez en una tabla Proveedores distinta y

luego vincular esa tabla a la tabla Productos es una solución mucho mejor.

Otro problema de este diseño surge cuando es necesario modificar la información del

proveedor. Suponga, por ejemplo, que necesita cambiar la dirección de un proveedor. Como

ésta aparece en muchos lugares, podría sin querer cambiar la dirección en un lugar y

olvidarse de cambiarla en los demás lugares. Ese problema se resuelve registrando la

información del proveedor en un único lugar.

Cuando diseñe la base de datos, intente registrar siempre cada dato una sola vez. Si

descubre que está repitiendo la misma información en varios lugares, como la dirección de

un determinado proveedor, coloque esa información en una tabla distinta.

Por último, suponga que el proveedor Bodega Sol sólo suministra un producto y desea

eliminar ese producto pero conservar el nombre del proveedor y la información de

dirección. ¿Cómo eliminaría el producto sin perder la información del proveedor? No

puede. Como cada registro contiene datos sobre un producto, además de datos sobre un

proveedor, no puede eliminar unos sin eliminar los otros. Para mantener estos datos

separados, debe dividir la tabla en dos: una tabla para la información sobre los productos y

otra tabla para la información sobre los proveedores. Al eliminar un registro de producto

sólo se eliminarían los datos del producto y no los datos del proveedor.

Una vez seleccionado el tema representado por una tabla, las columnas de esa tabla deben

almacenar datos únicamente sobre ese tema. Por ejemplo, la tabla de productos sólo debe

contener datos de productos. Como la dirección del proveedor es un dato del proveedor,

pertenece a la tabla de proveedores.

Volver al principio

Convertir los elementos de información en columnas

Para determinar las columnas de una tabla, decida qué información necesita registrar sobre

el tema representado por la tabla. Por ejemplo, para la tabla Clientes, una buena lista de

columnas iniciales sería Nombre, Dirección, Ciudad-Provincia-Código postal, Enviar correo

electrónico, Saludo y Correo electrónico. Cada registro de la tabla contiene el mismo

número de columnas, por lo que puede almacenar información sobre el nombre, dirección,

ciudad-provincia-código postal, envío de correo electrónico, saludo y dirección de correo

electrónico para cada registro. Por ejemplo, la columna de dirección podría contener las

direcciones de los clientes. Cada registro contendrá datos sobre un cliente y el campo de

dirección, la dirección de ese cliente.

Cuando haya determinado el conjunto inicial de columnas para cada tabla, puede ajustar

con mayor precisión las columnas. Por ejemplo, tiene sentido almacenar los nombres de los

clientes en dos columnas distintas (el nombre y el apellido) para poder ordenar, buscar e

indizar por esas columnas. De igual forma, la dirección consta en realidad de cinco

Page 42: Relaciones de access

componentes distintos: dirección, ciudad, provincia, código postal y país o región, y parece

lógico también almacenarlos en columnas distintas. Si desea realizar, por ejemplo, una

búsqueda o una operación de ordenación o filtrado por provincia, necesita que la

información de provincia esté almacenada en una columna distinta.

Debe considerar también si la base de datos va a contener información sólo de procedencia

nacional o internacional. Por ejemplo, si piensa almacenar direcciones internacionales, es

preferible tener una columna Región en lugar de Provincia, ya que esa columna puede

incluir provincias del propio país y regiones de otros países o regiones. De igual forma, es

más lógico incluir una columna Región en lugar de Comunidad Autónoma si va a

almacenar direcciones internacionales.

En la lista siguiente se incluyen algunas sugerencias para determinar las columnas de la

base de datos.

No incluya datos calculados

En la mayoría de los casos, no debe almacenar el resultado de los cálculos en las tablas. En

lugar de ello, puede dejar que Access realice los cálculos cuando desee ver el resultado.

Suponga, por ejemplo, que tiene un informe Productos bajo pedido que contiene el subtotal

de unidades de un pedido para cada categoría de producto de la base de datos. Sin embargo,

no hay ninguna tabla que contenga una columna de subtotal Unidades en pedido. La tabla

Productos contiene una columna Unidades en pedido que almacena las unidades incluidas en

un pedido de cada producto. Con esos datos, Access calcula el subtotal cada vez que se

imprime el informe, pero el subtotal propiamente dicho no debe almacenarse en una tabla.

Almacene la información en sus partes lógicas más pequeñas

Puede ceder a la tentación de habilitar un único campo para los nombres completos o para los

nombres de productos junto con sus descripciones. Si combina varios tipos de información en

un campo, será difícil recuperar datos individuales más adelante. Intente dividir la

información en partes lógicas. Por ejemplo, cree campos distintos para el nombre y el

apellido, o para el nombre del producto, la categoría y la descripción.

Page 43: Relaciones de access

Una vez ajustadas las columnas de datos de cada tabla, ya puede seleccionar la clave

principal de cada tabla.

Volver al principio

Especificar claves principales

Cada tabla debe incluir una columna o conjunto de columnas que identifiquen

inequívocamente cada fila almacenada en la tabla. Ésta suele ser un número de

identificación exclusivo, como un número de identificador de empleado o un número de

serie. En la terminología de bases de datos, esta información recibe el nombre de clave

principal de la tabla. Access utiliza los campos de clave principal para asociar rápidamente

datos de varias tablas y reunir automáticamente esos datos.

Si ya tiene un identificador exclusivo para una tabla, como un número de producto que

identifica inequívocamente cada producto del catálogo, puede utilizar ese identificador

como clave principal de la tabla, pero sólo si los valores de esa columna son siempre

diferentes para cada registro. No puede tener valores duplicados en una clave principal. Por

ejemplo, no utilice los nombres de las personas como clave principal, ya que los nombres

no son exclusivos. Es muy fácil que dos personas tengan el mismo nombre en la misma

tabla.

Una clave principal siempre debe tener un valor. Si el valor de una columna puede quedar

sin asignar o vacío (porque no se conoce) en algún momento, no puede utilizarlo como

componente de una clave principal.

Debe elegir siempre una clave principal cuyo valor no cambie. En una base de datos con

varias tablas, la clave principal de una tabla se puede utilizar como referencia en las demás

tablas. Si la clave principal cambia, el cambio debe aplicarse también a todos los lugares

Page 44: Relaciones de access

donde se haga referencia a la clave. Usar una clave principal que no cambie reduce la

posibilidad de que se pierda su sincronización con las otras tablas en las que se hace

referencia a ella.

A menudo, se utiliza como clave principal un número único arbitrario. Por ejemplo, puede

asignar a cada pedido un número de pedido distinto. La única finalidad de este número de

pedido es identificar el pedido. Una vez asignado, nunca cambia.

Si piensa que no hay ninguna columna o conjunto de columnas que pueda constituir una

buena clave principal, considere la posibilidad de utilizar una columna que tenga el tipo de

datos Autonumérico. Cuando se utiliza el tipo de datos Autonumérico, Access asigna

automáticamente un valor. Este tipo de identificador no es "fáctico", es decir, no contiene

información objetiva sobre la fila que representa. Los identificadores de este tipo son

perfectos para usarlos como claves principales, ya que no cambian. Una clave principal que

contiene datos sobre una fila, como un número de teléfono o el nombre de un cliente, es

más probable que cambie, ya que la propia información "fáctica" podría cambiar.

1. Una columna establecida en el tipo de datos Autonumérico suele constituir una buena

clave principal. No hay dos identificadores de producto iguales.

En algunos casos, tal vez considere conveniente utilizar dos o más campos juntos como

clave principal de una tabla. Por ejemplo, una tabla Detalles de pedidos que contenga

artículos de línea de pedidos tendría dos columnas en su clave principal: Id. de pedido e Id.

de producto. Cuando una clave principal está formada por más de una columna se denomina

clave compuesta.

Para la base de datos de ventas de productos, puede crear una columna autonumérica para

cada una de las tablas que funcione como clave principal: IdProducto para la tabla

Productos, IdPedido para la tabla Pedidos, IdCliente para la tabla Clientes e IdProveedores

para la tabla Proveedores.

Page 45: Relaciones de access

Volver al principio

Crear relaciones entre las tablas

Ahora que ha dividido la información en tablas necesita un modo de reunir de nuevo la

información de forma provechosa. Por ejemplo, el siguiente formulario incluye información

de varias tablas.

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

Page 46: Relaciones de access

2. ...la tabla Empleados...

3. ...la tabla Pedidos...

4. ...la tabla Productos...

5. ...y la tabla Detalles de pedidos.

Access es un sistema de administración de bases de datos relacionales. En una base de datos

relacional, la información se divide en tablas distintas en función del tema. A continuación,

se utilizan relaciones entre las tablas para reunir la información según se precise.

Volver al principio

Crear una relación de uno a varios

Considere este ejemplo: las tablas Proveedores y Productos de la base de datos de pedidos

de productos. Un proveedor puede suministrar cualquier número de productos y, por

consiguiente, para cada proveedor representado en la tabla Proveedores, puede haber

muchos productos representados en la tabla Productos. La relación entre la tabla

Proveedores y la tabla Productos es, por tanto, 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 columna o columnas adicionales a

la tabla en el lado "varios" de la relación. En este caso, por ejemplo, agregaría la columna

Id. de proveedor de la tabla Proveedores a la tabla Productos. Access utilizaría entonces el

número de identificador de proveedor de la tabla Productos para localizar el proveedor

correcto de cada producto.

Page 47: Relaciones de access

La columna Id. de proveedor de la tabla Productos se denomina clave externa. Una clave

externa es la clave principal de otra tabla. La columna Id. de proveedor de la tabla

Productos en una clave externa porque también es la clave principal en la tabla Proveedores.

El punto de partida para la unión de tablas relacionadas se proporciona estableciendo

parejas de claves principales y claves externas. Si no está seguro de las tablas que deben

compartir una columna común, al identificar una relación de uno a varios se asegurará de

que las dos tablas implicadas requerirán una columna compartida.

Volver al principio

Crear una relación de varios a varios

Considere la relación entre la tabla Productos y la 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. Y 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

entre las tablas, es importante que considere ambas partes de la relación.

Los temas de las dos tablas (pedidos y productos) tienen una relación de varios a varios.

Esto presenta un problema. Para comprender el problema, imagine qué sucedería si intenta

crear la relación entre las dos tablas agregando el campo Id. de producto a la tabla Pedidos.

Para que haya más de un producto por pedido, necesita más de un registro en la tabla

Pedidos para cada pedido y, en ese caso, tendría que repetir la información de pedido para

Page 48: Relaciones de access

cada fila relacionada con un único pedido, lo que daría lugar a un diseño ineficaz que podría

producir datos inexactos. El mismo problema aparece si coloca el campo Id. de pedido en la

tabla Productos: tendría varios registros en la tabla Productos para cada producto. ¿Cómo se

soluciona este problema?

La solución a este problema consiste en crear una tercera tabla que descomponga la relación

de varios a varios en dos relaciones de uno a varios. Insertaría la clave principal de cada una

de las dos tablas en la tercera tabla y, por consiguiente, la tercera tabla registraría todas las

apariciones o instancias de la relación.

Cada registro de la tabla Detalles de pedidos representa un artículo de línea de un pedido.

La clave principal de la tabla Detalles de pedidos consta de dos campos: las claves externas

de las tablas Pedidos y Productos. El campo Id. de pedido no se puede utilizar en solitario

como clave principal, ya que un pedido puede tener varios artículos de línea. El

identificador de pedido se repite para cada artículo de línea del pedido, por lo que el campo

no contiene valores únicos. Tampoco serviría utilizar solamente el campo Id. de producto,

porque un producto puede aparecer en varios pedidos. Pero los dos campos juntos producen

un valor exclusivo para cada registro.

En la base de datos de ventas de productos, la tabla Pedidos y la tabla Productos no se

relacionan directamente entre sí, sino indirectamente a través de la tabla Detalles de

pedidos. La relación de varios a varios entre los pedidos y los productos se representa en la

base de datos mediante dos relaciones de uno a varios:

La tabla Pedidos y la tabla Detalles de pedidos tienen una relación de uno a varios. Cada

pedido tiene varios artículos de línea, pero cada artículo está asociado a un único pedido.

La tabla Productos y la tabla Detalles de pedidos tienen una relación de uno a varios. Cada

producto puede tener varios artículos asociados, pero cada artículo de línea hace referencia

únicamente a un producto.

Page 49: Relaciones de access

Desde la tabla Detalles de pedidos puede determinar todos los productos de un determinado

pedido, así como todos los pedidos de un determinado producto.

Después de incorporar la tabla Detalles de pedidos, la lista de tablas y campos sería similar

a la siguiente:

Volver al principio

Crear una relación de uno a uno

Otro tipo de relación es la relación de uno a uno. Suponga, por ejemplo, que necesita

registrar información complementaria sobre productos que apenas va a necesitar o que sólo

se aplica a unos pocos productos. Como no necesita la información con frecuencia, y como

almacenar la información en la tabla Productos crearía un espacio vacío para todos los

productos que no necesitan esa información, la coloca en una tabla distinta. Al igual que en

la tabla Productos, utiliza el identificador de producto como clave principal. La relación

entre esta tabla complementaria y la tabla Productos es una relación de uno a uno. Para cada

registro de la tabla Productos hay un único registro coincidente en la tabla complementaria.

Cuando identifique esta relación, ambas tablas deben compartir un campo común.

Cuando necesite crear una relación de uno a uno en la base de datos, considere si puede

incluir la información de las dos tablas en una tabla. Si no desea hacer eso por algún motivo

(quizás porque se crearía una gran cantidad de espacio vacío), puede representar esa

relación en su diseño guiándose por las pautas siguientes:

Page 50: Relaciones de access

Si las dos tablas tienen el mismo tema, probablemente podrá definir la relación utilizando la

misma clave principal en ambas tablas.

Si las dos tablas tienen temas diferentes con claves principales distintas, elija una de las tablas

(cualquiera de ellas) e inserte su clave principal en la otra tabla como clave externa.

Determinar las relaciones entre las tablas le ayudará a asegurarse de que tiene las tablas y

columnas correctas. Cuando existe una relación de uno a uno o de uno a varios, las tablas

implicadas deben compartir una o varias columnas comunes. Cuando la relación es de

varios a varios, se necesita una tercera tabla para representar la relación.

Volver al principio

Ajustar el diseño

Cuando tenga las tablas, los campos y las relaciones necesarias, debe crear y rellenar las

tablas con datos de ejemplo y probar que funcionan con la información: creando consultas,

agregando nuevos registros, etc. Esto le permitirá encontrar posibles problemas, como la

necesidad de agregar una columna que olvidó insertar durante la fase de diseño, o dividir

una tabla en dos tablas para eliminar datos duplicados.

Compruebe si puede usar la base de datos para obtener las respuestas que desea. Cree

formularios e informes provisionales y compruebe si muestran los datos según lo previsto.

Compruebe si existen datos duplicados innecesarios y, si encuentra alguno, modifique el

diseño para eliminar la duplicación.

Cuando pruebe la base de datos inicial, probablemente se dará cuenta de que se puede

mejorar. Éstas son algunas comprobaciones que puede hacer:

¿Olvidó incluir alguna columna? Y, en ese caso, ¿pertenece la información a alguna de las

tablas existentes? Si se trata de información sobre otro tema, tal vez necesite crear otra tabla.

Cree una columna para cada elemento de información que desee registrar. Si la información

no se puede calcular a partir de otras columnas, es probable que necesite una nueva columna

para esa información.

¿Hay alguna columna innecesaria porque se puede calcular con los campos existentes? Si un

elemento de información se puede calcular a partir de otras columnas existentes (como un

descuento calculado a partir del precio de venta al público), normalmente es preferible que se

calcule en lugar de crear una nueva columna.

¿Ha proporcionada información duplicada en alguna de las tablas? Si es así, probablemente

tendrá que dividir la tabla en dos tablas que tengan una relación de uno a varios.

¿Tiene tablas con muchos campos, un número limitado de registros y muchos campos vacíos

en cada registro? En ese caso, considere la posibilidad de volver a diseñar la tabla de forma

que tenga menos campos y más registros.

¿Ha dividido cada elemento de información en sus partes lógicas más pequeñas? Si necesita

generar informes, ordenar, buscar o calcular a partir de un elemento de información, incluya

ese elemento en su propia columna.

Page 51: Relaciones de access

¿Contiene cada columna datos sobre el tema de la tabla? Si una columna no contiene

información sobre el tema de la tabla, pertenece a una tabla distinta.

¿Están representadas todas las relaciones entres las tablas mediante campos comunes o

mediante una tercera tabla? Las relaciones de uno a uno y de uno a varios requieren columnas

comunes. Las relaciones de varios a varios requieren una tercera tabla.

Ajustar la tabla Productos

Suponga que cada producto de la base de datos de ventas de productos pertenece a una

categoría general, como bebidas, condimentos o marisco. La tabla Productos podría incluir

un campo que mostrara la categoría de cada producto.

Suponga que después de examinar y ajustar el diseño de la base de datos, decide almacenar

una descripción de la categoría junto con su nombre. Si agrega un campo Descripción de

categoría a la tabla Productos, tendría que repetir la descripción de cada categoría para cada

producto perteneciente a dicha categoría, lo cual no es una buena solución.

Una solución mejor es convertir las categorías en un nuevo tema de la base de datos, con su

propia tabla y su propia clave principal. A continuación, puede agregar la clave principal de

la tabla Categorías a la tabla Productos como clave externa.

Las tablas Categorías y Productos tienen una relación de uno a varios: una categoría puede

incluir varios productos, pero un producto pertenece únicamente a una categoría.

Cuando examine las estructuras de las tablas, compruebe si existen grupos extensibles. Por

ejemplo, considere una tabla con las siguientes columnas:

Id. de producto

Nombre

Id1 de producto

Nombre1

Id2 de producto

Nombre2

Id3 de producto

Nombre3

Aquí, cada producto es un grupo extensible de columnas que se diferencia de los demás

solamente por el número agregado al final del nombre de columna. Si tiene columnas

numeradas de esta forma, debe revisar el diseño.

Un diseño como éste tiene varios defectos. Para empezar, obliga a crear un límite máximo

de número de productos. En cuanto supere ese límite, deberá agregar un nuevo grupo de

columnas a la estructura de la tabla, lo que supone una tarea administrativa importante.

Page 52: Relaciones de access

Otro problema es que se malgastará el espacio en aquellos proveedores que tengan menos

que el número máximo de productos, ya que las columnas adicionales quedarán en blanco.

El defecto más grave de este diseño es que muchas tareas son difíciles de realizar, como

ordenar o indizar la tabla por identificador de producto o nombre.

Siempre que aparezcan grupos extensibles, revise atentamente el diseño con vistas a dividir

la tabla en dos. En el ejemplo anterior, sería conveniente usar dos tablas, una para

proveedores y otra para productos, vinculadas por el identificador de proveedor.

Volver al principio

Aplicar las reglas de normalización

En el siguiente paso del diseño, puede aplicar las reglas de normalización de datos

(denominadas a veces simplemente reglas de normalización). Estas reglas sirven para

comprobar si las tablas están estructuradas correctamente. El proceso de aplicar las reglas al

diseño de la base de datos se denomina normalizar la base de datos o, simplemente,

normalización.

La normalización es más útil una vez representados todos los elementos de información y

después de haber definido un diseño preliminar. La idea es asegurarse de que se han

dividido los elementos de información en las tablas adecuadas. Lo que la normalización no

puede hacer es garantizar que se dispone de los elementos de datos correctos para empezar a

trabajar.

Las reglas se aplican consecutivamente en cada paso para garantizar que el diseño adopta lo

que se conoce como "forma normal". Hay cinco formas normales ampliamente aceptadas:

de la primera forma normal a la quinta forma normal. En este artículo se abordan las tres

primeras, porque todas ellas son necesarias para la mayoría de los diseños de base de datos.

Primera forma normal

La primera forma normal establece que en cada intersección de fila y columna de la tabla

existe un valor y nunca una lista de valores. Por ejemplo, no puede haber un campo

denominado Precio en el que se incluya más de un precio. Si considera cada intersección de

filas y columnas como una celda, cada celda sólo puede contener un valor.

Segunda forma normal

La segunda forma normal exige que cada columna que no sea clave dependa por completo

de toda la clave principal y no sólo de parte de la clave. Esta regla se aplica cuando existe

una clave principal formada por varias columnas. Suponga, por ejemplo, que existe una

tabla con las siguientes columnas, de las cuales Id. de pedido e Id. de producto forman la

clave principal:

Page 53: Relaciones de access

Id. de pedido (clave principal)

Id. de producto (clave principal)

Nombre de producto

Este diseño infringe los requisitos de la segunda forma normal, porque Nombre de producto

depende de Id. de producto, pero no de Id. de pedido, por lo que no depende de toda la clave

principal. Debe quitar Nombre de producto de la tabla, ya que pertenece a una tabla

diferente (a la tabla Productos).

Tercera forma normal

La tercera forma normal exige no sólo que cada columna que no sea clave dependa de toda

la clave principal, sino también que las columnas que no sean clave sean independientes

unas de otras.

O dicho de otra forma: cada columna que no sea clave debe depender de la clave principal y

nada más que de la clave principal. Por ejemplo, considere una tabla con las siguientes

columnas:

IdProducto (clave principal)

Nombre

PVP

Descuento

Suponga que la columna Descuento depende del precio de venta al público (PVP) sugerido.

Esta tabla infringe los requisitos de la tercera forma normal porque una columna que no es

clave, la columna Descuento, depende de otra columna que no es clave, la columna PVP. La

independencia de las columnas implica que debe poder cambiar cualquier columna que no

sea clave sin que ninguna otra columna resulte afectada. Si cambia un valor en el campo

PVP, la columna Descuento cambiaría en consecuencia e infringiría esa regla. En este caso,

la columna Descuento debe moverse a otra tabla cuya clave sea PVP.

Volver al principio

Para obtener más información

Para obtener más información sobre los principios básicos de diseño de una tabla, vea el

artículoCrear tablas en una base de datos.

Para obtener información adicional sobre el diseño de la base de datos, vea los libros

siguientes:

Hernandez, Michael J. Database Design for Mere Mortals: A Hands-On Guide to Relational

Database Design, Second Edition. Addison-Wesley Professional. 2003.

Page 54: Relaciones de access

Fleming, Candace C. von Halle, Barbara. Handbook of Relational Database

Design. Addison-Wesley Professional. 1989.

Riordan, Rebecca M. Designing Effective Database Systems. Addison-Wesley Professional.

2005.

Información sobre la estructura de una base de datos de Access

Familiarizarse con las tablas, formularios, consultas y otros objetos de una base de datos

puede facilitar la realización de una amplia variedad de tareas, como introducir datos en un

formulario, agregar o quitar tablas, buscar y reemplazar datos y ejecutar consultas.

En este artículo se proporciona información general básica de la estructura de una base de

datos de Microsoft Office Access. También se explica cómo, cuándo y por qué utilizar cada

herramienta.

¿Qué desea hacer?

Comprender los conceptos básicos de una base de datos de Access

Ver los detalles relativos a los objetos de una base de datos

Explorar una tabla en la vista Diseño

Ver las relaciones entre tablas

Ver cómo los objetos utilizan otros objetos

Comprender los conceptos básicos de una base de datos de Access

Una base de datos es una colección de información relacionada con un tema u objetivo

concreto, como el seguimiento de pedidos de clientes o el mantenimiento de una colección

de música. Si la base de datos no está almacenada en un equipo, o sólo lo están partes de la

misma, es posible que tenga que hacer el seguimiento de la información en diversos

orígenes que tendrá que coordinar y organizar.

Por ejemplo, supongamos que los números de teléfono de sus proveedores están

almacenados en diversas ubicaciones: en un archivo de tarjetas que contiene los números de

teléfono de los proveedores, en archivos de información de los productos, en un archivador

y en una hoja de cálculo que contiene información de pedidos. Si cambia el número de

teléfono de un proveedor, tendría que actualizar la información en los tres sitios. En una

base de datos de Access bien diseñada, el número de teléfono se almacena sólo una vez, de

modo que sólo tiene que actualizar esa información en un lugar. Como resultado, al

Page 55: Relaciones de access

actualizar el número de teléfono de un proveedor, se actualiza automáticamente en

cualquier lugar que lo utilice en la base de datos.

Archivos de base de datos de Access

Puede utilizar Access para administrar todos sus datos en un solo archivo. Dentro de un

archivo de base de datos de Access, puede utilizar:

Tablas para almacenar los datos.

Consultas para buscar y recuperar exactamente los datos que desee.

Formularios para ver, agregar y actualizar datos en las tablas.

Informes para analizar o imprimir los datos con un diseño específico.

1. Guardar una vez los datos en una tabla, pero verlos desde varias ubicaciones. Cuando se

actualizan los datos, se actualizan automáticamente en cualquier lugar que aparezcan.

2. Recuperar datos mediante una consulta.

3. Ver o introducir datos mediante un formulario.

4. Visualizar o imprimir datos mediante un informe.

Todos estos elementos: tablas, consultas, formularios e informes son objetos de base de

datos.

NOTA Algunas bases de datos de Access contienen vínculos a tablas que están

almacenadas en otras bases de datos. Por ejemplo, puede tener una base de datos de Access

Page 56: Relaciones de access

que no contenga nada más que tablas y otra base de datos de Access que contenga vínculos

a esas tablas, así como consultas, formularios e informes basados en las tablas vinculadas.

En la mayoría de los casos, no tiene importancia si se trata de una tabla vinculada o si está

realmente almacenada en la base de datos.

Tablas y relaciones

Para almacenar los datos, se crea una tabla para cada tipo de información del que se hace un

seguimiento. Los tipos de información podrían incluir información de los clientes,

productos y otros detalles. Para reunir los datos procedentes de varias tablas en una

consulta, formulario o informe, hay que definir las relaciones entre las tablas.

1. La información de los clientes que una vez existió en una lista de direcciones, ahora está

ubicada en la tabla Clientes.

2. La información de pedidos que una vez estuvo en una hoja de cálculo, ahora está ubicada

en la tabla Pedidos.

3. Un identificador exclusivo, como un Id. del cliente, distingue un registro de otro dentro

de una tabla. Al agregar un campo de identificador exclusivo de una tabla a otra tabla y

definir una relación entre los dos campos, Access puede hacer coincidir los registros

relacionados de ambas tablas para que pueda reunirlos en un formulario, informe o consulta.

Consultas

Page 57: Relaciones de access

Una consulta puede ayudarle a recuperar los datos que cumplen las condiciones que

especifique, incluidos los datos de varias tablas. También puede utilizar una consulta para

actualizar o eliminar varios registros a la vez y realizar cálculos predefinidos o

personalizados con los datos.

1. La tabla Clientes tiene información sobre los clientes.

2. La tabla Pedidos tiene información sobre los pedidos de los clientes.

3. Esta consulta recupera el Id. de pedido y los datos de la fecha que se requiere de la tabla

Pedidos y el nombre de la compañía y los datos de la ciudad de la tabla Clientes. La

consulta sólo devuelve los pedidos que se requerían en abril y sólo para los clientes con

sede en Londres.

Formularios

Se puede utilizar un formulario para ver, introducir o cambiar los datos de filas de una en

una fácilmente. También se puede utilizar un formulario para realizar otras acciones, como

enviar datos a otra aplicación. Los formularios contienen normalmente controles que están

vinculados a campos subyacentes de las tablas. Al abrir un formulario, Access recupera los

datos de una o más tablas y los muestra en el diseño que haya elegido al crear el formulario.

Puede crear un formulario mediante uno de los comandos Formulario de la cinta de

opciones, el Asistente para formularios, o crear su propio formulario en la vista Diseño.

Page 58: Relaciones de access

1. Las tablas muestran muchos registros al mismo tiempo, pero es posible que tenga que

desplazarse horizontalmente para ver todos los datos de un solo registro. Asimismo, al

visualizar una tabla no puede actualizar los datos de más de una tabla al mismo tiempo.

2. Los formularios se centran en un registro cada vez y pueden mostrar campos de más de

una tabla. También pueden mostrar imágenes y otros objetos.

3. Los formularios pueden tener un botón donde hacer clic para imprimir un informe, abrir

otros objetos o realizar otras tareas automatizadas.

Informes

Los informes se pueden utilizar para analizar rápidamente los datos o presentarlos de una

forma concreta, impresos o en otros formatos. Por ejemplo, puede enviar a un colega un

informe que clasifique los datos y calcule los totales. O puede crear un informe con los

datos de la dirección en un formato para imprimir etiquetas postales.

Page 59: Relaciones de access

1. Utilizar un informe para crear etiquetas postales.

2. Utilizar un informe para mostrar los totales en un gráfico.

3. Utilizar un informe para mostrar los totales calculados.

Ahora que ya conoce la estructura básica de las bases de datos de Access, siga leyendo para

saber cómo utilizar las herramientas integradas para explorar una base de datos de Access

concreta.

Volver al principio

Ver los detalles relativos a los objetos de una base de datos

Una de las mejores formas de conocer una base de datos concreta es utilizar el

Documentador de base de datos para crear un informe con información detallada de los

objetos de la base de datos. Primero tiene que elegir qué objetos se describirán en el

informe. Cuando ejecute el Documentador de base de datos, su informe contendrá todos los

datos sobre los objetos de la base de datos que haya elegido.

1. Abra la base de datos que desee documentar.

2. En la ficha Herramientas de base de datos, en el grupo Analizar, haga clic

enDocumentador de base de datos.

3. En el cuadro de diálogo Documentador, haga clic en la ficha que representa el tipo de

objeto de base de datos que desea documentar. Para crear un informe sobre todos los

objetos de una base de datos, haga clic en la ficha Todos los tipos de objetos.

4. Seleccione uno o más objetos de los que se enumeran en la ficha. Para seleccionar todos los

objetos de una ficha, haga clic en Seleccionar todo.

5. Haga clic en Aceptar.

Page 60: Relaciones de access

El Documentador de base de datos crea un informe que contiene datos detallados para cada

objeto seleccionado y, a continuación, abre el informe en Vista preliminar. Por ejemplo, si

ejecuta el Documentador de base de datos en un formulario de entrada de datos, el informe

creado por el Documentador enumera las propiedades del formulario como un todo, las

propiedades de cada una de las secciones del formulario y las propiedades de todos los

botones, etiquetas, cuadros de texto y otros controles del formulario, además de todos los

módulos de código y permisos de usuario que estén asociados con el formulario.

6. Para imprimir el informe, en la ficha Vista preliminar, en el grupo Imprimir, haga clic

enImprimir.

Volver al principio

Explorar una tabla en la vista Diseño

Abrir una tabla en la vista Diseño le ofrece una visualización detallada de la estructura de la

tabla. Por ejemplo, puede encontrar la configuración del tipo de datos para cada campo,

encontrar las máscara de entrada o ver si la tabla utiliza campos de búsqueda, es decir,

campos que utilizan consultas para extraer datos de otras tablas. Esta información es útil

porque los tipos de datos y las máscaras de entrada pueden afectar a su capacidad para

encontrar datos y ejecutar consultas de actualización. Por ejemplo, supongamos que desea

utilizar una consulta de actualización para actualizar campos concretos de una tabla

copiando datos en campos similares desde otra tabla. La consulta no se ejecutará si los tipos

de datos de cada uno de los campos de las tablas de origen y destino no coinciden.

1. Abra la base de datos que desee analizar.

2. En el panel de exploración, haga clic con el botón secundario en la tabla que desee explorar

y, a continuación, haga clic en Vista Diseño o en el menú contextual.

3. Cuando sea necesario, observe el nombre de cada campo de tabla y el tipo de datos

asignados a cada campo.

El tipo de datos asignado a un campo puede limitar el tamaño y el tipo de datos que los

usuarios pueden introducir en un campo. Por ejemplo, los usuarios pueden estar limitados a

20 caracteres en un campo de texto y no pueden introducir datos de texto en un campo

establecido en el tipo de datos Número.

4. Para determinar si un campo es un campo de búsqueda, haga clic en la ficha Búsqueda de

la parte inferior de la cuadrícula de diseño de la tabla, bajo Propiedades de campo.

Los campos de búsqueda muestran un conjunto de valores (uno o más campos, como

nombre y apellidos), pero normalmente almacenan un conjunto diferente de valores (un

campo, como un Id. numérico). Por ejemplo, un campo de búsqueda puede almacenar el

número de Id. de un empleado (valor almacenado), pero muestra el nombre del empleado

(valor mostrado). Cuando utilice un campo de búsqueda en expresiones o en operaciones de

buscar y reemplazar, utilice el valor almacenado, no el valor mostrado. Familiarizarse con

Page 61: Relaciones de access

los valores almacenados y mostrados de un campo de búsqueda es la mejor forma de

asegurarse de que una expresión o una operación de buscar y reemplazar que utiliza el

campo de búsqueda funciona de la manera esperada.

La siguiente ilustración muestra un campo de búsqueda típico. Recuerde que la

configuración que ve en la propiedad Origen de la fila del campo variará.

El campo de búsqueda que se muestra aquí utiliza una consulta para recuperar datos de otra

tabla. También puede ver otro tipo de campo de búsqueda, denominado lista de valores, que

utiliza una lista de opciones que no se pueden modificar. Esta ilustración muestra una lista

de valores típicos.

De manera predeterminada, las listas de valores utilizan el tipo de datos Texto.

La mejor forma de encontrar listas de búsqueda y valores es mostrar la ficha Búsqueda y, a

continuación, hacer clic en las entradas de la columna Tipo de datos para cada campo de la

tabla. Para obtener más información sobre la creación de campos de búsqueda y listas de

valores, utilice los vínculos de la sección Vea también.

Volver al principio

Ver las relaciones entre tablas

Para ver una representación gráfica de las tablas de una base de datos, los campos de cada

tabla y las relaciones entre esas tablas, utilice la ficha del objeto Relaciones. La ficha del

objetoRelaciones proporciona una imagen general de la tabla y la estructura de relaciones

de una base de datos, información crucial cuando necesite crear o cambiar las relaciones

entre tablas.

NOTA También puede utilizar la ficha del objeto Relaciones para agregar, cambiar o

eliminar relaciones.

Page 62: Relaciones de access

Abra la base de datos que desee analizar.

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

enRelaciones..

Aparecerá la ficha del objeto Relaciones y le mostrará las relaciones entre todas las tablas

de la base de datos abierta.

Para obtener más información sobre relaciones de tablas, utilice los vínculos de la

sección Vea también.

Volver al principio

Ver cómo los objetos utilizan otros objetos

El panel Dependencias del objeto ilustra cómo los objetos de la base de datos, como tablas,

formularios, consultas e informes interactúan con otros objetos o dependen de otros objetos.

Puede utilizar el panel Dependencias del objeto para evitar eliminar accidentalmente

orígenes de registros. Por ejemplo, supongamos que tiene una consulta Pedidos trimestrales

en una base de datos Ventas y que ya no necesita la consulta. Antes de eliminar la consulta,

debe averiguar si los demás objetos de la base de datos, como un formulario o un informe,

utilizan la consulta como origen de datos. Puede modificar los objetos dependientes para

quitar las referencias a la consulta o puede eliminar los objetos dependientes junto con la

consulta. Ver una lista completa de los objetos dependientes puede ayudarle a ahorrar

tiempo al eliminar la necesidad de comprobar manualmente las propiedades de los objetos y

reducir al mínimo los errores al encontrar detalles que una auditoría manual podría pasar

por alto.

Cuando desee cambiar el diseño de un objeto de una base de datos, el panel Dependencias

del objeto también puede serle útil al mostrar cómo otros objetos se verán afectados por el

cambio de diseño. Debe utilizar el panel Dependencias del objeto para planear cambios de

diseño importantes.

Utilizar el panel Dependencias del objeto

1. Abra la base de datos que desee investigar.

2. En el Panel de exploración, seleccione o abra una tabla, formulario, informe o consulta.

Page 63: Relaciones de access

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

enDependencias del objeto.

4. Si la aplicación se lo pide, haga clic en Aceptar para actualizar la información de

dependencias.

Aparecerá el panel Dependencias del objeto.

5. Para ver una lista de los objetos que utilizan el objeto que seleccionó en el paso 2, haga clic

en Objetos que dependen de mí en la parte superior del panel. Para ver una lista de los

objetos que utiliza el objeto seleccionado, haga clic en Objetos de los que dependo.

6. Para ver la información de dependencia de un objeto, haga clic en el icono de expansión (+)

junto al objeto. Access muestra hasta cuatro niveles de dependencias para un objeto.

Recuerde lo siguiente al utilizar el panel Dependencias del objeto:

La información de dependencia está disponible sólo si tiene permisos para abrir un objeto en

la vista Diseño.

El panel no muestra información de macros y módulos de código.

El panel sólo funciona para tablas, formularios, informes y consultas, a excepción de los

siguientes tipos de consultas:

Page 64: Relaciones de access

o Consultas de acción: consultas que insertan, actualizan o eliminan datos

o Consultas específicas de SQL, incluidas las consultas de unión, consultas de definición de

datos y consultas de paso a través

o Subconsultas

Cuando Access detecta consultas anidadas, sólo se genera información de dependencia para la

consulta más exterior. Esta regla también se aplica a las tablas y consultas de origen de la hoja

secundaria de datos de una consulta y a los campos de búsqueda.

Access genera información de dependencia buscando las asignaciones de nombres que

mantiene la función Autocorrección de nombres: función que corrige automáticamente los

efectos secundarios comunes que se producen cuando se cambia el nombre de formularios,

informes, tablas, consultas, campos o controles en formularios e informes. Si la opción

Registrar información de Autocorrección de nombres está desactivada, se le pedirá que la

active antes de poder ver la información de dependencia.