2. 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
3. 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:
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
4. ú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
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
5. Considere la relación entre una tabla Productos y una tabla
Pedidos. Un solo pedido puede incluir varios productos. Por
otro lado, un único producto puede aparecer en muchos
pedidos. Por tanto, para cada registro de la tabla Pedidos
puede haber varios registros en la tabla Productos. Además,
para cada registro de la tabla Productos puede haber varios
registros en la tabla Pedidos. Este tipo de relación se
denomina relación de varios a varios porque para un producto
puede haber varios pedidos, y para un pedido puede haber
varios productos. Tenga en cuenta que para detectar las
relaciones de varios a varios existentes entre las tablas, es
importante que considere ambas partes de la relación.
Para representar una relación de varios a varios, debe crear
una tercera tabla, a menudo denominada tabla de unión, que
divide la relación de varios a varios en dos relaciones uno a
varios. Debe insertar la clave principal de cada una de las dos
tablas en la tercera. Como resultado, la tercera tabla registra
cada ocurrencia, o instancia, de la relación. Por ejemplo, la
tabla Pedidos y la tabla Productos tienen una relación varios a
varios que se define mediante la creación de dos relaciones
uno a varios con la tabla Detalles de pedidos. Un pedido
puede incluir muchos productos, y cada producto puede
aparecer en muchos pedidos.
Una relación uno a uno
En una relación uno a uno, cada registro de la primera tabla
sólo puede tener un registro coincidente en la segunda tabla y
viceversa. Este tipo de relación no es común porque, muy a
menudo, la información relacionada de este modo se
almacena en la misma tabla. Puede utilizar la relación uno a
uno para dividir una tabla con muchos campos, para aislar
parte de una tabla por razones de seguridad o para almacenar
información que sólo se aplica a un subconjunto de la tabla
principal. Cuando identifique esta relación, ambas tablas
deben compartir un campo común.
Volver al principio
¿Por qué crear relaciones de tabla?
Puede crear relaciones de tabla explícitamente mediante la ventana
Relaciones, o arrastrando un campo desde el panel Lista de
6. 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
7. continuación, se agregan claves externas a las tablas
relacionadas que hacen referencia a dichas claves principales.
Estos pares de clave principal y clave externa forman la base
de las relaciones de tabla y de las consultas de varias tablas.
Por lo tanto, resulta importante, que dichas referencias de
clave principal y clave externa estén sincronizadas. La
integridad referencial sirve para asegurarse de que las
referencias permanecen sincronizadas y depende de las
relaciones de tabla.
Volver al principio
Descripción de la integridad referencial
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
8. 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.
Volver al principio
Ver relaciones de tabla
Para ver las relaciones de tabla, haga clic en Relaciones en la ficha
Herramientas de base de datos. Se abrirá la ventana Relaciones y
se mostrarán las relaciones existentes. Si aún no se han definido
relaciones de tabla y abre la ventana Relaciones por primera vez,
Access le pedirá que agregue una tabla o consulta a la ventana.
Abra la ventana Relaciones.
1. Haga clic en el botón de Microsoft Office y, a
continuación, haga clic en Abrir.
2. En el cuadro de diálogo Abrir, seleccione y abra la base de
datos.
3. En el grupo Mostrar u ocultar de la ficha Herramientas de
base de datos, haga clic en Relaciones.
9. 4. Si la base de datos contiene relaciones, aparecerá la ventana
Relaciones y se mostrarán las relaciones existentes. Si la
base de datos no contiene relaciones y abre la ventana
Relaciones por primera vez, aparecerá el cuadro de diálogo
Mostrar tabla. Haga clic en Cerrar para cerrar el cuadro de
diálogo.
5. En el grupo Relaciones de la ficha Diseño, haga clic en
Todas las relaciones.
Se mostrarán todas las relaciones definidas en la base de
datos. Observe que las tablas ocultas (las tablas que tienen
activada la casilla de verificación Oculto del cuadro de diálogo
Propiedades de la tabla) y sus relaciones no se mostrarán a
no ser que esté activada la casilla de verificación Mostrar
objetos ocultos en el cuadro de diá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
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
10. 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.
11. Para obtener más información sobre la opción Mostrar tablas
ocultas, vea el artículo Guía del panel de exploración.
Cerrar Cierra la ventana Relaciones. Si realiza algún
cambio en el diseño de la ventana Relaciones, le pedirán que
guarde los cambios.
Volver al principio
Crear una relación de tabla
Se puede crear una relación de tabla mediante la ventana
Relaciones o arrastrando un campo en una hoja de datos desde el
panel Lista de campos. Cuando se crea una relación entre tablas,
los campos comunes no tienen que tener los mismos nombres, si
bien sus nombres suelen coincidir. Sin embargo, dichos campos
tienen que tener el mismo tipo de datos. No obstante, si el campo
de clave principal es un campo Autonumérico, el campo de clave
externa puede ser un campo de tipo Número si la propiedad
Tamaño del campo de ambos campos tiene el mismo valor. Por
ejemplo, puede hacer coincidir un campo Autonumérico y un campo
de tipo Número si la propiedad Tamaño del campo de ambos
campos es Entero largo. Cuando ambos campos comunes son
campos de tipo Número, tienen que tener el mismo valor para la
propiedad Tamaño del campo.
Crear una relación de tabla mediante la ventana Relaciones
1. Haga clic en el botón de Microsoft Office y, a
continuación, haga clic en Abrir.
2. En el cuadro de diálogo Abrir, seleccione y abra la base de
datos.
3. En el grupo Mostrar u ocultar de la ficha Herramientas de
base de datos, haga clic en Relaciones.
4. Si aún no ha definido ninguna relación, aparecerá
automáticamente el cuadro de diálogo Mostrar tabla. Si no
aparece, en la ficha Diseño, en el grupo Relaciones, haga
clic en Mostrar tabla.
12. En el cuadro de diálogo Mostrar tabla se muestran todas las
tablas y consultas de la base de datos. Para ver únicamente
las tablas, haga clic en Tablas. Para ver únicamente las
consultas, haga clic en Consultas. Para ver las tablas y las
consultas, haga clic en Ambas.
5. Seleccione una o varias tablas o consultas y, a continuación,
haga clic en Agregar. Cuando termine de agregar tablas y
consultas a la ventana Relaciones, haga clic en Cerrar.
6. Arrastre un campo (normalmente el campo de clave principal)
de una tabla al campo común (la clave externa) en la otra
tabla. Para arrastrar varios campos, presione la tecla CTRL,
haga clic en cada uno de los campos y, a continuación,
arrástrelos.
Aparecerá el cuadro de diálogo Modificar relaciones.
7. Compruebe que los nombres de campo mostrados son los
campos comunes de la relación. Si un nombre de campo es
incorrecto, haga clic en él y seleccione un nuevo campo de la
lista.
Para exigir la integridad referencial de esta relación, active la
casilla de verificación Exigir integridad referencial. Para
obtener más información sobre la integridad referencial, vea
las secciones Descripción de la integridad referencial y Exigir
integridad referencial.
8. Haga clic en Crear.
Se dibujará una línea de relación entre las dos tablas. Si
activó la casilla de verificación Exigir integridad referencial,
la línea aparecerá más gruesa en los extremos. Además, sólo
si activó la casilla de verificación Exigir integridad
referencial, aparecerá el número 1 sobre la parte 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.
13. Notas
Para crear una relación uno a uno Ambos campos
comunes (normalmente los campos de clave principal y de
clave externa) tienen que tener un índice único. Esto significa
que la propiedad Indexado de estos campos debe tener el
valor Sí (sin duplicados). Si ambos campos tienen un índice
único, Access crea una relación uno a uno.
Para crear una relación uno a varios El campo ubicado en
el lado "uno" de la relación (normalmente, el campo de clave
principal) tiene que tener un índice único. Esto significa que la
propiedad Indexado de este campo debe tener el valor Sí (sin
duplicados). El campo ubicado en el lado "varios" de la
relación no debe tener un índice único. Puede tener un índice,
pero debe permitir los duplicados. Esto significa que la
propiedad Indexado de este campo debe tener el valor No o
Sí (con duplicados). Cuando un campo tiene un índice único
y el otro no, Access crea una relación uno a varios.
Crear una relación de tabla mediante el panel Lista de campos
En Office Access 2007, se puede agregar un campo a una tabla
existente abierta en la vista Hoja de datos arrastrándolo desde el
panel Lista de campos. El panel Lista de campos muestra los
campos disponibles de las tablas relacionadas y también los de
otras tablas. Cuando se arrastra un campo de "otra" tabla (no
relacionada) y, a continuación, se ejecuta el Asistente para
búsquedas, se crea automáticamente una nueva relación uno a
varios entre la tabla en el panel Lista de campos y la tabla a la que
se ha arrastrado el campo. Esta relación, creada por Access, no
14. 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.
15. 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.
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.
16. La línea de relación aparece con mayor grosor cuando está
seleccionada. Con la línea de relación seleccionada, presione
SUPRIMIR. Observe que si se quita una relación, también se quita
la integridad referencial para esa relación si está habilitada. Como
resultado, Access ya no evitará automáticamente la creación de
registros huérfanos en el lado "varios" de una relación.
1. Haga clic en el botón de Microsoft Office y, a
continuación, haga clic en Abrir.
2. En el cuadro de diálogo Abrir, seleccione y abra la base de
datos.
3. En el grupo Mostrar u ocultar de la ficha Herramientas de
base de datos, haga clic en Relaciones.
Aparecerá la ventana Relaciones.
Si aún no ha definido ninguna relación y es la primera vez que
abre la ventana Relaciones, aparecerá el cuadro de diálogo
Mostrar tabla. Si aparece el cuadro de diálogo, haga clic en
Cerrar.
4. En el grupo Relaciones de la ficha Diseño, haga clic en
Todas las relaciones.
Aparecerán todas las tablas que tengan relaciones, mostrando
las líneas de relación.
5. Haga clic en la línea de relación correspondiente a la relación
que desee eliminar. La línea de relación aparece con mayor
grosor cuando está seleccionada.
6. Presione la tecla SUPRIMIR.
O bien,
Haga clic con el botón secundario y, a continuación, haga clic
en Eliminar.
7. Puede que Access muestre el mensaje ¿Confirma que desea
eliminar de forma permanente la relación seleccionada de
la base de datos?. Si aparece este mensaje de confirmación,
haga clic en Sí.
17. 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álogo Modificar relaciones.
Realice sus cambios en el cuadro de diálogo Modificar relaciones
1. Haga clic en el botón de Microsoft Office y, a
continuación, haga clic en Abrir.
2. En el cuadro de diálogo Abrir, seleccione y abra la base de
datos.
3. En el grupo Mostrar u ocultar de la ficha Herramientas de
base de datos, haga clic en Relaciones.
Aparecerá la ventana Relaciones.
Si aún no ha definido ninguna relación y es la primera vez que
abre la ventana Relaciones, aparecerá el cuadro de diálogo
Mostrar tabla. Si aparece el cuadro de diálogo, haga clic en
Cerrar.
4. En el grupo Relaciones de la ficha Diseño, haga clic en
Todas las relaciones.
Aparecerán todas las tablas que tengan relaciones y se
muestran las líneas de relación. Observe que las tablas
ocultas (las tablas que tienen activada la casilla de verificación
18. Oculto en el cuadro de diálogo Propiedades) y las relaciones
no se muestran a menos que se seleccione Mostrar objetos
ocultos en el cuadro de diálogo Opciones de exploración.
Para obtener más información sobre la opción Mostrar objetos
ocultos, vea el artículo Guía del panel de exploración.
5. Haga clic en la línea de relación de la relación que desee
modificar. La línea de relación aparece con mayor grosor
cuando está seleccionada.
6. Haga doble clic en la línea de relación.
O bien,
En el grupo Herramientas de la ficha Diseño, haga clic en
Modificar relaciones.
Aparecerá el cuadro de diálogo Modificar relaciones.
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.
19. 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.
20. Nota En este caso, "izquierda" y "derecha" hacen referencia a la
posición de las tablas en el cuadro de diálogo Modificar relaciones
y no en la ventana Relaciones.
Debe tener en mente el resultado que desea obtener de una
consulta que combine las tablas de esta relación y, a continuación,
configurar el tipo de combinación en consecuencia.
Establecer el tipo de combinación
1. En el cuadro de diálogo Modificar relaciones, haga clic en
Tipo de combinación.
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
21. Cuando selecciona la opción 2 ó 3, se muestra una flecha en la
línea de relación. Esta flecha apunta al lado de la relación en el que
se muestran sólo las filas coincidentes.
Realizar cambios en el cuadro de diálogo Propiedades de la
combinación
1. Haga clic en el botón de Microsoft Office y, a
continuación, haga clic en Abrir.
2. En el cuadro de diálogo Abrir, seleccione y abra la base de
datos.
3. En el grupo Mostrar u ocultar de la ficha Herramientas de
base de datos, haga clic en Relaciones.
Aparecerá la ventana Relaciones.
Si aún no ha definido ninguna relación y es la primera vez que
abre la ventana Relaciones, aparecerá el cuadro de diálogo
Mostrar tabla. Si aparece el cuadro de diálogo, haga clic en
Cerrar.
4. En el grupo Relaciones de la ficha Diseño, haga clic en
Todas las relaciones.
Aparecerán todas las tablas que tengan relaciones, mostrando
las líneas de relación. Observe que las tablas ocultas (las
tablas que tienen activada la casilla de verificación Oculto del
cuadro de diálogo Propiedades de la tabla) y sus 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,
22. 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 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.
23. 2. En el cuadro de diálogo Abrir, seleccione y abra la base de
datos.
3. En el grupo Mostrar u ocultar de la ficha Herramientas de
base de datos, haga clic en Relaciones.
Aparecerá la ventana Relaciones.
Si aún no ha definido ninguna relación y es la primera vez que
abre la ventana Relaciones, aparecerá el cuadro de diálogo
Mostrar tabla. Si aparece el cuadro de diálogo, haga clic en
Cerrar.
4. En el grupo Relaciones de la ficha Diseño, haga clic en
Todas las relaciones.
Aparecerán todas las tablas que tengan relaciones, mostrando
las líneas de relación. Observe que las tablas ocultas (las
tablas que tienen activada la casilla de verificación Oculto
check box in the table's Propiedades dialog box is selected)
and their relationships will not be shown unless Show Hidden
Objects is selected in the Navigation Options dialog box.
Para obtener más información sobre la opción Mostrar objetos
ocultos, vea el artículo Guía del panel de exploración.
5. Haga clic en la línea de relación de la relación que desee
modificar. La línea de relación aparece con mayor grosor
cuando está seleccionada.
6. Haga doble clic en la línea de relación.
O bien,
En el grupo Herramientas de la ficha Diseño, haga clic en
Modificar relaciones.
Aparecerá el cuadro de diálogo Modificar relaciones.
7. Active la casilla de verificación Exigir integridad referencial.
8. Realice cambios adicionales en la relación y, a continuación,
haga clic en Aceptar.
24. 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:
El campo común de la tabla principal debe ser una clave
principal o debe tener un índice único.
Los campos comunes deben tener el mismo tipo de
datos. Hay una excepción: un campo Autonumérico
puede estar relacionado con un campo de tipo Número
cuya propiedad Tamaño del campo tenga el valor
Largo entero.
Ambas tablas deben existir en la misma base de datos
de Access. No se puede exigir la integridad referencial
en las tablas vinculadas. Sin embargo, si las tablas de
origen tienen formato de Access, se puede abrir la base
de datos en las que están almacenadas y habilitar la
integridad referencial en esa base de datos.
Configurar las opciones en cascada
25. 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 en Relaciones.
Aparecerá la ventana Relaciones.
Si aún no ha definido ninguna relación y es la primera vez que
abre la ventana Relaciones, aparecerá el cuadro de diálogo
Mostrar tabla. Si aparece el cuadro de diálogo, haga clic en
Cerrar.
4. En el grupo Relaciones de la ficha Diseño, haga clic en
Todas las relaciones.
26. Aparecerán todas las tablas que tengan relaciones, mostrando
las líneas de relación. Observe que las tablas ocultas (las
tablas que tienen activada la casilla de verificación Oculto del
cuadro de diálogo Propiedades de la tabla) y sus relaciones
no se mostrarán a no ser que esté activada la casilla de
verificación Mostrar objetos ocultos en el cuadro de diálogo
Opciones de exploración.
Para obtener más información sobre la opción Mostrar objetos
ocultos, vea Guía del panel de exploración.
5. Haga clic en la línea de relación de la relación que desee
modificar. La línea de relación aparece con mayor grosor
cuando está seleccionada.
6. Haga doble clic en la línea de relación.
O bien,
En el grupo Herramientas de la ficha Diseño, haga clic en
Modificar relaciones.
Aparecerá el cuadro de diálogo Modificar relaciones.
7. Active la casilla de verificación Exigir integridad referencial.
8. Active la casilla de verificación Actualizar en cascada los
campos relacionados o Eliminar en cascada los registros
relacionados, o bien, active ambas.
9. Realice cambios adicionales en la relación y, a continuación,
haga clic en Aceptar.
Nota Si la clave principal es un campo Autonumérico, la activación
de la casilla de verificación Actualizar en cascada los campos
relacionados no tendrá ningún efecto porque no se puede cambiar
el valor de un campo Autonumérico.
Volver al principio
Se aplica a: Access 2007
¿Le ha sido útil esta información?
Sí No
27. ¿Cómo podemos mejorarlo?
255 caracteres restantes
Para proteger su privacidad, no incluya información de contacto en
sus comentarios. Revisar política de privacidad.
Enviar
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
28. Crear una relación de tabla
Se puede crear una relación de tabla en la ventana Relaciones o
arrastrando un campo hasta una hoja de datos desde el panel Lista
de campos. Cuando se crea una relación entre tablas, los campos
comunes no tienen que tener los mismos nombres, si bien sus
nombres suelen coincidir. Sin embargo, los campos comunes tienen
que tener el mismo tipo de datos. No obstante, si el campo de clave
principal es un campo Autonumérico, el campo de clave externa
también puede ser un campo de tipo Número si la propiedad
Tamaño del campo de ambos campos tiene el mismo valor. Por
ejemplo, puede hacer coincidir un campo Autonumérico y un campo
de tipo Número si la propiedad Tamaño del campo de ambos
campos es Entero largo. Cuando ambos campos comunes son
campos de tipo Número, tienen que tener el mismo valor para la
propiedad Tamaño del campo.
Volver al principio
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álogo Mostrar tabla. Si no
aparece, en la ficha Diseño, en el grupo Relaciones, haga
clic en Mostrar tabla.
En el cuadro de diálogo Mostrar tabla se muestran todas las
tablas y consultas de la base de datos. Para ver únicamente
las tablas, haga clic en Tablas. Para ver únicamente las
consultas, haga clic en Consultas. Para ver ambas, haga clic
en Ambas.
29. 5. Seleccione una o varias tablas o consultas y, a continuación,
haga clic en Agregar. Cuando termine de agregar tablas y
consultas a la ficha de documentos Relaciones, haga clic en
Cerrar.
6. Arrastre un campo (normalmente el campo de clave principal)
de una tabla al campo común (la clave externa) en la otra
tabla. Para arrastrar varios campos, presione la tecla CTRL,
haga clic en cada uno de los campos y, a continuación,
arrástrelos.
Aparece el cuadro de diálogo Modificar relaciones.
7. Compruebe que los nombres de campo mostrados son los
campos comunes de la relación. Si un nombre de campo es
incorrecto, haga clic en él y seleccione el campo apropiado en
la lista.
Para exigir la integridad referencial para esta relación, active
la casilla de verificación Exigir integridad referencial. Para
obtener más información sobre la integridad referencial, vea la
sección Exigir integridad referencial.
Además, vea el artículo Guía de relaciones de tablas.
8. Haga clic en Crear.
Access dibuja una línea de relación entre las dos tablas. Si
activó la casilla de verificación Exigir integridad referencial,
la línea aparece más gruesa en los extremos. Además, sólo si
activó la casilla de verificación Exigir integridad referencial,
aparece el número 1 en la parte gruesa de un extremo de la
30. 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.
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
31. los campos que están disponibles en las otras tablas de la base de
datos. Cuando se arrastra un campo de "otra" tabla (no relacionada)
y, a continuación, se ejecuta el Asistente para búsquedas, se crea
automáticamente una nueva relación uno a varios entre la tabla en
el panel Lista de campos y la tabla a la que se ha arrastrado el
campo. Esta relación, creada por Access, no exige la integridad
referencial de manera predeterminada. Para exigirla, es preciso
modificar la relación. Vea la sección Modificar una relación de tabla
para obtener más información.
Abrir una tabla en la vista Hoja de datos
1. Haga clic en el botón 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.
Aparece el panel Lista de campos.
32. En el panel Lista de campos se muestran todas las otras tablas de
la base de datos agrupadas en categorías. Cuando trabaja con una
tabla en la vista Hoja de datos, Access muestra los campos de
alguna de estas dos categorías en el panel Lista de campos:
Campos disponibles en tablas relacionadas y Campos
disponibles en otras tablas. La primera categoría contiene todas
las tablas que tienen una relación con la tabla con la que se trabaja
actualmente. La segunda categoría contiene todas las tablas con
las que la tabla no tiene ninguna relación.
En el panel Lista de campos, al hacer clic en el signo más (+)
situado junto a un nombre de tabla, aparece una lista de todos los
campos disponibles en esa tabla. Para agregar un campo a la tabla,
arrastre el campo que desee del panel Lista de campos a la tabla
en la vista Hoja de datos.
33. 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.
34. 1. Coloque el cursor de modo que apunte a la línea de relación
y, a continuación, haga clic en la línea para seleccionarla.
La línea de relación aparece con mayor grosor cuando está
seleccionada.
2. Con la línea de relación seleccionada, haga doble clic en ella.
O bien,
En la ficha Diseño, en el grupo Herramientas, haga clic en
Modificar relaciones.
Aparece el cuadro de diálogo Modificar relaciones.
Abrir el cuadro de diálogo Modificar relaciones
1. Haga clic en el botón 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.
35. 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. 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
36. Cuando se define una relación de tabla, los hechos referentes a la
relación determinan el diseño de las consultas. Por ejemplo, si se
define una relación entre dos tablas y, a continuación, se crea una
consulta que use las dos tablas, Access selecciona
automáticamente los campos coincidentes predeterminados
basándose en los campos especificados en la relación. Se pueden
reemplazar los valores predeterminados iniciales en la consulta,
pero los valores proporcionados por la relación suelen ser los
correctos. Dado que va a hacer coincidir y combinar con frecuencia
los datos de varias tablas hasta de las bases de datos más
sencillas, la configuración de valores predeterminados mediante la
creación de relaciones puede ahorrarle tiempo y resultarle
beneficiosa.
Una consulta de varias tablas combina la información de más de
una tabla haciendo coincidir los valores de los campos comunes.
Esta operación se denomina combinación. Por ejemplo,
supongamos que desea mostrar los pedidos de los clientes. Va a
crear una consulta que combine la tabla Clientes y la tabla Pedidos
por el campo Id. de cliente. El resultado de la consulta contiene
información sobre los clientes y los pedidos sólo para las filas en las
que se ha encontrado una coincidencia.
Uno de los valores que se puede especificar para cada relación es
el tipo de combinación, que indica a Access qué registros se van a
incluir en el resultado de una consulta. Por ejemplo, consideremos
de nuevo una consulta que combine la tabla Clientes y la tabla
Pedidos por los campos comunes que representan el Id. de cliente.
Mediante el tipo de combinación predeterminado (denominado
combinación interna), la consulta devolverá únicamente las filas
Cliente y las filas Pedido en las que los campos comunes
(denominados campos combinados) sean iguales.
Sin embargo, supongamos que desea incluir a todos los clientes,
incluso los que aún no han realizado ningún pedido. Para ello,
deberá cambiar el tipo de combinación de una combinación interna
a lo que se denomina una combinación externa izquierda. Este tipo
de combinación devuelve todas las filas de la tabla situada en el
lado izquierdo de la relación y sólo las filas que coinciden con las de
la tabla a la derecha. Una combinación externa derecha devuelve
todas las filas de la derecha y sólo las filas que coinciden con las de
la izquierda.
37. 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
38. Cuando selecciona la opción 2 ó 3, se muestra una flecha en la
línea de relación. Esta flecha apunta al lado de la relación en el que
se muestran sólo las filas coincidentes.
Realizar cambios en el cuadro de diálogo Propiedades de la
combinación
1. Haga clic en el botón de Microsoft Office y, a
continuación, haga clic en Abrir.
2. En el cuadro de diálogo Abrir, seleccione y abra la base de
datos.
3. En el grupo Mostrar u ocultar de la ficha Herramientas de
base de datos, haga clic en Relaciones.
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.
39. 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.
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
40. 1. Haga clic en el botón de Microsoft Office y, a
continuación, haga clic en Abrir.
2. En el cuadro de diálogo Abrir, seleccione y abra la base de
datos.
3. En el grupo Mostrar u ocultar de la ficha Herramientas de
base de datos, haga clic en Relaciones.
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. Active la casilla de verificación Exigir integridad referencial.
41. 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:
El campo común de la tabla principal debe ser una clave
principal o debe tener un índice único.
Los campos comunes deben tener el mismo tipo de
datos. Hay una excepción: un campo Autonumérico
puede estar relacionado con un campo de tipo Número
cuya propiedad Tamaño del campo tenga el valor
Largo entero.
Ambas tablas existen en la misma base de datos de
Access. No se puede exigir la integridad referencial en
las tablas vinculadas. Sin embargo, si las tablas de
origen tienen formato de Access, se puede abrir la base
de datos en las que están almacenadas y habilitar la
integridad referencial en esa base de datos.
42. 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 en Relaciones.
Aparece la ficha de documentos Relaciones.
Si aún no ha definido ninguna relación y ésta es la primera
vez que abre la ficha de documentos Relaciones, aparecerá el
cuadro de diálogo Mostrar tabla. Si aparece, haga clic en
Cerrar.
43. 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. Active la casilla de verificación Exigir integridad referencial.
8. Active la casilla de verificación Actualizar en cascada los
campos relacionados o Eliminar en cascada los registros
relacionados, o bien, active ambas.
9. Realice todos los cambios en la relación y, a continuación,
haga clic en Aceptar.
Nota Si la clave principal es un campo 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
44. 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.
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.
45. 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.
Volver al principio
Se aplica a: Access 2007
¿Le ha sido útil esta información?
Sí No
¿Cómo podemos mejorarlo?
255 caracteres restantes
Para proteger su privacidad, no incluya información de contacto en
sus comentarios. Revisar política de privacidad.
Enviar
¡Gracias por sus comentarios!
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
46. 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.
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
47. información sobre productos, otra con información sobre pedidos y una
tercera con información sobre clientes.
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.
48. 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
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
49. 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.
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.
50. 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.
51. 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
52. 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.
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
53. 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. 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.
54. 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
55. 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
56. 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.
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
57. 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 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.
58. 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.
Volver al principio
Crear relaciones entre las tablas
59. 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...
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
60. 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.
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.
61. 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,
62. 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 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
63. 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.
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: