12.212 cursos gratis
8.338.747 alumnos
Facebook Twitter YouTube
Busca cursos gratis:

Microsoft Access 2000

Autor: Jose Cracco
Curso:
9,04/10 (25 opiniones) |57671 alumnos|Fecha publicación: 11/07/2005
Envía un mensaje al autor

Capítulo 87:

 Las relaciones generales de la base de datos

En lugar de crear combinaciones entre tablas dentro de la consulta, podemos definir estas relaciones en forma general para toda la base de datos. Las relaciones así definidas permiten un mayor grado de control de la integridad y la coherencia de los datos de las tablas entre sí. Para crear estas relaciones generales procederemos como sigue:

1. Traigamos al frente el cuadro de diálogo Base de datos.

2. Pulsemos el botón Relaciones Las relaciones generales de la base de datos . Se presentará el cuadro de Relaciones de la base de datos (similar a la de la figura 6.9, pero sin contenido por ahora).

Las relaciones generales de la base de datos

Figura 6.9

3. Arrastremos desde el cuadro Tablas de Base de datos hasta este cuadro de relaciones, a aquellas tablas a las que queremos asignar una relación (por ejemplo Clientes y Vendedores). Podemos también abrir el cuadro Mostrar tabla con el botón correspondiente y seleccionarlas desde allí.

Notemos que aquí no se crearán relaciones automáticamente, aunque están dadas las condicio-nes para que ello ocurra. A diferencia de las consultas, en este cuadro las relaciones se crean únicamente en forma manual.

4. De la forma que ya sabemos hacerlo, originemos una relación (es decir, arrastrando el campo clave de la tabla relacionada, hacia el campo de relación de la tabla principal o viceversa). Al liberar el botón aparecerá la relación indicada y se presentará el cuadro de la figura 6.10.

Las relaciones generales de la base de datos

Figura 6.10

5. Pulsemos Crear, con lo que se cerrará este cuadro y quedará establecida la presente como relación general de la base de datos (se muestra en la figura 6.9).

El cuadro (figura 6.10) nos muestra nuevas opciones, que no habíamos visto en las relacio-nes de la consulta. Estas opciones, llamadas de Integridad referencial, se encuentran inicialmen-te inactivas, por lo que la relación recién creada tendrá las mismas características que las que utilizáramos dentro de las consultas. Veremos ahora qué ocurre cuando las activamos.

Qué significa Integridad referencial

De acuerdo a lo que estudiamos hasta ahora, podríamos abrir cualquiera de las tablas y eli-minar o modificar allí cualquiera de sus registros. Si activáramos luego alguna consulta que tuviera definida una relación en la que estén involucrados estos datos modificados y/o eliminados, la misma podría fallar o mostrarnos datos incorrectos.

Por ejemplo, si abrimos la tabla de Vendedores y eliminamos un vendedor, quedarán sin su vendedor algunos registros de Clientes, lo que ocasionará que en la consulta ConsClientes no se muestren los datos de vendedor en algunos registros.

Por otro lado, si abrimos la tabla de Clientes, podremos ingresar cualquier valor en el campo CodVend aunque éste no exista en la tabla correspondiente, lo que ocasionará un efecto similar en la misma consulta.

De este modo, no hay ninguna garantía de que las consultas que utilizan datos relacionados funcionen correctamente. Nos está faltando un control de coherencia.

Cómo garantizar la coherencia de los datos relacionados

Si en esta relación que establecimos para la base de datos, activamos las opciones de Inte-gridad referencial, Access impedirá que se modifique o elimine cualquier dato que pudiera perju-dicar dicha relación.

Dicho en otras palabras, la Integridad referencial controlará que en ambos extremos de la lí-nea de una relación, haya el mismo dato.

La excepción a lo dicho son los valores nulos. Por ejemplo, podemos ingresar en el campo CodVend (el del Cliente) un valor nulo para indicar que ese registro no se encuentra rela-cionado. Para colocar un valor nulo en un nuevo registro dejaremos al campo tal como aparece al crear el registro y, en un registro existente, pulsaremos la tecla Suprimir para eliminar su contenido. En cualquiera de los dos casos el campo quedará vacío.

Para poder activar esta función de Integridad referencial, la relación debe establecerse con la clave principal de la tabla relacionada (lo cual implica que no habrá duplicaciones) y deben co-rresponderse los registros de las tablas involucradas.

Vimos que es posible vincular tablas de otros formatos a una base Access (por ejemplo una tabla externa DBF), y que podemos acceder a estos datos del mismo modo que lo hacemos con las propias tablas de Access, pero aquí viene otra excepción:

No es posible establecer una relación de Integridad referencial con tablas de otros formatos.

Como habremos observado, cuando establecimos combinaciones dentro de la consulta no dispo-níamos de las opciones de integridad que estudiamos aquí. Diremos entonces que para trabajar con verificación de integridad referencial debemos establecer las relaciones en la base de datos y activar las opciones correspondientes en el cuadro de la figura 6.10.

1. Verifiquemos que el contenido del campo CodVend de cada registro de Clientes se corres-ponda con alguno de los vendedores de la tabla Vendedores y luego cerremos ambas tablas.

2. Accedamos al cuadro Relaciones (figura 6.9) y pulsemos doble clic sobre la línea de la rela-ción, para pasar al cuadro de la figura 6.10.

3. Activemos allí la casilla Exigir integridad referencial y pulsemos Crear.

Si apareciera el cartel de la figura 6.11 debemos revisar mejor los datos de la tabla para ve-rificar que cada registro de la tabla Clientes contenga en el campo CodVend un código que exista en la tabla de Vendedores. Corregido este problema repitamos el ejercicio anterior para que la relación sea aceptada (figura 6.12).

Las relaciones generales de la base de datos

Figura 6.11

Notemos que la línea de la relación se ha transformado. El cuadro de la figura 6.12 nos muestra dicho cambio.

Las relaciones generales de la base de datos

Figura 6.12

Este tipo de relación se distingue de las anteriores mediante una simbología particular; en nuestro caso aparece de un lado un símbolo de infinito, el que nos indica que allí (en la tabla de Clientes) puede haber uno, dos o más clientes con el mismo número de vendedor y, en el extremo opuesto, el número 1 nos indica que existe un valor de clave único.

Una vez activa esta función de integridad, Access impedirá que se eliminen registros de la tabla relacionada (si éstos están ligados, mediante alguna relación con integridad referencial, a datos de alguna otra tabla).

De no ser así, la integridad se rompería, debido a que quedarían datos que no encontrarían su clave correspondiente en el otro extremo de la línea de relación.

4. Para comprobarlo, abramos la tabla Vendedores e intentemos eliminar un registro que se encuentre actualmente relacionado a algún cliente (por ejemplo el vendedor 1). Aparecerá un cartel de error (figura 6.13).

Las relaciones generales de la base de datos

Figura 6.13

No tendremos en cambio inconveniente para eliminar un vendedor que no se encuentre re-lacionado a ningún cliente.

5. Agreguemos a Vendedores (la tabla que tenemos abierta) un nuevo vendedor, y luego elimi-némoslo.

Tampoco tendremos inconvenientes en cambiar el vendedor en un registro del cliente Cod-Vend por otro vendedor existente en la tabla.

Nuestras novedades en tu e-mail

Escribe tu e-mail:

Al presionar "Recibir" estás dándote de alta y aceptas las condiciones legales de mailxmail

Cursos similares a Microsoft Access 2000


  • Vídeo
  • Alumnos
  • Valoración
  • Cursos
1. Microsoft Word
Curso breve y sencillo que nos enseñara a manejar en profundidad uno de los... [16/09/05]
83.288  
2. Microsoft Office
El Microsoft Office posee 5 programas o paquetes: Word, Excel, Power Point, Access... [13/06/06]
17.932  
3. Crear webs con Word 2000
Os traigo mi propia experiencia de creación de webs con Word 2000 a través de este... [05/05/05]
5.918  

Capítulos del curso