martes, 25 de marzo de 2014

Fundamentos de bases de datos y diseño con MS Access: diseño de relaciones. Parte2

Las tablas y campos de la base de datos no tienen interacción alguna, a no ser que se establezcan las relaciones pertinentes entre las mismas. Según lo explicado en relación al modelo ER, las relaciones han de ser establecidas utilizando los campos clave primarios y los campos clave foráneos o externos, véase artículo  de relaciones. De esta forma es fácil adivinar que un campo clave foráneo denominado "id_catalogo" sito en la tabla "registro" tendrá una relación directa con el campo clave primario "id" de la tabla "catalogo". Teniendo estos aspectos claros, hay que recordar que las relaciones entre tablas de cualquier base de datos están basadas en una consulta SQL. Esto significa que en esencia una relación entre tablas de una base de datos es de hecho una sentencia en lenguaje de consulta SQL. Esta apunte es importante para comprender que aunque MS Access permita representar visualmente las relaciones a través de líneas vinculantes entre tablas, no son más que representaciones subjetivas de lo que realmente articula, de forma poco visible para el usuario, las relaciones en un sistema de bases de datos. Dicho lo cual se procede a explicar los dos métodos más adecuadas para generar las relaciones entre tablas en bases de datos de tipo Access.

Método de asistente para búsqueda
Es el método más sencillo para crear relaciones de forma rápida y sencilla. Se utiliza durante el proceso de creación y edición de las tablas y sus correspondientes campos. Se parte del supuesto en el que todas las tablas y sus campos fueron creados. A partir de este punto se editan uno a uno los campos foráneos de las tablas, concretamente se especifica que el tipo de campo es "asistente para búsqueda". Esta opción hace posible que se genere automáticamente una relación con las características que se establezcan a través de un asistente de búsqueda. Los pasos a seguir son los siguientes:
  • Selección del campo foráneo en la tabla correspondiente en modo "vista diseño"
  • Cambiar el tipo de campo por "asistente para búsqueda"
  • Acto seguido aparecerá una ventana de diálogo con un proceso guiado para establecer la relación la tabla objetivo, con las siguientes preguntas:
  • P1 - ¿Cómo desea que la columna de búsqueda obtenga sus valores? R1.1 - Deseo que la columna de búsqueda busque los valores en la tabla o consulta (Ésta opción permite relacionar la tabla actual con la tabla que se seleccione a continuación) R1.2 - Escribiré los valores que desee (Se utiliza en el caso en el que se tenga una lista de valores fijos e inamovibles que debe ser mostrada en el formulario, sin necesidad de terceras tablas)
  • P2 - ¿Qué tabla o consulta debe proporcionar los valores para la columna de búsqueda? R2 - Seleccionar la tabla correspondiente.
  • P3 - ¿Qué campos contienen los valores que desea incluir en la columna de búsqueda? R3 - Seleccionar sólo los campos principales que identifican adecuadamente el registro de la tabla relacionada. Por ejemplo el campo clave primario, los campos de denominación o titulación y algún campo de control. Si la tabla posee muchos campos y se vuelcan todos, la longitud de la fila sera mayor de lo que la resolución de la pantalla puede soportar. 
  • P4 - ¿Qué orden desea para los elementos del cuadro de lista? R4 - El orden depende de las necesidades del diseño. Es habitual ordenar de acuerdo al campo clave primario o con orden alfabético de denominación.
  • P5 - Ancho de las columnas. R5 - Establecer un ancho determinado aproximado y desmarcar la opción de ocultar la columna clave. En muchos casos es necesario conocer en todo momento cuál es el identificador de los registros de cada tabla, favoreciendo la transparencia de la misma.
  • P6 - ¿Qué columna en la columna de búsqueda contiene el valor que desea guardar o utilizar en la base de datos? R6 - Elegir en todo caso el campo clave primario "id".
  • P7 - ¿Qué etiqueta desea para la columna de búsqueda? R7 - Mantener el valor dado por defecto. 
  • P8 - ¿Desea almacenar varios valores para esta búsqueda? R8 - Cuando la relación es de muchos a muchos es necesario marcar la casilla "Permitir varios valores"
  • Finalizar proceso.

Automáticamente al finalizar el proceso del asistente, se genera una relación con la tabla especificada de la que extraerá la información indicada, generando una lista con todos los registros que pueden ser relacionados. Ésta relación puede ser comprobada desde el "menú herramientas de base de datos -> relaciones -> mostrar todas las relaciones". Por otra parte, el cuadro de propiedades del campo recientemente editado en su pestaña de "búsqueda" contendrá una instrucción similar a la siguiente en el apartado de "Origen de la fila".
  • SELECT [autoridades].[id], [autoridades].[id_tipoautoridad], [autoridades].[denominacion] FROM autoridades ORDER BY [id]; 
Esta sentencia es lenguaje de consulta SQL que puede ser modificado para adaptar la relación y sus características, ordenación y campos recuperados, lo que demuestra la afirmación anteriormente referida. Otro detalle importante es el apartado "Origen de la fila" que indica en todos los casos de dónde toma el campo, el formulario, el informe o la consulta la información, dicho de otra forma, qué tabla proporciona la información. No hay que olvidar este concepto, puesto que más adelante será utilizado de forma extensiva.


Método convencional de herramienta de relaciones
El método convencional no influye directamente en los campos de las tablas con los que existe una relación, obligando en tal caso a configurar posteriormente cada uno de los campos foráneos. Con el método anterior el campo foráneo y la relación quedan resueltas en el acto. Para editar las relaciones se puede acceder desde "menú herramientas de base de datos -> relaciones -> mostrar todas las relaciones". Inicialmente es posible que nos visualice ninguna tabla. En ese caso hacer clic en la opción "mostrar tabla" y cargar todas las que se necesiten para establecer las relaciones. A continuación basta con seleccionar el campo clave primario y arrastrarlo al campo clave foráneo para mostrar un cuadro de diálogo que permite editar la relación; esto es, los campos clave primario y clave foráneo de la tabla1 y de la tabla2 entre las que se establece la relación, el tipo de combinación y la integridad referencial de la misma.

No hay comentarios:

Publicar un comentario

Nota: solo los miembros de este blog pueden publicar comentarios.