Diseño de Sistemas de Información con Microsoft Access, tablas, consultas, formularios, informes, macros y módulos de Visual Basic.
Introducción al Diseño de Sistemas de Información con Microsoft Access
1. INTRODUCCIÓN
Access nos proporciona diferentes objetos para crear nuestros sistemas de información, entre los que encontramos: tablas, consultas, formularios, informes, macros y módulos de Visual Basic.
A continuación, daremos una breve descripción.
2. TABLAS
Objetos en los que se definen (tipo de dato, formato, valor predeterminado…) y almacenan los datos de un tema único (ej. tabla de clientes, tabla de productos, tabla de ventas, subtabla detalles de ventas…). Componen específicamente la base de datos del sistema de información.
La siguiente imagen muestra la “vista diseño” y la “vista hoja de datos” de una tabla de clientes:
Access nos permite importar o crear bases de datos simples como la del ejemplo, o muy robustas, con tablas relacionadas a través de claves principales o llaves, llamadas bases de datos relacionales (BDR).
La siguiente imagen muestra las “Relaciones” de las tablas de un sistema de información de compras y ventas.
3. CONSULTAS
Objetos que permiten filtrar y
calcular datos a partir diferentes tablas y consultas del sistema de información.
Sirven de base para diseñar listas desplegables llamadas “cuadros combinados”, informes
y formularios o alternativamente para crear o manipular otras tablas a partir
de las “consultas de acción”. Aunque Access nos permite crearlas con una
interface gráfica muy fácil para no programadores, también permite construirlas
con lenguaje SQL. De hecho, utilizaremos la vista SQL de nuestras consultas
para entender la sintaxis de este lenguaje.
La siguiente imagen muestra la
“vista diseño” y la “vista hoja de datos” de una consulta de un sistema de
información de Evaluación de Clima Organizacional:
4. FORMULARIOS
Objetos utilizados para la
introducción eficiente y eficaz de los datos a las tablas y para la
visualización de información procesada. Permiten automatizar procesos
utilizando macros o módulos de Visual Basic. Cuentan con muchas herramientas y
asistentes para hacernos fácil la programación del sistema de información. Con
estos objetos además podemos construir el “Panel de Control” personalizado para
el ingreso a nuestros sistemas de información.
Las siguientes imágenes muestran
ejemplos de diferentes usos de los formularios en sistemas de información:
5. INFORMES
Objetos diseñados a partir de las
tablas o consultas para obtener información agrupada, resumida, totalizada y
filtrada para visualizarla en pantalla, imprimirla o exportarla en diferentes
formatos como Excel, pdf, archivos de texto, xml, xps, o enviar por correo electrónico
a través de Outlook.
Las siguientes imágenes muestran
ejemplos de informes arrojados por algunos sistemas de información. En el
primero se utilizó la herramienta formato condicional para analizar rápida y
visualmente los resultados por nivel de cargo.
6. MACROS PARA AUTOMATIZAR PROCESOS
Objetos que permiten utilizar
infinidad de acciones para automatizar procesos complejos, sin necesidad de
saber lenguaje de programación, aunque internamente Access convierte nuestros
macros en lenguaje Visual Basic. Los macros se diseñan y se asignan a los
diferentes campos o controles, como botones, dentro de tablas, formularios e
informes, aunque su mayor uso se obtiene en formularios.
La siguiente imagen visualiza un
macro en “Vista diseño”:
Analizar casos y definir algoritmos
Antes de comenzar a utilizar las
herramientas de Access para desarrollar nuestro sistema de información, vamos a
revisar los siguientes casos y conocer cómo se define un algoritmo.
Los primeros pasos que debemos realizar cuando queremos
diseñar un sistema de información son:
Analizar cómo se deben relacionar
las tablas y crear los campos adicionales que permitan esas relaciones.
Este esquema es lo que se conoce
en bases de datos como las relaciones entre las tablas. La razón para dividir
un tema en una nueva tabla es analizar si lo que requerimos tiene la necesidad
de ingresar varios registros con respecto al tema primario.
En este caso, cada cliente que se
almacene en la tabla de clientes puede tener una o varias sucursales para las
cuales necesitamos almacenar unos datos determinados. NO sería correcto incluir
en la tabla de clientes los datos de las sucursales porque tendríamos que
repetir los datos “únicos” del cliente para cada sucursal que registremos, lo
que se llama redundancia de datos. Nota que llamamos a esta nueva tabla
“STSucursales”, donde ST significa subtabla. También podría llamarse Detalles
Sucursales.
De igual forma, si necesitamos registrar los empleados que pertenecen a cada sucursal, no sería correcto incluir los datos de los empleados en la tabla de sucursales, porque tendríamos que repetir los datos de cada sucursal por cada empleado que ingresemos a la base de datos, generando nuevamente redundancia de datos. A esta tabla la llamamos SSTEmpleados, donde SST significa sub-sub-tabla.
Las tablas: TClientes, STSucursales y SSTEmpleados formarían
el módulo de clientes. En palabras coloquiales nos gusta llamarlas tablas
madre, hija, nieta, respectivamente.
Ahora observamos las otras dos tablas (TCuidades y Tpaises)
que se relacionan con las tablas anteriores, pero en sí no hacen parte directa
del módulo de clientes, son tablas de codificación que alimentan listas
desplegables donde seleccionarán la ciudad y el país de los clientes y de las
sucursales. Más adelante ampliaremos este concepto cuando aprendamos a crear
cuadros combinados en las tablas y en los formularios.
A continuación veremos algunos casos de los cuales se
propone que generes en un papel el algoritmo que respondería al requerimiento,
luego de tenerlo compara el tuyo con la respuesta que se presenta debajo de
cada caso.
Caso 1
Laboratorios HTY requiere diseñar un sistema de información
que controle los datos de los médicos a los que le hace visita. Necesita
almacenar datos básicos de los médicos como: Cédula, Nombres, Apellidos, Foto,
Categoría (cuadro combinado de lista de valores con las opciones A, B y C),
Dirección del Hogar, Teléfono del hogar, Celular, Email, Instituciones donde
atiende (de las que se requiere almacenar la Dirección, Teléfono, Fax, Barrio),
número de cirugías al día, Horario de atención (ej. 8 am a 12 pm) y el nombre
de la secretaria.
Caso 2
Un departamento de mercadeo de una multinacional necesita
realizar un sistema de información que controle las cotizaciones que se
solicitan a los proveedores. Los datos que se quieren almacenar son: Número de
cotización, Fecha de cargue al sistema, Centro de costo que pagará, Producto a
cotizar, Cantidad, Tintas, Material, Tamaño, Empaque, Fecha de entrega, Lugar
de entrega, Observaciones adicionales de la cotización.
Para cada cotización, el sistema debe dejar almacenar las
propuestas de varios proveedores con los siguientes datos: Proveedor, Valor
unitario, Subtotal, % IVA, Valor IVA, Valor total y un campo que permita
ingresar si fue o no aprobada una propuesta.
Además, para cada propuesta de los proveedores se requiere
almacenar todas las imágenes escaneadas de las muestras del producto, con fecha
y observaciones.
Si hacemos este análisis en profundidad cada vez que
tengamos el reto de construir una base de datos relacional, tendremos el 50%
del éxito asegurado. No importa el programa en el que vayamos a desarrollar el
sistema, o el tamaño del sistema, estos pasos siempre tendremos que realizarlos
antes de comenzar a programar, si queremos lograr el éxito buscado y que
nuestros clientes nos vuelvan a buscar o nos recomienden.
Obviamente, debemos analizar nuestro algoritmo con todas las
personas que van a manejar el sistema y seguramente saldrán correcciones y
adiciones cuando vean sus ideas plasmadas en un esquema organizado. Cuando ya
estemos seguros de que todos han dado sus ideas y nos han aprobado el algoritmo
de la base de datos relacional que planeamos, será el momento de abrir
Microsoft Access y comenzar a crear las tablas y sus relaciones.
Actividad de refuerzo 1
Es hora de poner en práctica lo que hemos visto hasta el
momento, por lo cual te proponemos que diseñes en papel el algoritmo de la base
de datos relacional para el siguiente caso.
Se requiere programar un sistema de información que permita
registrar las evaluaciones anuales de clima organizacional de una empresa. El
sistema se debe componer de dos módulos principales: uno donde se mantengan
actualizadas las preguntas por cada factor a evaluar y el otro donde los
empleados puedan responder a las preguntas de la evaluación cada año,
manteniendo el histórico del texto que tenía la pregunta en cada evaluación,
utilizando una escala de Likert (siempre, casi siempre, a veces, nunca) para la
calificación observada y la calificación esperada. El sistema debe arrojar
resultados para toda la organización, y por área organizacional, por sucursal,
por nivel de cargo y por sexo.
COMMENTS