RELACIONES

EJEMPLO PRACTICO DE RELACIONES

VER ENLACE: []

VER EJEMPLO PRÁCTICO: [] 
 * **Manual de Access** || [[image:http://www.cyta.com.ar/biblioteca/bddoc/bdlibros/manualdeaccess/relaciones_archivos/titleDivider.gif width="13" height="20"]] ||  ||   || [[image:http://www.cyta.com.ar/biblioteca/bddoc/bdlibros/manualdeaccess/relaciones_archivos/transparent.gif width="12" height="1"]] ||
 * [[image:http://www.cyta.com.ar/biblioteca/bddoc/bdlibros/manualdeaccess/relaciones_archivos/transparent.gif width="1" height="1"]] ||

Es común que informaciones de una tabla estén asociadas con informaciones de otras tablas. En este caso podemos establecer una relación entre las dos tablas. Es a través de la relación que el Access consigue, a partir de informaciones en una tabla, obtener informaciones registradas en la otra tabla. Existen tres tipos de relaciones entre dos tablas A y B: uno – a – uno, uno – a – varios, varios – a – varios. 2.1. - Relaciones uno a uno. La relación uno a uno ocurre cuando un registro de la tabla A posee como máximo un registro asociado en la tabla B y un registro de la tabla B posee como máximo un registro asociado en la tabla A. Esta relación está presente en el **//número de gerente/número de empleado//**, entre el **PADRÓN DE DEPARTAMENTOS** y el **PADRÓN DE EMPLEADOS**. Para cada número de gerente identificamos apenas un registro en el **PADRÓN DE EMPLEADOS** y cada funcionario es eventualmente gerente de apenas un departamento. 2.2 - Relaciones uno a varios. La relación uno a varios ocurre cuando un registro de la tabla A puede tener mas de un registro asociado en la tabla B, mientras que, un registro de la tabla B posee como máximo un registro asociado en la tabla A. Esta relación está presente en la **//sigla del departamento//** entre el **PADRÓN DE DEPARTAMENTO**y el **PADRÓN DE EMPLEADOS**. Para cada //sigla// del **PADRÓN DE DEPARTAMENTOS**identificamos varios registros con esta sigla en el **PADRÓN DE EMPLEADOS**, mientras que, para cada sigla en el **PADRÓN DE EMPLEADOS** identificamos como máximo un registro en el**PADRÓN DE DEPARTAMENTOS**. También debe quedar claro que, en principio, podemos tener departamentos sin funcionarios y funcionarios que momentáneamente no están asignados a ningún departamento. 2.3. - Relaciones varios a varios. La relación varios a varios ocurre cuando un registro de la tabla A puede tener mas de un registro asociado en la tabla B y, análogamente, un registro en la tabla B puede tener mas de un registro asociado en la tabla A. Los cargos ocupados por un empleado a lo largo del tiempo constituyen una relación de esta naturaleza. Cada empleado ocupó varios cargos y un cargo fue ocupado por diversos empleados. En esta relación queda inmediatamente aparente que al par **//empleado/cargo//** probablemente estarán asociadas otras informaciones, por ejemplo, la fecha en que el empleado asumió el cargo en cuestión. Relaciones de este tipo varios a varios no pueden ser especificadas directamente en Access. Es necesario la creación de una tabla intermediaria que en nuestro caso podría tener el nombre: **//cargos ocupados//**. Cada registro en esta tabla sería compuesto de tres campos: Número de empleado, Código del cargo y Fecha de admisión a este cargo. Como se observa, se creó una relación uno a varios entre el **PADRÓN DE EMPLEADOS** y el **PADRÓN DE CARGOS OCUPADOS** y, análogamente, otra relación uno a mucho entre el **PADRÓN DE CARGOS Y SALARIOS** y el**PADRÓN DE CARGOS OCUPADOS**. Por lo tanto una relación varios a varios es convertida en dos relaciones una a varios cuando hubiera informaciones asociadas a los pares relacionados. 2.4. - Creación de relaciones. En Access podemos crear **relaciones localizadas**, utilizadas en una consulta especifica, o**relaciones globales** que posiblemente tendrán un uso más general. Relaciones de uso localizado serán vistas mas adelante en el capítulo referente a consultas. Las Relaciones de uso general son útiles porque pueden ser usadas automáticamente en nuevas consultas, facilitan la generación de subformularios y subinformes y permiten un cierto grado de protección en operaciones de actualización al imponerse la integridad referencial para las relaciones como será visto mas adelante. La creación y edición de relaciones es hecha en la ventana __Relaciones__ como muestra la figura 2.1. En esta ventana se muestra el diagrama de relaciones entre las tablas. Para cada tabla son mostrados sus campos y líneas de asociación con campos de otras tablas. Estas líneas representan las relaciones. FIGURA 2.1.Ventana de Relaciones Para exhibir la ventana __Relaciones,__ se pica en el botón __Relaciones__ de la barra de herramientas de la ventana __Base de Datos.__ En respuesta aparece la ventana acompañada de la ventana de diálogo__Mostrar tabla__. Si el diálogo no aparece, basta cliquear el botón __Mostrar tabla__ en la barra de herramientas. En el caso fueron adicionadas tres tablas anteriormente construidas. Las tablas adicionales pueden ser arrastradas y redimensionadas hasta que queden visualmente legibles. Para crear una relación entre el **PADRÓN DE DEPARTAMENTOS** y el **PADRÓN DE EMPLEADOS**, picar sobre el campo **//Sigla del departamento//** en la tabla **PADRÓN DE DEPARTAMENTOS** y se arrastra asta el campo **//Sigla del departamento//** en la tabla **PADRÓN DE EMPLEADOS**. En respuesta surge la ventana de diálogo de relaciones (figura 2.3.) Para que sean provistas mas especificaciones sobre la ligazón en cuestión. En el caso que se desee alterar posteriormente estas especificaciones basta dar un doble clic sobre la línea de unión, esto hace aparecer la ventana de diálogo relaciones. En el caso que se desee **__Exigir la integridad referencial__** para imposibilitar el empadronamiento de empleados en departamentos inexistentes en el **PADRÓN DE DEPARTAMENTOS**. Al activar esta opción pasa a ser necesario especificar también cual es el tipo de relación El tipo uno a varios ya aparece seleccionado porque es el padrón del Access. Además de eso, es necesario indicar si desea guardar el layout de esta ventana. Conviene guardarlo si una nueva distribución de las tablas fuera visualmente mas adecuada. Se debe observar que el diseño de las relaciones indica si él es del tipo uno a varios (algoritmo 1 y símbolo de infinito 8 ) o un a uno (algoritmo 1). Los bordes más gruesos de la línea de unión indican que la integridad referencial fue impuesta por la relación. 2.5. - Borrado de relaciones. Para borrar una relación basta seleccionar la línea de unión y accionar la tecla DEL. Para borrar una tabla basta seleccionarla y accionar también la tecla DEL. Es importante recordar que **la eliminación de una tabla no borra la relación**. Si la ventana relaciones fue cerrada y accionada de nuevo, entonces la tabla borrada es mostrada nuevamente con todas sus relaciones. Por lo tanto, para borrar una relación es necesario seleccionar la relación explícitamente y accionar DEL, enseguida se borra la tabla. Se puede borrar todo el contenido de la ventana __Relaciones.__ Para eso, basta en el menú __Edición__accionar __Borrar diseño.__ Pero esto no borra las relaciones registradas Internamente. Enseguida se puede adicionar una tabla y utilizar el botón de la barra de herramientas. __Mostrar todas relaciones directas__ para exhibir apenas las relaciones directamente asociadas a la tabla. Para exhibir todo, accione el botón __Mostrar todas las relaciones.__ FIGURA 2.2 Barra de herramientas de la ventana relaciones FIGURA 2.3 Ventana de diálogo relaciones ||  ||
 * [[image:http://www.cyta.com.ar/biblioteca/bddoc/bdlibros/manualdeaccess/relaciones_archivos/transparent.gif width="2" height="1"]] || [[image:http://www.cyta.com.ar/biblioteca/bddoc/bdlibros/manualdeaccess/relaciones_archivos/transparent.gif width="18" height="1"]] ||  || **CAPÍTULO 2 – RELACIONES.**