miércoles, 7 de mayo de 2014

Creación de bases de datos, tablas y campos con el SGBD PhpMyAdmin

El SGBD PhpMyAdmin es una herramienta de ayuda a la gestión y administración de la base de datos MySQL, por medio de un interfaz de páginas web desarrolladas en lenguaje PHP. Permite la creación y eliminación de bases de datos, tablas, campos, así como la edición e inserción de datos y contenidos. Para ello se ejecutan las consultas correspondientes en lenguaje SQL. 

Crear base de datos
En PhpMyAdmin es posible crear tantas bases de datos como sean necesarias, pudiendo ser gestionadas todas desde la misma herramienta, aspecto que MS Access no permite. Para crear una nueva base de datos, seguir los siguientes pasos:
  • Acceder a PhpMyAdmin - http://127.0.0.1:4001/phpmyadmin/ -> usuario y contraseña "root" -> Página de inicio de PhpMyAdmin -> Crear nueva base de datos -> Escribir nombre de base de datos sin mayúsculas, acentos, caracteres extraños, guiones bajos, signos de puntuación -> Seleccionar cotejamiento UTF-8 General Ci -> Crear base de datos
Al crear una nueva base de datos se observará la siguiente instrucción SQL. En ella se indican las instrucciones CREATE DATABASE, que indican la creación de una base de datos con el nombre establecido y con el DEFAULT CHARACTER SET o set de caracteres por defecto UTF8 cotejado.
CREATE DATABASE `nombre-base-de-datos` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
De esta forma es posible el aprendizaje de SQL con PhpMyAdmin e incluso la modificación de las sentencias y consultas utilizadas por el programa. Otro de los aspectos que se advierten es la creación de la base de datos y su presencia vacía de tablas en la columna de bases de datos. Automáticamente PhpMyAdmin selecciona la base de datos recientemente creada para la edición de tablas.

Crear tabla
Al igual que en MS Access, MySQL permite la creación de tablas para la base de datos creada recientemente. El proceso de creación de tablas es el siguiente:
  • Seleccionar la base de datos correspondiente -> Observar la opción "Crear nueva tabla en la base de datos" -> Escribir el nombre de la tabla que se creará en la base de datos seleccionada -> Escribir el número de campos de la tabla -> Continuar -> En pantalla aparecerán tantas filas como campos se especificasen para la creación de la tabla
Crear campos
En PhpMyAdmin la tabla y los campos son dos pasos en uno. De hecho al crear la tabla y especificar el número de campos aparece un formulario para la concreción de los mismos. Se procederá de la siguiente forma:
  • Escribir los datos correspondientes a los campos, identificados en cada una de las filas. Esto es determinar el nombre del campo, el tipo de campo, la longitud de valores, el cotejamiento, atributos, nulidad del campo, valores predeterminados, opciones extra, tipo de campo clave primario, campo índice, campo único, campo indexable a texto completo, comentarios.
  • El siguiente paso es el establecimiento de los motores de almacenamiento y el cotejamiento de la tabla que se creará. El cotejamiento debe coincidir con el set de caracteres de la base de datos, por lo tanto será utf8_general_ci. En cuanto al motor de almacenamiento se recomienda el estándar MyISAM, ya que permite la recuperación en lenguaje natural y la indexación del contenido a texto completo. Una vez preparados todos los datos, se hará clic en el botón "grabar".
Al grabar los datos en la base de datos, PhpMyAdmin realiza la operación de creación tanto de la tabla como de los campos, mostrando a la par la consulta SQL derivada del proceso, similar a la que se muestra a continuación.
CREATE TABLE `prueba` (
`id` INT NOT NULL ,
`titulo` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NULL ,
`descripcion` TEXT CHARACTER SET utf8 COLLATE utf8_general_ci NULL ,
PRIMARY KEY ( `id` ) ,
FULLTEXT (
`titulo` ,
`descripcion`
)
) ENGINE = MYISAM CHARACTER SET utf8 COLLATE utf8_general_ci;
Se puede observar cómo todos los aspectos reflejados en el formulario anterior fueron convertidos en una sentencia de consulta SQL, lo cual demuestra una vez más, que todo cuanto se opera en el programa PhpMyAdmin es realizado en este estándar, de aquí su importancia e imprescindible conocimiento para operar con bases de datos profesionales.

Dar el salto a MySQL

Hasta el momento se han explicado los fundamentos básicos del diseño de una base de datos, su edición y preparación de cara a su gestión posterior. Pero MS Access tiene problemas insalvables como la imposibilidad de gestionar millones de registros, difícil de adaptar al entorno web, no permite la colaboración de varios editores simultáneos en el sistema, limitado por el interfaz del SGBD integrado y Visual Basic, SQL limitado, entre otros muchos aspectos. Por este motivo, se recomienda "Dar el salto a MySQL". Si bien es cierto que los métodos de trabajo cambiarán con MySQL también lo es que dominar la técnica proporciona una mayor libertad y capacidad en el desarrollo de sistemas de información, no existiendo ningún tipo de límite, excepto la imaginación del documentalista.


Qué se necesita para dar el salto a MySQL
Para poder dar el salto es necesario disponer de las herramientas adecuadas que son las siguientes:
  • Servidor web Apache. El servidor web Apache es el soporte básico para el funcionamiento de las páginas web en la red. En este caso es necesario para crear las páginas web que permitirán interactuar con MySQL. Un servidor Apache se encarga de recibir y dar respuestas a los equipos clientes que solicitan una determinada página web o IP, por medio del protocolo HTTP. Ello permitirá que cuando un usuario acceda al formulario de edición del catálogo pueda guardar los datos de la catalogación y procesarlos en la base de datos MySQL. 
  • Compilador intérprete de PHP. Aunque los formularios del interfaz de la base de datos se programarán en lenguaje de marcado HTML, el procesamiento de la información que es remitida se realiza siempre con algún lenguaje del lado del servidor. Esto significa que existen lenguajes de programación especializados en el pre-proceso del hipertexto. Todas las respuestas que vemos en el navegador web son resultado de una programación PHP invisible para el usuario, que determina si el formulario del catálogo fue correctamente rellenado y debe enviar al usuario a una página de aviso para que lo subsane, o bien si fue correctamente cumplimentado, sugerirle con la carga de otra página que imprima el código de barras y su signatura. Tales decisiones se realizan automáticamente en virtud de la programación desarrollada en este caso con PHP.
  • Base de datos MySQL. La base de datos MySQL es la pieza clave en todo el instrumental. Por sí sola requeriría un terminal de consulta para poder interactuar. Ello requeriría del usuario un conocimiento completo de todo el lenguaje de consulta SQL. Dado que no es el caso, la base de datos suele acompañarse del SGBD PhpMyAdmin que proporciona una interfaz visual que permite realizar la mayoría de las operaciones con ella. De esta forma todo lo aprendido con MS Access puede ser aprovechado con MySQL y llevar a efecto el salto mencionado.
  • Alojamiento o espacio en disco. Si bien es cierto que tales herramientas requieren una alojamiento web para funcionar, también lo es el hecho de que pueden ser instaladas en un equipo de forma local (127.0.0.1) 
  • Editor de código fuente. Si bien la estructura y desarrollo de la base de datos puede realizarse de forma sencilla aprendiendo el SGBD PhpMyAdmin, hay que tener en cuenta que la interfaz de interacción con la base de datos puede no serlo tanto. Ello es debido a que exige del Documentalista-Desarrollador una experiencia de programación media en PHP y HTML como mínimo. En tal caso la mejor herramienta de desarollo es un Bloc de notas y el editor Eclipse PDT especializado en programación PHP. Teniendo en cuenta la imposibilidad de explicar todo ello en un curso tan reducido, todas las explicaciones en materia de formularios e interacción con la base de datos serán respaldadas con ejemplos ya programados que apenas requieran modificación.

Descargar la herramienta todo en uno: Server2Go
Para realizar las pruebas correspondientes a la base de datos MySQL se utilizará la distribución Server2Go. Se trata de una aplicación portable de las herramientas anteriormente descritas y que no requiere instalación. Es capaz de funcionar en pendrives, discos duros externos y básicamente en cualquier equipo con sistema operativo Windows. La versión que se pone a disposición ha sido configurada y preparada especificamente para la ocasión de tal manera que no será necesario realizar ningún cambio añadido, estando disponible desde el principio para su funcionamiento. Algunos requerimientos básicos son la disposición del navegador Mozilla Firefox que será el utilizado por defecto por Server2Go para crear la sesión del servidor. 


Ejemplo de macros, navegación y consulta


Con el objetivo de poner en práctica lo estudiado en torno a las consultas y las macros se proporciona el siguiente ejemplo de la base de datos biblioteca_v03.accdb, disponible para su descarga en el siguiente enlace.

Descargar biblioteca_v03.accdb

Cambios producidos
Los cambios producidos en la versión 03 corresponden a un funcionamiento completo de todos los botones de navegación, introducción de macros para el préstamo y la indexación de contenidos en el catálogo. También se incluye un ejemplo de consulta utilizando el operador "Como" con truncamiento. Por otra parte todos los estilos de la base de datos fueron armonizados y normalizados.

Fundamentos de bases de datos y diseño con MS Access: Informes y macros. Parte5

Informes
Los informes permiten generar documentos cuya información procede de una tabla determinada, permitiendo su impresión vía PDF o impresora. Los informes pueden contener información de tablas relacionadas, pueden incluir campos calculados, etc. Los informes constan de diversas partes, a saber: 
  • Encabezado de informe. Se introduce el título del informe.
  • Encabezado de página. Títulos de las columnas de los campos presentados en el informe.
  • Encabezado de grupo. Identificación del grupo de registro.
  • Detalle. Visualización del registro propiamente dicho
  • Pie de grupo. Utilizado para campos calculados, sumatorios, etc.
  • Pie de página. Página y fecha.
  • Pie de informe. Campos calculados para todo el informe.
La creación de informes resulta sencilla con el siguiente protocolo de trabajo:
  • Menú Crear -> Crear informe en blanco -> Agregar campos existentes -> Arrastrar campos de la lista de campos a la página del informe. (Idéntico funcionamiento al de los formularios) Es posible arrastrar campos relacionados de otras tablas y mostrar la información.
  • También es posible introducir subformularios en los informes para mostrar información complementaria mucho más extensa. Para ello, seleccionar la Vista Diseño del informe y utilizar la herramienta para crear subformularios.
Macros
Las macros constituyen elementos fundamentales para el desarrollo de los sistemas de bases de datos MS Access. Ello es debido a que es posible automatizar múltiples procesos que con las tablas y formularios no es posible. Para poder trabajar adecuadamente con macros es necesario, preparar la base de datos y habilitarla para su correcto funcionamiento. Por tanto serán necesarios los siguientes pasos:
  • Botón principal de Office -> Opciones de Access -> Centro de confianza -> Configuración del centro de confianza -> Barra de mensajes -> Mostrar la barra de mensajes en todas las aplicaciones cuando se haya bloqueado el contenido
  • Botón principal de Office -> Opciones de Access -> Centro de confianza -> Configuración del centro de confianza -> Configuración de macros -> Habilitar todas las macros
Cambiados estos parámetros es necesario salir de la aplicación y volver a cargar la base de datos. En caso contrario, no se aplicarán los cambios necesarios para que se puedan ejecutar las macros de forma segura. Para crear macros, acceder al menú Crear -> Macro. Inicialmente la pantalla de creación de macros no es completa. Para desplegar todas las posibles macros disponibles, se necesita hacer clic en el botón "Mostrar todas las acciones". Otras opciones recomendables son el botón "Nombre de macro" y "Condiciones" Los nombres de macro, permiten identificar las acciones que se programan en la secuencia lineal. Por otra parte las condiciones, permiten establecer bucles de ejecución, métodos desencadenantes de las acciones y en definitiva las condiciones que deben cumplirse para que se desencadene la macro o el procedimiento almacenado. Por tanto las columnas que se pueden desplegar en la ventana de Macro, son las siguientes:
  • Nombre de macro. Identifica con un nombre la acción que se está llevando a cabo. Dicho nombre debe cumplir las condiciones de denominación establecidas anteriormente para los nombres de las tablas, formularios, etc. Ello es debido a que es posible nombrar a una acción concreta de la macro, por el nombre aquí asignado.
  • Condición. Establece una condición que debe cumplirse para desencadenar una lista de acciones programadas en la macro.
  • Acción. Es la tarea o proceso pre-programado en access que puede ser configurado para hacer múltiples actividades. En otros programas como Filemaker se les denomina Guiones.
  • Argumentos. Son las características y valores generados como resultado de programar una determinada acción. 
  • Comentarios. En muchos casos es aconsejable crear comentarios para explicar el funcionamiento de los procesos programados. 
Ejemplos precisos de la utilidad de las macros
  • Asignar valores automáticamente en campos de un formulario. Establecer valor
  • Rellenar automáticamente un campo de indexación con los datos introducidos en un formulario.
  • Abrir y cerrar formularios, tablas, informes y consultas
  • Aplicar filtros en las consultas
  • Desplazar a un determinado registro de la colección
  • Mostrar mensajes
  • Ejecutar otras macros y procedimientos programados
  • Imprimir informes y formularios
  • Guardar registros...

lunes, 28 de abril de 2014

Fundamentos de bases de datos y diseño con MS Access: consultas. Parte4

Además de los formularios y subformularios, en un sistema de información fundamentado en el uso de bases de datos, también es necesario el uso de consultas, informes y procedimientos programados. Las "consultas" constituyen formularios especializados en el filtrado de la información de las tablas de MS Access. En otras palabras, las consultas en Access son equivalentes a las consultas SQL realizadas directamente en bases de datos MySQL. Los informes en MS Access suponen una vista de datos destinada a la impresión bien sea por vía impresora o PDF. Finalmente los procedimientos programados constituyen un mecanismo fundamental para el control de los procesos en los formularios. También denominados "macros" son un conjunto de órdenes o funciones pre-programadas, que combinadas pueden desempeñar ciertas tareas o procesos automáticos en el entorno del formulario.

Consultas
Las consultas en MS Access permiten mostrar información de una o varias tablas relacionadas empleando para ello uno o varios filtros, también denominados "criterios". Estos criterios pueden ser simples, cuando se basan en los términos introducidos por el usuario, o complejos cuando son programados con el "generador de expresiones". Existen varios métodos para crear consultas. A continuación se exponen los más recomendables:
  • Asistente para consultas
    Menú Crear -> Asistente para consultas -> Asistente para consultas sencillas -> Seleccionar tabla -> seleccionar campos a visualizar en la consulta -> Seleccionar consulta en detalle -> Asignar nombre a la consulta con el prefijo "cons-" -> Modificar el diseño de la consulta -> Añadir los criterios de la consulta -> Ver consulta.
  • Utilizar un formulario para crear una consulta
    Abrir formulario creado anteriormente para la tabla objetivo -> Menú inicio -> Opciones de filtro avanzadas -> Filtro por formulario -> El formulario aparecerá en blanco, sin registros. Se deben introducir los valores de la consulta en los campos vacíos. (En el margen inferior aparecen las pestañas Buscar y Or que corresponde al tipo de consulta Booleana que se aplica en MS Access) -> Una vez determinados los parámetros o valores de consulta -> Aplicar filtros -> Acto seguido la información de la tabla aparecerá filtrada en el formulario directamente.
Convertir la consulta en un buscador
Siguiendo el modelo del operador "Como" traducción del operador  "LIKE" utilizado en SQL se puede crear un método de interrogación o consulta sencillo para buscar en un determinado campo de la consulta, tal como establece la documentación oficial. Tan sólo hay que introducir el siguiente código, véase tabla1, en el apartado de criterios de consulta del campo correspondiente y adaptarlo al caso.


Como [Introduzca Título:] & "*"
El operador “Como” actúa como operador de comparación similar a “LIKE” utilizado en las consultas SQL. El contenido entre corchetes corresponde al título que se desea mostrar en el cuadro de búsqueda. El ampersand indica que la consulta se realiza con el término introducido entre comillas dobles que contiene truncamiento automático. De esta forma cualquier palabra introducida será recuperada en la tabla.
Tabla1. Operador "Como" de consulta

Formularios basados en consultas
Una forma de elaborar formularios especializados es crear las consultas de las tablas que filtran previamente la información en ellas introducida. Por ejemplo la tabla "autoridades" puede contener múltiples tipologías que pueden ser filtradas previamente, creando una consulta para cada tipo de autoridad. Posteriormente se pueden crear formularios de autoridades especializados en autoridades personales, autoridades corporativas, entre otras tomando como "origen de datos" la consulta previamente creada.

Edición experta de las consultas
Las consultas en MS Access al igual que las relaciones que se establecen en las tablas de la base de datos están basadas en SQL. Por tanto, resulta posible modificar las consultas, editando su código SQL. Tomando una consulta ya terminada, dentro de los tipos de vistas para las consultas aparecerá la opción SQL. Al cargar la consulta en modo SQL se mostrará una sentencia que contiene la cláusula SELECT que indica selección de campos, los campos propiamente dichos que se muestran en la consulta, la cláusula FROM que identifica la tabla de origen de los datos y finalmente si fue establecida alguna condición, la cláusula WHERE tras las cuál aparecerán las condiciones de las consultas.
  • Ruta de acceso para la vista SQL
    Abrir consulta ya existente -> Menú Inicio -> Vistas -> Vista SQL
  • Ejemplo de consulta SQL en MS Access
    SELECT autoridades.[id], autoridades.[id_tipoautoridad], autoridades.[denominacion], autoridades.[fechaextrema1], autoridades.[fechaextrema2], autoridades.[descripcion], autoridades.[id_lugar] FROM autoridades;

martes, 22 de abril de 2014

Ejemplo de edición de formularios y subformularios en base de datos MS Access

Con el objetivo de poner en práctica lo estudiado en torno a los formularios y subformularios se proporciona el siguiente ejemplo de la base de datos biblioteca_v02.accdb, disponible para su descarga en el siguiente enlace.

Descargar biblioteca_v02.accdb

Cambios producidos
Para la presente versión de la BD biblioteca se han realizado algunos cambios relativos al almacenamiento de las autoridades. Si bien en la versión anterior el campo "autoridades" de la tabla "catalogo" había sido diseñado para almacenar varios valores, en este caso ha sido reemplazado por tres campos de autoridades "id_autoridad1", "id_autoridad2" e "id_autoridad3" con el objetivo de almacenar una autoridad en cada campo foráneo. Ello no significa que el método de almacenamiento de varios valores sea incorrecto, ya que suele ser empleado para almacenar varios valores en vista de hoja de datos. Pero para el ejercicio relativo a formularios y subformularios es más conveniente un tratamiento de las autoridades individualizado que permita elaborar los subformularios necesarios para visualizar toda la información de la tabla relacionada de las autoridades, tal como se puede comprobar en el ejemplo.

Los formularios y subformularios
La base de datos de la biblioteca_v02 incluye varios formularios de ejemplo entre los que destaca el formulario "form-catalogo" y los subformularios "subform-autoridades" y "subform-regostros", puesto que representan un buen ejemplo del significado de relaciones entre tablas y su visualización mediante formularios y subformularios. Por otra parte se ha introducido un sencillo menú de navegación que permite el acceso a terceros formularios de acuerdo a las necesidades de edición de cada caso y manteniendo el esquema de procesos de la cadena documental.

Formulario "form-catalogo"

  • Introduce los campos foráneos propios de la tabla "catalogo" y los campos de denominación relacionados por dichos campos foráneos que son los siguientes: [estadocatalogacion].[denominacion], [tipodocumento].[denominacion], [lugar].[denominacion], [editorial].[denominacion]
  • El formulario del catálogo consta de 4 subformularios embebidos. Los tres primeros corresponden a las autoridades y el cuarto a los ejemplares vinculados de cada ficha catalográfica.

Subformularios "subform-autoridades1,2,3"

  • Cada subformulario establece relaciones del tipo "[catalogo].[id_autoridad1] - [autoridades].[id]", "[catalogo].[id_autoridad2] - [autoridades].[id]" y "[catalogo].[id_autoridad3] - [autoridades].[id]". Por medio de este tipo de relaciones es posible mostrar la información de la autoridad relacionada en el cuadro del subformulario.
  • Los subformularios de autoridades originalmente tenían un modo de visualización de tipo "hoja de datos" similar al de una hoja de cálculo. Para cambiar su apariencia es necesario acceder a la hoja de propiedades del elemento -> pestaña Formato -> Vista predeterminada -> modificar el modo de visualización por "un único formulario". De esta forma es posible editar el subformulario en vista diseño al igual que un formulario normal.
  • La propiedad de "Formato" barras de desplazamiento figura como "Ninguna", se han inhabilitado los selectores de registro, los botones de desplazamiento y los separadores de registros para que el cuadro del formulario esté libre de controles y sirva como superficie de visualización de datos vinculados.

Subformulario "subform-registros"

  • El subformulario registros permite mostrar los ejemplares vinculados a la ficha catalográfica. La relación que se establece es la siguiente: "[catalogo].[id] - [registros].[id_catalogo]"
  • Dado que para una ficha catalográfica pueden existir múltiples ejemplares el modo de visualización de tipo "hoja de datos", puede que no sea el más adecuado. Por ello es modificado por el modo "Formularios continuos" que mostrará una sucesión de formularios según el número de registros a mostrar. Esta solución permite una maquetación del formulario y la visualización de los registros en lista.

Formulario "index"

  • El formulario "index" es el primer formulario del sistema de información que permite mostrar todas las opciones, accesos y formularios. El objetivo del formulario es redirigir al usuario al formulario que necesita para su edición. 

Formulario "workflow"

  • El formulario "workflow" está diseñado sobre un diagrama o flujo de trabajo que puede identificarse con la cadena documental, en cuyas fases puede observarse la presencia de un botón de redirección a un formulario concreto que permite desempeñar las actividades y funciones establecidas para cada fase del flujo de trabajo. Es de gran utilidad cuando la información es sometida a un tratamiento largo y complejo.

Tabla y formulario de ayuda "ayuda" - "form-ayuda"

  • Se introduce una tabla nueva denominada "ayuda" en la que se definen las preguntas y respuestas sobre el uso del sistema de información, sus formularios y tablas. Es obligatorio crear este tipo de mecanismos de asistencia para el usuario y que estén disponibles o visibles en todos los formularios del sistema, ya que suponen la documentación e instrucciones de uso del mismo.

martes, 1 de abril de 2014

Fundamentos de bases de datos y diseño con MS Access: formularios y subformularios. Parte3

Una vez creadas las tablas y campos que conforman la base de datos, puede afirmarse que la estructura de almacenamiento está preparada para recibir y guardar información. Sin embargo no toda la información puede introducirse directamente de una forma adecuada, es decir, muchos registros de las tablas son dependientes del procedimiento documental que se lleve a cabo en el sistema de información. Por ejemplo una tabla que registre pedidos o la circulación del préstamo en una biblioteca puede tener múltiples cambios entre sus datos. Y tales cambios son propiciados por la introducción de un formulario que actúa a modo de interfaz entre el usuario y la base de datos. En este apartado, se determina una forma de proceder a la hora de crear formularios. Los pasos a seguir son los siguientes:

Introducir registros de prueba
Antes de crear los formularios pertinentes para la base de datos, resulta fundamental crear varios registros de prueba en todas las tablas y con todos los campos de descripción. De esta forma es posible asegurarse de que están presentes todos los campos necesarios y efectuar correcciones antes de comenzar con el proceso de creación de los formularios. Si este paso se toma a la ligera, al crear los formularios y estar directamente vinculados con la estructura de las tablas, implica un doble trabajo de modificación en caso de fallo o error. Por tanto es muy aconsejable tener muy en serio la introducción de datos básicos iniciales. Esta prueba también permite observar si las relaciones establecidas entre tablas mediante campos foráneos y el asistente para búsquedas, funcionan correctamente. Por otra parte, se recomienda introducir datos verosímiles a fin de poder determinar si la información que se tratará de gestionar es correctamente recogida en los campos disponibles, si es necesario ampliar la extensión de los campos o modificar el tipo de campo. 

Crear formularios
Los formularios son el interfaz de edición que habitualmente utilizan los usuarios para interactuar con las bases de datos. Permiten establecer un método de trabajo para tratar la documentación y la información que se almacena en las tablas, permitiendo un flujo de trabajo, también conocido como workflow. El flujo de trabajo en casi todos los casos puede ser identificado con la cadena documental de la unidad de información y documentación. Por ejemplo un despacho de abogados no sólo registra la información de los procesos legales sino que los relaciona con sus fuentes legales, resoluciones ya existentes, fallos jurídicos, personas e instituciones implicadas, que se suceden a lo largo del proceso legal. Por tanto puede afirmarse que no toda la información se encuentra disponible desde el principio, suponiendo una labor de varias personas y departamentos la edición de un mismo registro desde diversos puntos de vista. Profundizando en el ejemplo, a la fase de "demanda" le sigue la "contestación de la demanda", "la apertura a pruebas", la fase de "alegatos", los "autos para sentencia", la "sentencia", los "recursos de apelación y de alzada" y finalmente una "sentencia firme". Cada uno de los estadios implica un tratamiento del caso y un enriquecimiento constante de información, nuevos documentos, que aportan múltiples actores y que contribuyen a crear el flujo de trabajo al que antes se aludía. En una biblioteca sucede igual, el proceso de "selección", "identificación", "precatalogación", "catalogación", "clasificación", "indización", "vaciado" y finalmente "recuperación de información". Para cada una de las fases que se determina clave y determinante en el proceso o flujo de trabajo se requerirá un formulario. Por definición y añadido a lo que se ha referido, también se crearán tantos formularios como tablas tenga la base de datos. De esta forma el usuario puede editar la información de cada tabla o bien introducirse en la cadena documental o proceso de trabajo en el que debe editar la información. Volviendo al caso del despacho de abogados, cada departamento tendría un formulario sobre el que centrar su trabajo, editando una parte muy concreta de un registro. Dicho de otra forma, el proceso legal se construye gracias a la cooperación entre departamentos con formularios especializados en cubrir cada apartado o cada fase del proceso. De tal forma que el departamento encargado de demandas, registra la demanda de los clientes, describiéndola por completo y añadiendo las pruebas correspondientes. A continuación el departamento jurídico, guarda la contestación para dicha demanda y los alegatos de la parte contraria y así sucesivamente con el resto de departamentos hasta completar el proceso jurídico-legal. Resulta obvio que los datos introducidos en la primera fase repercuten en el resto de fases y procesos, tales aspectos deben ser tenidos en cuenta en el diseño de los formularios. Por ejemplo, volviendo al caso de la biblioteca, en el momento de la fase de identificación en el que se detecta que el documento es una fotografía y no una monografía, tal hecho debe causar importantes cambios en el modelo de formulario para la catalogación. De hecho, aunque existen campos de descripción análogos tanto para la fotografía como para la monografía, no son el mismo material y ambos tipos documentales tienen campos de descripción diferenciados. Por tanto, deben existir formularios para la catalogación de los distintos tipos documentales si se desea realizar un trabajo documental de calidad y un correcto proceso de catalogación. Por tanto se deben recordar las siguientes reglas:
  • Cada tabla debe tener su correspondiente formulario.
  • Si existe un flujo de trabajo, deben crearse los formularios necesarios para emular todas sus fases, de forma tal que pueda tratarse la información o la documentación en cadena por varios administradores o departamentos. Ello implica un profundo conocimiento de la institución o centro de información y documentación para el que se está desarrollando el sistema de información.
  • Si una determinada tipificación implica distintos campos de descripción para el registro, deben diseñarse diversos formularios o plantillas para la introducción de los datos correspondientes de acuerdo al modelo de descripción.
Tipos de formularios
  • Formulario de inserción de datos. Formularios cuya única función es la introducción de registros o datos. Suelen corresponder a tablas con un alto número de campos y cuya estructuración suele ser compleja.
  • Formulario de inserción y edición. El formulario combina la introducción de datos y su edición o modificación. Por ende se permite la navegación y filtrado de los registros.
  • Formulario de recuperación. Formulario con campos de búsqueda, que permite desencadenar el proceso de recuperación sobre una serie de tablas de la base de datos.
  • Formulario de navegación. Son formularios cuyo propósito es permitir el acceso a terceros formularios. Por ejemplo un formulario con un menú de opciones que correspondan a los formularios de  edición de las distintas tablas de la base de datos. Un formulario de navegación típico también es aquel que representa el diagrama del flujo de trabajo o cadena documental y los accesos correspondientes a los formularios de cada fase definida en dicho diagrama. 
Método para la creación de formularios
  • Crear formulario en blanco
  • Menú superior -> Crear -> Crear formulario en blanco -> Lista de campos -> Seleccionar tabla  -> Arrastrar campos al formulario en blanco
  • Al arrastrar un campo al formulario en blanco, aparece un apartado de campos disponibles en tablas relacionadas, de forma tal que es posible introducir campos de terceras tablas para la visualización de información complementaria.

Crear subformularios
Los subformularios son formularios integrados dentro de otros formularios y tienen como objetivo proporcionar registros relacionados con respecto al que se está editando en el formulario portador. Por ejemplo el formulario correspondiente al catálogo de la biblioteca puede contener un subformulario que haga posible la visualización de los registros correspondientes a los ejemplares de las fichas catalográficas registradas en la tabla catálogo. Esta información es importante para poder observar información complementaria constituida por múltiples campos de descripción correspondientes a tablas relacionadas. 

Método para la creación de subformularios
  • Una vez creado el formulario principal se puede crear el subformulario
  • Abrir el formulario principal en modo vista diseño -> Observar el cuadro de herramientas de diseño -> Seleccionar icono de subformulario/subinforme -> Crear recuadro sobre la superficie de edición del formulario -> al soltar el botón cuando se crea el recuadro, aparece una ventana de diálogo con el asistente para la creación de subformularios -> Seleccionar la tabla relacionada que se desea mostrar en el subformulario -> Definir relación entre la tabla del formulario principal y la tabla del subformulario (también es posible elegir una relación sugerida por el asistente) ->  asignar denominación al subformulario.

Edición y maquetación
  • Todos los formularios deben incorporar un encabezamiento que proporcione un diseño uniforme con respecto al resto de formularios del sistema, el título de la aplicación, subtítulo de la aplicación y título o nombre del informe.
  • Normalización de la apariencia de todos los formularios en el sistema de información. 
  • Todos los formularios deben incorporar un menú de navegación básico que permita acceder al resto de formularios para la edición de todas las tablas del sistema.
  • Cada formulario debe contener todos los campos necesarios para realizar las funciones de edición, inserción y recuperación según el caso. 

Consideraciones 
  • Los nombres de los formularios deben ser cortos y suficientemente denotativos y claros del contenido que van a gestionar. Es muy recomendable emplear algún tipo de prefijo que identifique claramente el formulario del subformulario. Por ejemplo el prefijo "ff", "ff-", "form-" identifican formularios. Los prefijos "sff", "sff-", "subform-" identifican los subformularios. El resto de reglas de denominación para tablas y campos tienen igual aplicación en el caso de los formularios y subformularios.
  • En MS Access no está permitido el uso del guión bajo (_) en la denominación de formularios y subformularios.