lunes, 29 de octubre de 2012

Relaciones en Access 2007.

Conceptos básicos sobre relaciones.

C . 88: Bases de datos relacionales:

Una base de datos relacional permite la utilización simultánea de datos procedentes de más de una tabla. Al hacer uso de las relaciones, se evita la duplicidad de datos, ahorrando memoria y espacio en el disco, aumentando la velocidad de ejecución y facilitando al usuario/a el trabajo con tablas.

Para conseguir una correcta base de datos relacional es imprescindible realizar un estudio previo del diseño de la base de datos. Para poder relacionar tablas entre sí se deberá especificar un campo en común que contenga el mismo valor en las dos tablas y dicho campo será clave principal en una de ellas. Las tablas se relacionan de dos a dos, donde una de ellas será la tabla principal (de la que parte relación) y la otra será la tabla secundaria (destino de la relación).

C .87: Tipos de relaciones.

Se pueden distinguir tres tipos de relaciones:
  • Relación Uno a Uno: Cuando un registro de una tabla sólo puede estar relacionado con un único registro de la otra tabla y viceversa. Por ejemplo: tenemos dos tablas una con los datos de diferentes poblaciones y otra con una lista de Alcaldes, una población sólo puede tener un alcalde, y un alcalde lo será únicamente de una población.
  • Relación Uno a Varios: Cuando un registro de una tabla (tabla secundaria) sólo puede estar relacionado con un único registro de la otra tabla (tabla principal) y un registro de la otra tabla (tabla principal) puede tener más de un registro relacionado en la primera tabla (tabla secundaria). Por ejemplo: tenemos dos tablas una con los datos de diferentes poblaciones y otra con los habitantes, una población puede tener más de un habitante, pero un habitante pertenecerá (estará empadronado) en una única población.
  • Relación Varios a Varios: Cuando un registro de una tabla puede estar relacionado con más de un registro de la otra tabla y viceversa. Por ejemplo: tenemos dos tablas una con los datos de clientes y otra con los artículos que se venden en la empresa, un cliente podrá realizar un pedido con varios artículos, y un artículo podrá ser vendido a más de un cliente. 

Las relaciones varios a varios se suelen representar definiendo una tabla intermedia entre las dos tablas. Siguiendo el ejemplo anterior sería definir una tabla líneas de pedido relacionada con clientes y con artículos.

Para crear relaciones en Access 2007 primero deberemos acceder a la ventana Relaciones deberemos hacer clic en el botón Relaciones que se encuentra en la pestaña Herramientas de base de datos.


Aparecerá el cuadro de diálogo Mostrar tabla de la derecha esperando indicarle las tablas que formarán parte de la relación a crear.
Seleccionar una de las tablas que pertenecen a la relación haciendo clic sobre ella, aparecerá dicha tabla remarcada. Hacer clic sobre el botón Agregar. 
Repetir los dos pasos anteriores hasta añadir todas las tablas de las relaciones a crear. Hacer clic sobre el botón Cerrar.



Ahora aparecerá la ventana Relaciones con las tablas añadidas en el paso anterior.


Para crear la relación:

Ir sobre el campo de relación de la tabla principal (en nuestro caso codigo). Pulsar el botón izquierdo del ratón y manteniéndolo pulsado arrastrar hasta el campo numero de la tabla secundaria (aulaClic_Facturas). Soltar el botón del ratón.

Aparecerá el cuadro de diálogo Modificar relaciones siguientes:



En la parte superior deben estar los nombres de las dos tablas relacionadas (aulaClic_clientes y aulaClic_Facturas) y debajo de éstos el nombre de los campos de relación (codigo y numero).

Ojo! siempre deben ser campos que contengan el mismo tipo de información y por lo tanto del mismo tipo.

Observa en la parte inferior el Tipo de relación que se asignará dependiendo de las características de los campos de relación (en nuestro caso uno a varios). Activar el recuadro Exigir integridad referencial haciendo clic sobre éste. Si se desea, se puede activar las casillas Actualizar en cascada los campos relacionados y Eliminar en cascada los registros relacionados.

C. 86: Integridad referencial

La integridad referencial es un sistema de reglas que utiliza Access 2007 para asegurarse que las relaciones entre registros de tablas relacionadas son válidas y que no se borren o cambien datos relacionados de forma accidental. Al exigir integridad referencial en una relación le estamos diciendo a Access 2007 que no nos deje introducir datos en la tabla secundaria si previamente no se ha introducido el registro relacionado en la tabla principal.
Por ejemplo: Tenemos una tabla de habitantes y una tabla de poblaciones, en la tabla Habitantes tengo un campo Poblacion que me indica en qué población vive el habitante, las dos tablas deberían estar relacionadas por el campo Poblacion, en esta relación de tipo uno a varios la tabla Poblaciones es la tabla principal y la tabla Habitantes la secundaria (una población tiene varios habitantes). Si marcamos la casilla Integridad Referencial, no nos dejará asignar a un habitante una población que no exista en la tabla Poblaciones.

La integridad referencial dispone de dos acciones asociadas:

  • Actualizar en cascada los campos relacionados: Hace que cuando se cambie el valor del campo de la tabla principal, automáticamente cambiarán los valores de sus registros relacionados en la tabla secundaria. Por ejemplo: Si cambiamos el nombre de la población Onteniente por Ontinyent en la tabla Poblaciones, automáticamente en la tabla Habitantes, todos los habitantes de Onteniente se cambiarán a Ontinyent.

  • Eliminar en cascada los registros relacionados: Cuando se elimina un registro de la tabla principal se borrarán también los registros relacionados en la tabla secundaria. Por ejemplo: Si borramos la población Onteniente en la tabla Poblaciones, automáticamente todos los habitantes de Onteniente se borrarán de la tabla de Habitantes.

Si no marcamos ninguna de las opciones no nos dejará ni cambiar el nombre de una población ni eliminar una población si ésta tiene habitantes asignados.

Para terminar, hacer clic sobre el botón Crear. Se creará la relación y ésta aparecerá en la ventana Relaciones.

C. 85: Añadir tablas a la ventana Relaciones.

Si ya hemos creado una relación y queremos crear otra pero no se dispone de la tabla en la ventana Relaciones debemos añadir la tabla a la ventana:

Primero nos situamos en la ventana Relaciones haciendo clic en el botón Relaciones en la pestaña Herramientas de base de datos. Para añadir la tabla hacer clic sobre el botón Mostrar tabla en la pestaña Diseño.



Aparecerá el cuadro de diálogo Mostrar tablas estudiado en el apartado anterior.
Añadir las tablas necesarias. Cerrar el cuadro de diálogo.

C.84: Quitar tablas de la ventana Relaciones.

Si queremos eliminar una tabla de la ventana Relaciones:

Primero nos situamos en la ventana Relaciones haciendo clic en el botón Relaciones en la pestaña Herramientas de base de datos.

Después podemos elegir entre:
  • Hacer clic con el botón derecho sobre la tabla y elegir la opción Ocultar tabla del menú contextual que aparecerá.
  • Hacer clic sobre la tabla para seleccionarla y hacer clic en el botón Ocultar tabla en la pestaña Diseño.




C. 83:Modificar relaciones.

Para modificar relaciones ya creadas:

Posicionarse en la ventana Relaciones y elegir entre estas dos formas:
  • Hacer clic con el botón derecho sobre la relación a modificar y elegir la opción Modificar relación... del menú contextual que aparecerá, o bien
  • Hacer clic sobre la relación a modificar y hacer clic en el botón Modificar relaciones que encontrarás en la pestaña Diseño de la banda de opciones.
Se abrirá el cuadro de diálogo Modificar relaciones visto anteriormente. Realizar los cambios deseados. Hacer clic sobre el botón Aceptar. 

C. 82: Eliminar relaciones.

Si lo que queremos es borrar la relación podemos:
  • Hacer clic con el botón derecho sobre la relación a borrar y elegir la opción Eliminar del menú contextual.
  • Hacer clic con el botón izquierdo sobre la relación, la relación quedará seleccionada, y a continuación pulsar la tecla DEL o SUPR.
La relación queda eliminada de la ventana y de la base de datos.

Espero les guste y sea de utilidad! Saludos =)

Fuente: La biblia de Acces 2007.pdf - Material provisto en la clase de Informática.-

No hay comentarios:

Publicar un comentario

Si te gusto mi post o visualizas algún error, no dudes en dejarme tu comentario! Saludos!! =)