nuestra primera base de datos

100
Curso de MS-ACCESS 2007 Instructor: Lic. Eduardo Eugenio Roldán Álvarez. 1

Upload: mariohernandez

Post on 17-Jan-2016

11 views

Category:

Documents


0 download

DESCRIPTION

Nuestra Primera Base de DatosNuestra Primera Base de Datos

TRANSCRIPT

Page 1: Nuestra Primera Base de Datos

Curso de MS-ACCESS 2007

Instructor: Lic. Eduardo Eugenio Roldán Álvarez.

1

Page 2: Nuestra Primera Base de Datos

INTRODUCCIÓN

Generalmente, el término base de datos se utiliza en informática para designar un conjunto de información relativa a un determinado tema o aplicación comercial. Las bases de datos nos ayudan a organizar esta información de manera lógica para facilitar el acceso y recuperación de datos.

Las bases de datos no se utilizan sólo en informática. También existen bases de datos naturales, a las que simplemente llamamos “sistemas de archivo manual” o “Sistemas de datos manuales”, tal y como se procesan y archivan muchos de los documentos relativos a los expedientes judiciales en los Tribunales de Justicia de nuestro país, muchos de ellos apoyados por sencillas hojas electrónicas Excel.1

Una base de datos de Access no es más que la versión automatizada de las funciones de clasificación y recuperación del sistema de clasificación manual de papeles. Estás almacenan información en una estructura cuidadosamente definida. Las tablas de Access pueden almacenar datos de diferentes formatos, desde simples líneas de texto (como un nombre o una dirección) a datos complejos como fotografías, sonidos o imágenes de video. Almacenar datos en un formato preciso permite a un sistema de gestión de bases de datos (DBMS por sus siglas en inglés) transformar los datos en información útil.

En el presente curso aprenderemos los conceptos básicos del diseño de una base de datos de tipo relacional, con el fin de hacer uso de esta herramienta raras veces comprendida en nuestro medio, no obstante formar parte del paquete de ms-office que podemos encontrar en muchas empresas, y que poco a poco ha demostrado ser una eficaz aliada en la automatización de las labores diarias de la oficina, permitiendo a los usuarios liberarse en gran manera de la tiranía impuesta por la programación formal, y abocarse al diseño de sus propias aplicaciones desde un enfoque de desarrollo de usuario final.

1 Hace algunos años, siendo oficial de localización del poder judicial, tuve la oportunidad de diseñar una pequeña aplicación de base datos en DBASE III PLUS, para la administración del Tribunal de Juicios. Recientemente me tope con la sorpresa de que aquella base, diseñada en ambiente DOS como especie de travesura personal, aún es totalmente operativa y lleva el registro de las entradas y salidas de los expedientes que maneja dicha dependencia.

2

Page 3: Nuestra Primera Base de Datos

CASO I

CREANDO NUESTRA PRIMERA BASE DE DATOS

LA BASE PLANILLA

3

Page 4: Nuestra Primera Base de Datos

1. CASO 1: Creando nuestra primera base de datos. La base PLANILLA

Para este ejemplo vamos a suponer que la empresa Corporación Financiera T-LOQUITO s.a., requiere del diseño de una Base de Datos para su departamento de Recursos Humanos, en la cual pueda llevar el registro de los empleados que laboran en la organización. Un análisis rápido de las necesidades de información al respecto, nos indica que al menos debemos contar con los siguientes elementos comunes a la descripción de un empleado en particular:

CEDULACédula del empleado

NOMBRENombre del empleado

FECHA_NACFecha de nacimiento

SEXO Sexo

EST_CIVIL Estado Civil

NO_HIJOS Número de hijos

NIVEL_ACAD Nivel de Estudios

TEL_CEL Teléfono Celular

TEL_HAB Teléfono Habitación

FECHA_ING Fecha de ingreso

DEPTO Departamento

PUESTO Puesto

SALARIO_BRUTO

Salario Bruto

DIRECCION Dirección

Cada uno de los elementos de información indicados recibe el nombre de campo, la suma de todos ellos referidos a una entidad en particular, en este caso la entidad EMPLEADO, recibe el nombre de Registro.

Aunque parezca sencillo, el análisis individual de los datos revela que en algunos casos la información no es lo que parece, o bien requiere de ciertos “filtros” o “validaciones”, que ayuden al sistema desde sus inicios a asignar correctamente el contenido de cada campo.

Por ejemplo, al establecer un campo como el de CEDULA podríamos estar tentados a definirlo como número, cuando en esencia este dato no lo es ya que su aplicación a las operaciones matemáticas fundamentales no resultaría en un valor lógico. Por otra parte un campo como SEXO, sólo debería admitir dos valores “M” O “F”, según sea el sujeto masculino o femenino respectivamente. El campo SALARIO_BRUTO, no sería lógico para valores menores a ¢0.00. En el caso de la DIRECCION, el mismo debería almacenar una cantidad no definida de dígitos, si queremos dar la dirección lo más exacta posible.

4

Page 5: Nuestra Primera Base de Datos

Para dar inicio a la base de datos debemos primero ir al menú Inicio de Office, y hacer click en el ícono de Access la pantalla se mostrará de la siguiente manera:

Luego debemos hacer click ya sea en el ícono llamado Base de datos en blanco, o bien ir al botón de Office situado en la esquina superior izquierda de la pantalla y hacer click en nuevo indicarle a Access el nombre “PLANILLA”.

5

Page 6: Nuestra Primera Base de Datos

En este punto debemos indicar que lo que hemos construído no es un archivo sino una especie de “Bolsa Electrónica”, en donde residirán las tablas que crearemos en la base de datos.

El modelo de base de datos utilizado por Access, se conoce como “Base de Datos Relacional orientado a Objetos”2, por tal razón una vez creada la Bolsa, debemos proceder a diseñar primeramente los objetos que permitirán el almacenamiento, recuperación y acceso a la información. Para efecto del curso seguiremos la siguiente secuencia de diseño:

1. Tablas2. Establecimiento de relaciones3. Diseño de formularios de tablas4. Diseño de consultas5. Diseño de formularios para consultas6. Diseño de informes7. Diseño de ambientes de seguridad

Al indicar el nombre de nuestra base de datos, y hacer click en Crear, Access mostrará su pantalla inicial de la siguiente forma:

Esta opción por defecto nos permite crear una tabla de una vez introduciendo datos, sin embargo como lo que deseamos es diseñar una tabla con nuestras especificaciones propias, debemos primero cerrar esta presentación haciendo click en la “x” de la pestaña llamada Tabla1

2 Para una explicación más detallada ver Laudon & Laudon, “Sistemas de Información Gerencial”, 10ª. Ed. Capítulo 6.

6

Page 7: Nuestra Primera Base de Datos

La pantalla inicial debe mostrarse así3:

Ahora bien, ya que hemos creado la Bolsa de datos, debemos preguntarnos ¿qué sigue?, en una base de datos relacional los objetos fundamentales son las tablas o archivos, los cuales son las representaciones de las entidades que conformarán la base de datos. Por lo tanto debemos proceder en primera instancia a definir cada una de estas tablas, según el análisis inicial que hagamos de los requerimientos de información de la aplicación a diseñar. Si, como lo señala el ejemplo presente, deseamos diseñar una base de datos que almacene los datos relativos a la planilla que la empresa paga a sus empleados, es lógico suponer que la primera entidad que estableceremos será la entidad EMPLEADO, con los atributos que hemos establecido anteriormente. Por lo tanto procedamos a crear nuestra primera tabla, posicionándonos en la ficha Crear, grupo tablas, y haciendo click en el ícono llamado Diseño tabla:

3 Intencionalmente se muestra la ficha Crear de la pantalla a fin de hacer énfasis en el diseño inicial de la base.

7

Page 8: Nuestra Primera Base de Datos

Ahora procederemos a diseñar nuestra primera tabla de la siguiente forma:

En la columna Nombre de campo, indicaremos el nombre del campo o atributo requerido4, en la columna Tipo de datos, elegiremos el tipo de dato que sea más acorde para el campo en cuestión, la propiedad Tamaño del campo especifica el tamaño que queremos darle al campo (Access permite asignar esta propiedad únicamente a los campos tipo texto y número, en los demás tipos lo asigna por defecto) y en la columna Descripción, indicaremos una breve descripción de que información almacena el campo; de la siguiente manera:

Nombre del campo Tipo de datos Tamaño del campo Descripción

CEDULA Texto 9 Cédula del empleadoNOMBRE Texto 50 Nombre del empleadoFECHA_NAC Fecha/hora No aplica Fecha de nacimientoSEXO Texto 2 SexoEST_CIVIL Texto 2 Estado CivlNO_HIJ OS Número Entero Número de hijosNIVEL_ACAD Texto 2 Nivel de EstudiosTEL_CEL Texto 8 Teléfono CelularTEL_HAB Texto 8 Teléfono HabitaciónFECHA_ING Fecha/hora No aplica Fecha de ingresoDEPTO Texto 2 DepartamentoPUESTO Texto 2 PuestoSALARIO_BRUTO Número Entero Largo Salario BrutoDIRECCION Memo No aplica Dirección

Los tipos de campos elegidos en Access pueden ser:

Texto: Caracteres alfanuméricos hasta 255 caracteres.

Memo: Caracteres alfanuméricos, cadenas muy largas de hasta 65,536 caracteres (64k).

Número: Valores numéricos de muchos tipos y formatos distintos.

Fecha/hora: Datos de fecha o de hora.

Moneda: Datos Monetarios.

Autonumérico: Valor numérico que se incrementa automáticamente.

Sí/No: Valores lógicos como Sí/No o Verdadero/Falso.

4 Aún cuando Access admite casi cualquier nombre de campo, se recomienda siempre que los nombres sean cortos (8-10 dígitos), en mayúscula, y que no tengan espacios entre sí; este sencillo consejo les evitará problemas en las consultas y les simplificará el diseño grandemente. Recuerde “Lo sencillo es bello y es funcional”.

8

Page 9: Nuestra Primera Base de Datos

Objeto OLE: Imágenes, gráficos, sonido, video, archivos de texto y hojas de calculo.

Hipervínculo: Un campo que enlaza con una imagen, gráfico, sonido, video, archivos de texto y hojas de cálculo.

1. PROPIEDADES DE CAMPO

Una propiedad de campo es un característica particular que deben mostrar los datos almacenados en dicho campo, existen varias propiedades que pueden ser útiles a la hora de filtrar la información a almacenar en la base de datos, seguidamente estudiaremos las más importantes.

Propiedad tamaño de campo. Establece el tamaño de campo, en dígitos, para un campo texto o número. El tamaño de un campo texto se digita directamente en ella, por su parte los tamaños de campo disponibles para un campo numérico, se definen de la siguiente forma:

Tamaño del campo Límites Decimales Espacio

Byte 0 a 255 Ninguna 1 byte

Entero -32,768 a 32,767 Ninguna 2 Bytes

Entero Largo -2,147,483,648 a 2,147,483,648 Ninguna 4 Bytes

Doble -1,797 x 10308 a 1,797 x 10308 15 8 Bytes

Simple -3,4 x 10308 a 3,4 x 10308 7 4 Bytes

Id. de réplica N/A N/A 16 Bytes

Decimal Precisión 1-28 15 8 Bytes

Propiedad máscara de entrada. En algunas ocasiones se requiere que el dato se introduzca de una manera específica como por ejemplo cuando digitamos nuestro número de cédula usualmente lo hacemos separado por guiones, de la siguiente forma 7-0089-0934, aún cuando en nuestro documento de identificación dichos guiones no aparecen, o bien en el caso de un número telefónico que se indica como 8311-4356. A estas representaciones visuales se les denomina máscaras de entrada. Access provee muchos caracteres que pueden utilizarse para este efecto, los cuales se detallan a continuación

9

Page 10: Nuestra Primera Base de Datos

0: Un dígito obligatorio. Los signos (+) o (-) no están permitidos.

C: Cualquier carácter o espacio (opcional)

9: Un dígito opcional. Los signos (+) o (-) no están permitidos.

. (punto): Separador de miles

#: Un dígito o espacio opcional. Los espacios se eliminan cuando se almacenan en la tabla. Los signos (+) o (-) están permitidos.

, (coma): Separador de decimales

L: Una letra de la A a la Z obligatoria. : (dos puntos): Separador de fecha y hora

?: Una letra de la A a la Z opcional. ; (punto y coma): Carácter de separación

A: Un carácter o un dígito obligatorio. / (barra): Carácter de separación

a: Un carácter o un dígito opcional. < (signo menor que): Convierte todos los caracteres en minúscula.

&: Cualquier carácter o espacio (obligatorio)

> (signo mayor que): Convierte todos los caracteres en mayúscula

! (signo de exclamación): muestra la máscara de entrada de derecha a izquierda. Los caracteres de la máscara se rellenan de derecha a izquierda

\ (barra invertida): Muestra el carácter siguiente como texto literal.

Proceda ahora a digitar la máscara de entrada del campo CEDULA como #-####-####, y en los campos TEL_HAB y TEL_CEL, como ####-####. Esta máscara de entrada introducirá los guiones en las posiciones indicadas sin necesidad de que el usuario lo haga, y no permitirá que en dicho campo se digiten letras, pese a ser un campo texto.

Propiedad Valor predeterminado. Esta propiedad permite que la base de datos sugiera al usuario un valor por defecto a la hora de introducir la información, el cual puede ser cambiado a voluntad por éste. Los valores predeterminados aumentan la rapidez y disminuyen la posibilidad de un error de digitación en el campo. Posiciónese en el campo FECHA_ING y digite el siguiente valor predeterminado =Fecha(). Este valor, auxiliado por una función de Access, permitirá que el computador sugiera la fecha del computador como la Fecha de ingreso del empleado a la empresa. Igualmente posiciónese en el campo NO_HIJOS, y digite 0. Esto hará que el valor número de hijos por defecto sea 0.

Propiedad Regla de Validación y Texto de validación. Estas dos propiedades permiten validar los datos de tal forma que únicamente se permitan ciertos datos dentro del campo, la propiedad Texto de validación, despliega un cuadro de diálogo de advertencia cuando la propiedad Regla de Validación es infringida. Digitemos las siguientes reglas de validación en los campos indicados:

10

Page 11: Nuestra Primera Base de Datos

CAMPO REGLA DE VALIDACION TEXTO DE VALIDACION

SEXO ”M” OR “F” M=Masculino, F=Femenino

NO_HIJOS >=0 El número de hijos debe ser mayor o igual a 0

SALARIO_BRUTO >=100000 El salario bruto debe ser mayor o igual a ¢100,000.00

Las Reglas de validación son de suma importancia, ya que ellas ayudan a depurar desde el inicio la información que se introduce en las bases de datos. Más adelante en el curso haremos un uso verdaderamente interesante de estas reglas.

Propiedad requerido. Esta propiedad especifica si un determinado valor de un campo debe ser digitado obligatoriamente por el usuario, por ejemplo en el caso de que sea obligatorio digitar la fecha de nacimiento del empleado.

Existen otras propiedades importantes, pero para nuestros efectos únicamente trabajaremos con estas por el momento.

2. EL CAMPO CLAVE

Adicionalmente al nombre y la conformación de los campos, el modelo ENTIDAD-RELACION, requiere que cada tabla tenga asignado al menos 1 campo CLAVE5 (o campo llave), este campo puede definirse como aquel que identifica un registro determinado dentro de la tabla. Por ejemplo, para todos nosotros es usual que cuando nos presentamos a hacer alguna gestión a una entidad bancaria, trámite de licencia, consulta de planillas, etc. la primera información que nos solicitan es nuestro número de cédula; la razón es que este dato es la base de la consulta indexada al sistema, de ahí la frase muy popular que reza que –en la sociedad moderna todos somos un número-. Así también podemos identificar fácilmente otras claves que usamos en nuestro medio como el número de placa de un vehículo, la cuenta cliente de una cuenta de ahorro o corriente en un banco determinado, el número patronal en la CCSS, etc Estos campos tienen las siguientes características:

No pueden ser duplicados Su propiedad de requerido es Sí. Es decir son obligatorios de introducir en la base

de datos. Se encuentran indexados6. Es decir la base de datos automáticamente indexará los

datos por su campo clave, a no ser que se indique otro índice particular.

5 Existen algunos casos en los cuales es necesario identificar varios campos claves en una misma tabla, esto es conocido como indexación por múltiples campos, y veremos un ejemplo más adelante.6 La indexación es el proceso mediante el cual se genera un orden virtual de los registros almacenados en una base de datos, con respecto a uno o varios campos, de tal manera que el proceso de recuperación y consulta sea más eficiente, al no tener que buscar secuencialmente en todo el archivo un dato particular.

11

Page 12: Nuestra Primera Base de Datos

Procedamos ahora a identificar el campo clave de la tabla empleados el cual como seguramente se habrán imaginado es el campo CEDULA. Para tal efecto nos posicionamos en el campo indicado y hacemos click en el ícono denominado Clave principal del grupo herramientas de la ficha Diseño:

Como podrá notar se activa la ya famosa llave característica del ms-Access 20077 .

Ahora sí, ya hemos completado nuestro diseño de la primera entidad de la base de datos PLANILLA, y la podemos guardar con su nombre EMPLEADOS, haciendo click en el ícono de guardado, tal y como lo haríamos con cualquier archivo de office.

Si deseamos almacenar datos en esta tabla debemos primero cerrar la vista diseño del sistema y abrir la tabla empleados en su vista Hoja de datos.

Proceda a inventar los nombres de cinco empleados con sus respectivas cédulas, sexo, fecha de nacimiento, número de hijos, salario bruto y dirección. Por el momento no rellene los campos EST_CIVIL, NIVEL_ACAD, DEPTO y PUESTO.

7 El símbolo de la llave en Access hace mención a la importancia del campo llave (primary key) en el diseño de sus estructuras, es por esta razón que su ícono ejecutable lo muestra desde su aparición como Access 97.

12

Page 13: Nuestra Primera Base de Datos

3. EL PODER RELACIONAL DE ACCESS

Luego de haber creado la base de datos de PLANILLA, y de haber definido la que será la entidad principal de la misma (tabla EMPLEADOS), procederemos ahora a reforzar el modelo mediante la definición de otras entidades que le darán soporte a esta tabla. Para ello debemos definir los departamentos (tabla DEPARTAMENTOS) que conforman la empresa, los puestos existentes (tabla PUESTOS), los diferentes estados civiles que puede tener una persona (tabla ESTADOS), y finalmente los distintos niveles de estudios (tabla ESTUDIOS). Adicionalmente deberemos crear dos tablas adicionales para registrar los movimientos mensuales de los pagos realizados a nuestros empleados (tabla QUINCENAS y tabla (DETALLE_PAGOS).

Para tal efecto consideremos la siguiente información:

DEPARTAMENTOS Contendrá los distintos departamentos que conforman la empresa.

Estructura de la tabla

Nombre de campo Tipo Tamaño Descripción

COD_DEPTO Texto 2 Código departamento

NOM_DEPTO Texto 20 Nombre departamento

Datos a almacenar

COD_DEPTO NOM_DEPTO

01 Gerencia general

02 Administración

03 Auditoría

04 Finanzas

05 Contabilidad

06 Ventas

07 Servicios generales

08 Atención a clientes

09 Recursos humanos.

PUESTOS. Almacenará los datos relativos al puesto.

Estructura de la tabla13

Page 14: Nuestra Primera Base de Datos

Nombre de campo Tipo Tamaño Descripción

COD_PUESTO Texto 2 Código del puesto

NOM_PUESTO Texto 25 Nombre del puesto

14

Page 15: Nuestra Primera Base de Datos

Datos a almacenar

COD_PUESTO NOM_PUESTO

GG Gerente General

GA Gerente Administrativo

GF Gerente Financiero

GV Gerente Ventas

SE Secretaria

CO Contador

AU Auditor

OF Oficinista

CH Chofer

MI Misceláneo

AX Auxiliar

VE Vendedor

ESTADOS. Almacenará los diferentes estados civiles.

Estructura de la tabla

Nombre de campo Tipo Tamaño Descripción

COD_ESTADO Texto 2 Código del estado civil

NOM_ESTADO Texto 15 Nombre del estado

Datos a almacenar

COD_ESTADO NOM_ESTADO

SO Soltero (a)

CA Casado (a)

DI Divorciado (a)

UL Unión Libre

15

Page 16: Nuestra Primera Base de Datos

VI Viudo (a)

ESTUDIOS Contendrá los niveles de estudio máximos alcanzados por el empleado.

Estructura de la tabla

Nombre de campo Tipo Tamaño Descripción

COD_NIVEL Texto 2 Código del nivel estudios

NOM_NIVEL Texto 25 Nombre del nivel

Datos a almacenar

COD_NIVEL NOM_NIVEL

NA Ninguno

PI Primaria incompleta

PC Primaria completa

SI Secundaria incompleta

SC Secundaria completa

UI Universitaria incompleta

UC Universitaria completa

TE Técnica

OT Otra

QUINCENAS Esta tabla almacenará los datos relativos a las quincenas pagadas por la empresa a sus empleados

CAMPO TIPO TAMAÑO MASCARA VALIDACION DESCRIPCIONQUINCENA TEXTO 2 ## "01" or "02" Quincena del mes a pagarMES NUMERO ENTERO Entre 1 y 12 Mes de la quincenaAÑO NUMERO ENTERO >=2010 Año de la quincenaFECHA_PAGO FECHA/HORA 00/00/0000 Fecha de pago

DETALLE_PAGO. Almacenará el monto efectivamente pagado por quincena a cada empleado, con sus rebajos.

16

Page 17: Nuestra Primera Base de Datos

CAMPO TIPO TAMAÑO MASCARA VALIDACION VALOR PREDETERMINADO

DESCRIPCION

CONSEC AUTONUMERICO ENTERO LARGO Consecutivo de registroID_EMPLEADO TEXTO 9 #-####-#### Identificación del EmpleadoID_QUINCE TEXTO 2 ## "01" or "02" Identificación de quincena a pagarID_MES NUMERO ENTERO Entre 1 y 12 Identificación de mes/quincena a pagarID_AÑO NUMERO ENTERO >=2010 Identificación de año/mes a pagarSAL_BRUTO_ACT NUMERO ENTERO LARGO >=100000 Salario bruto actualHRS_EXTRAS NUMERO ENTERO >=0 0 Horas extras laboradasCOMISIONES NUMERO SIMPLE >=0 0 Comisiones ganadasOTROS_ING NUMERO SIMPLE >=0 0 Otros ingresosEMBARGOS NUMERO SIMPLE >=0 0 Cobros por embargosPENSIONES NUMERO SIMPLE >=0 0 Cobros por pensionesIMPTO_SAL NUMERO SIMPLE >=0 0 Cobro por impuesto al salarioCTAS_COB_EMPL NUMERO SIMPLE >=0 0 Cuentas por cobrar a empleadosOTROS_REB NUMERO SIMPLE >=0 0 Otros rebajos

Una vez definidas las anteriores tablas con sus respectivos campos clave (llave), podemos proceder a relacionar adecuadamente cada una de ellas a la entidad principal.

Según lo establece el modelo ENTIDAD-RELACIÓN, una pareja de tablas puede relacionarse entre sí siempre que se cumplan las siguientes condiciones:

1. Deben compartir un campo común entre ellas

2. El campo compartido debe tener la misma estructura, es decir si un campo de una de las tablas es texto y tiene una longitud de 2 dígitos, el campo de llegada en la otra tabla debe igualmente ser de tipo texto y tener 2 dígitos.

3. Si la relación se verifica de un campo clave a otro que no es clave se obtendrá una relación cuya cardinalidad es de uno a muchos; este tipo de cardinalidad es la más común en este tipo de bases de datos. Por otra parte, si la relación se verifica de un campo clave a otro que también es campo clave, la relación será de uno a uno, este tipo de relaciones es rara pero muy útil en algunos casos.

4. No se restringe el uso de nombres de campo iguales para diferentes tablas, pero para efecto de no tener problemas futuros, es conveniente que los campos que se relacionan tengan nombres diferentes en ambas tablas, aún y cuando se refieran a la misma información.

17

Page 18: Nuestra Primera Base de Datos

Una vez creadas cada una de las tablas indicadas anteriormente, para establecer las relaciones entre ellas debemos hacer click en la ficha Herramientas de base de datos, grupo mostrar u ocultar, elegir el ícono Relaciones; la pantalla se mostrará de la siguiente forma8:

A fin de agregar cada tabla al diseño de relaciones, debemos hacer doble click en cada una de ellas, una vez extraídas, cerramos el cuadro de diálogo y ubicamos las tablas tal y como se indica a continuación:

8 Favor antes de iniciar este procedimiento borre los registros de los nombres inventados anteriormente. 18

Page 19: Nuestra Primera Base de Datos

Observe que la tabla QUINCENAS muestra 3 campos llaves, esto es porque una quincena de pago es definida por 3 elementos a saber: 01 y 02, según sea primera o segunda quincena, un número del 1 al 12 para indicar el mes de la quincena correspondiente, y un campo para almacenar el año respectivo del mes y la quincena respectiva. A esto se le conoce como indexación por múltiples campos, y permite que un campo llave de una tabla sea establecido por más de un campo relacionados entre sí.9

Seguidamente procederemos a relacionar cada pareja de tablas haciendo click sostenido sobre el campo llave de cada tabla y arrastrando el cursor hasta su correspondiente campo de llegada en la tabla EMPLEADOS. Luego haremos lo mismo con las tablas EMPLEADOS, y QUINCENAS a fin de vincularla con la tabla DETALLE_PAGO.

Integridad referencial. Al relacionar las tablas se activará en cada relación un cuadro de diálogo de Modificar relaciones, el cual indicará las tablas que se están relacionando, así como los campos que intervienen en la relación. Por otro lado en la casilla de verificación se consulta si se desea Exigir integridad referencial. La integridad referencial logra un vínculo específico entre ambas tablas, de tal forma que no sea posible por ejemplo digitar un estado civil en la tabla EMPLEADOS, que no se haya definido previamente en la tabla ESTADOS. Asímismo permite que si se desea cambiar el código de un determinado estado civil, departamento o puesto, dicho cambio se actualice automáticamente en todos los registros de la tabla EMPLEADOS, a esto se le conoce como actualización en cascada. Por otra parte, si por alguna razón se dispusiera de un departamento de la empresa, y se deseara eliminar los registros de sus empleados, únicamente deberíamos ir al registro del código de dicho departamento en la tabla DEPARTAMENTOS, y eliminarlo, a fin de que se eliminen en cascada todos sus registros relacionados.10

9 Igual sucedería si necesitáramos definir definir una dirección por Provincia, Cantón, Distrito, ya que podríamos tener Provincia 01, Cantón 01, distrito 01, o bien Provincia 01, Cantón 01, distrito 02, y así sucesivamente.10 No se recomienda borrar en cascada registros relacionados grabados previos a la desaparición del departamento.

19

Page 20: Nuestra Primera Base de Datos

Procedamos a hora a establecer todas las relaciones entre las tablas, de tal forma que se muestre el diseño de relaciones así:

Importante. La integridad relacional es la razón de ser del modelo entidad-relación, de tal suerte que podemos decir sin temor a equivocarnos que un diseño de base que no cuente con ella será en primera instancia deficiente.

Observe que las tablas fueron ordenadas a propósito para explicar el flujo de datos desde las tablas de parámetros hacia las tablas principales, y que se pudiesen seguir en el orden usual, de izquierda a derecha. Este acomodo no es obligatorio pero sirve al diseñador para mostrar la lógica del flujo de datos.

Procedamos ahora a salvar nuestro diseño de relaciones, y luego abra la tabla EMPLEADOS, e incluya cinco nuevos empleados, pero esta vez complete todos los campos disponibles, verá que ahora la situación será marcadamente diferente.

20

Page 21: Nuestra Primera Base de Datos

CASO II

MEJORANDO LA VISUALIZACIÓN DE LOS DATOS

LA CREACIÓN DE FORMULARIOS

21

Page 22: Nuestra Primera Base de Datos

1. Mejorando la visualización de los datos. La creación de formularios.

Tal vez el gran éxito que ha tenido Windows en nuestro tiempo, se deba no sólo a la creación de un lenguaje de alto nivel, que todos podamos desarrollar y entender, sino también a la posibilidad de dotar a estos ambientes de una interfaz cómoda a través de la cual el usuario pueda interactuar con sus datos, y aplicaciones de una manera más gráfica. Esta interfaz11 es provista por los llamados formularios. Un formulario es algo así como una Ventana (¿curioso el nombre no?) que el usuarios utiliza para acceder a los datos almacenados en la base de datos. Su objetivo por un lado es proveer un ambiente gráfico cómodo, y por el otro mejorar la seguridad de los datos, evitando que el usuario cometa errores, por mala digitación, o por tener acceso directo a las tablas.

Para entender mejor el diseño de formularios vamos a realizar uno muy sencillo para la tabla EMPLEADOS12. Primero nos ubicamos en la ficha Crear, grupo formularios, hacemos click en el ícono Asistente para formularios:

El cuadro de diálogo mostrará el asistente para formularios, solicitándonos a cual tabla o consulta deseamos hacerle el formulario:

11 Una interfaz gráfica de usuario es la parte del sistema operativo con la que interactúan los usuarios, que utiliza íconos y el ratón de la computadora para ejecutar comandos y escoger opciones.12 Mas adelante en este mismo aparte veremos la creación de formularios màs complejos.

22

Page 23: Nuestra Primera Base de Datos

Observe que un formulario puede realizarse con todos los campos de la tabla, o con sólo algunos de ellos. Si deseamos seleccionar todos debemos hacer click en las flechitas dobles. Luego hacemos click en siguiente.

En este punto el asistente nos pregunta ¿qué tipo de formulario queremos?, y nos ofrece las siguientes opciones:

En columnas. Este tipo de formulario es muy útil cuando deseamos hacer pantallas de capturas de datos; como por ejemplo registrar un nuevo empleado, departamento, puesto etc.

Tabular. Útil cuando lo deseamos desplegar es una consulta, como una lista de valores. Más adelante nos será de mucha ayuda cuando veamos el diseño de consultas.

Hojas de datos. Es una presentación de los datos como una simple hoja electrónica.

Justificado. Es posible utilizarlo cuando deseamos emitir por ejemplo un recibo, un detalle de pago, u otro tipo de formulario tipo factura.

Seleccionamos En columnas, ya hacemos click en siguiente.

23

Page 24: Nuestra Primera Base de Datos

El estilo es la presentación gráfica que se desea para el formulario, elija el que guste y haga click en siguiente13.

Finalmente el asistente nos pregunta el nombre del formulario, debido a que el mismo proviene de la tabla EMPLEADOS, Access sugiere que ese sea el nombre del formulario, consejo el cual vamos a seguir.

Ahora nuestra tabla tiene un formulario cuya apariencia visual es más agradable a la vista de la tabla directa. Pero esto no termina ahí seguidamente modificaremos nuestro formulario para convertirlo en una verdadera “Obra de Arte”.

13 No se preocupe, más adelante veremos cómo personalizar nuestros formularios24

Page 25: Nuestra Primera Base de Datos

2. Personalizando nuestros formularios.

Si bien es cierto la vista anterior ayuda grandemente a la entrada de los datos en la tabla EMPLEADOS, aún estamos muy lejos de establecer una verdadera interfaz de usuario que ayude a éste en su labor. Si realmente deseamos crear algo “estéticamente aceptable”, debemos entonces variar el diseño inicial. Para esto nos ubicaremos en la ficha inicio, grupo vistas, y elegiremos la vista diseño:

25

Page 26: Nuestra Primera Base de Datos

Todo formulario tiene tres componentes básicos:

El encabezado. En él se diseña el nombre del formulario. El detalle. En él se indican las etiquetas y los campos que conforman la interfaz. El pie. El cual incluye usualmente botones de comando para realizar algunas

tareas simples con el formulario.

Vamos a modificar cada una de estas partes empezando por el encabezado, para ello debemos poner especial atención en los componentes indicados en la ficha diseño, grupo controles.

El texto mostrado en el encabezado se conoce con el nombre de etiqueta, y es un sencillo objeto que muestra una hilera de texto formateado de alguna forma definida, si hace click en ella se formará un recuadro que le permitirá entre otras cosas, cambiar el tipo de letra, modificar el contenido, ajustar el cuadro, e incluso elegir un efecto de visión especial, para este efecto, una vez seleccionada la etiqueta vaya a la ficha Inicio, grupo Fuente, y modifique su etiqueta a su gusto, cambiando el nombre por el de REGISTRO DE EMPLEADOS:

Con las flechitas del teclado puede mover la etiqueta hacia los lados, arriba o abajo, a fin de centrarlo perfectamente en el cuadro. Si al hacerlo oprime la tecla Ctrl, podrá además hacer movimientos más suaves. Ahora vaya al detalle del formulario, y varíe las etiquetas ubicadas al lado izquierdo del nombre del campo, de la misma forma.

Importante: únicamente debe variar las etiquetas, ya que si varía el nombre de campo ubicado a la derecha de la etiqueta, el formulario no sabrá en cuál campo de la tabla EMPLEADOS, debe almacenar la información digitada por el usuario14.

14 En este punto siga cuidadosamente las indicaciones del instructor, a fin conocer detalladamente las opciones adicionales de diseño.

26

Page 27: Nuestra Primera Base de Datos

Ahora posiciónese en el área de detalle, y marque con el cursor cualquier campo.Cada conjunto de etiqueta con un campo, se conoce como cuadro de texto. Access 2007 por defecto agrupa todos los cuadros de texto de tal manera que si movemos un cuadro de lugar el resto se mueve mostrando una nueva composición, si deseamos desagrupar los cuadros de texto, a fin de los mismos se muevan independientemente debemos proceder de la siguiente forma:

Haga click en el cuadrito ubicado en la esquina superior izquierda del conjunto de cuadros de texto del detalle. Verá como Access marca todos los cuadros de texto al mismo tiempo.

Seleccione la ficha Organizar.

En el grupo Diseño de controles, seleccione el ícono de agrupar, y luego el de desagrupar. Notará que ahora los cuadros de texto se pueden seleccionar y mover separadamente, a fin de lograr una mejor distribución visual de los mismos en el formulario.

Ahora proceda a mover, cambiar de tamaño, y distribuír apropiadamente los campos de tal forma que el diseño final muestre un formulario estéticamente aceptable, y visualmente bien balanceado, si lo desea siga este ejemplo, pero recuerde: no necesariamente debe hacerlo igual15.

15 La estética, y el balance en un formulario son elementos claves para lograr la aprobación y el buen uso de un formulario en una aplicación, utilice colores pastel (no chillones), distribuya los elementos no sólo de acuerdo a su importancia, sino también a la cantidad de información que debe ingresar en ellos; esto ayudará al usuario a trabajar cómodamente con ellos.

27

Page 28: Nuestra Primera Base de Datos

3. El grupo de controles. Antes de seguir adelante es conveniente que nos refiramos al grupo de controles, este grupo ubicado en la ficha de Diseño es como una especie de “caja de herramientas”16 que le permitirá agregar una serie de objetos de mucha utilidad en el formulario. Veamos:

1. Título: Muestra el título del formulario

10. Inserta una página. 19. Cuadro de texto. 28. Seleccionar cursor

2. Logotipo: Inserta una imagen logotipo.

11. Inserta una imagen. 20. Cuadro combinado. 29. Activa el asistentede controles.

3. Inserta número de página.

12. Color de línea. 21. Inserta una línea. 30. Inserta un controlActiveX.

4. Fecha y hora: Inserta fecha y hora

13. Inserta hipervínculo 22. Grupo de opciones. 31 Casilla verificación

5. Etiqueta: Inserta una etiqueta formulario.

14. Selecciona todo los objetos.

23. Botón de alternar. 32. Inserta una ficha de control.

6. Botón de comando: inserta un botón comando,

15. Tipo de línea 24. Inserta un gráfico. 33. Inserta un marco de objeto independte.

7. Subformulario: Inserta un subformulario.

16. Definir valorespredeterminados.

25. Inserta o quita un salto de línea.

34. Datos adjuntos.

8. Marco objeto: inserta un objeto OLE.

17. Inserta un cuadro delista.

26. Define el grosor de una línea.

9. Botón de opción: inserta un botón de escogencia.

18. Dibuja un rectángulo 27. Efecto especial.

16 De hecho este era el término que tenía este grupo en la versión Access 2003.28

1234

5 6 7 8 9 10 11 12 13 14 15 16

1718 19 20 21 22 23 24 25 26 27 28

29

30

31 32 33

34

Page 29: Nuestra Primera Base de Datos

Ahora que hemos definido cada uno de los objetos comprendidos en el grupo de controles, procedamos a utilizar algunos de ellos para ayudar al usuario en su labor.

4. Uso de cuadros combinados. Un cuadro combinado es un objeto control que permite consultar los valores de una tabla parámetros, seleccionar uno de ellos, y almacenar su valor en la tabla relacionada. Por ejemplo, sería muy útil que el usuario no tuviera que estar consultando la tabla ESTADOS, para saber cuáles son los códigos de estados civiles permitidos en la base, en el mismo sentido estarían los campos NIVEL_ACAD, DEPTO, y PUESTOS. Un cuadro combinado genera una pequeña lista de escogencia (browser), que permite al usuario escoger un valor determinado de todos los valores disponibles y permitidos. Para lograr debemos proceder la siguiente forma:

Primero borramos el cuadro de texto al cual deseamos crear el campo combinado. Luego hacemos click en el ícono Cuadro combinado, del grupo controles y

dibujamos el cuadro en el sitio que ocupaba anteriormente el cuadro de texto borrando anteriormente.

Esta acción activará el asistente para cuadros combinados:

Elegiremos la primera opción, y hacemos click en siguiente.

Ahora el asistente nos pregunta cuál es la tabla o consulta que deseamos desplegar. Seleccionamos la tabla ESTADOS y hacemos click en siguiente.

29

Page 30: Nuestra Primera Base de Datos

En este punto Access muestra los campos de la tabla y nos solicita que señalemos los campos que deseamos que formen la lista del cuadro combinado17

La lista desplegable puede ser ordenada por cualquiera de los campos seleccionados, por ejemplo que aparezca ordenado por el código de estado.

En este punto la lista ya se encuentra completa, pero muestra el campo clave oculto. Como deseamos que este código sea visible, quitamos el check de la casilla de verificación llamada “Ocultar la columna clave (se recomienda)”, y luego ajustamos las columnas cual si se tratara de una pequeña hoja Excel.

17 Es importante señalar que no sólo debemos escoger el código del estado civil, sino también su significado para ayudar al usuario a determinar bien su escogencia.

30

Page 31: Nuestra Primera Base de Datos

En la siguiente pantalla, el asistente nos pregunta cuál es el campo cuyo valor deseamos almacenar en la tabla EMPLEADOS. En este caso es claro que deseamos almacenar el valor del campo COD_ESTADO, es decir el código del estado civil:

Ahora se nos indica en cual campo de la tabla EMPLEADOS deseamos almacenar el valor, en el cual elegiremos el campo EST_CIVIL:

Finalmente el asistente nos indica que el cuadro combinado tendrá un nombre asignado por el sistema. Aunque podríamos cambiar este nombre lo haremos en el siguiente paso. Con esto hacemos click en finalizar, y nuestro campo combinado queda listo.

31

Page 32: Nuestra Primera Base de Datos

Ahora sólo debemos formatear el campo combinado sustituto a fin de que luzca igual que el campo COD_EST borrado al inicio, con la diferencia de que mostrará una pequeña flecha de escogencia a su derecha (browser).

Ahora que ya hemos creado nuestro primer cuadro combinado, procedamos a crear uno de ellos para los campos llamados NIVEL_ACAD, DEPTO, y PUESTO.

5. Uso de botones de comando. Aún cuando el asistente que nos ayudó a crear el formulario inicial también nos proveyó de pequeños botones de comando, lo cierto es que ellos son muy pequeños y difíciles de localizar sobre todo para una persona con visión disminuída, seguidamente utilizaremos los botones de comando (6), para crear botones que puedan ayudarnos con este problema. Un botón de comando es un objeto que ejecuta una acción especial dentro del formulario, según su categoría. Supongamos que queremos crear un botón que nos permita avanzar un registro a la vez para ver la información contenida en él.

Para esto nos posicionamos en el pie del formulario, hacemos click en el objeto Botón del cuadro de controles, y dibujamos un botón del tamaño de una cuadrícula en la esquina inferior derecha del pie del formulario, tal y como se muestra seguidamente:

32

Page 33: Nuestra Primera Base de Datos

Cada botón pertenece a una Categoría definida y ejecuta una Acción definida, nuestro primer botón pertenece a la categoría Exploración de Registros, y la acción deseada es ir al registro siguiente. Seguidamente se nos muestra un catálogo de gráficas que podemos utilizar, seleccionamos ir al siguiente:

Finalmente, el asistente sugiere un nombre al botón de comando, el cual no cambiaremos, haciendo click en finalizar:

Hecho esto nuestro nuevo botón de comando se mostrará así:

33

Page 34: Nuestra Primera Base de Datos

Ahora procedamos a diseñar los siguientes botones:

Un botón de comando que permita ir al registro anterior. Un botón de comando llamado Agregar empleado (debe ser tipo texto. Un botón de comando para Cerrar el formulario.

El diseño final del formulario puede mostrarse así:

34

Page 35: Nuestra Primera Base de Datos

CASO III

LA CREACIÓN DE CONSULTAS

35

Page 36: Nuestra Primera Base de Datos

1. Creación de consultas

Una vez creada la estructura de la base de datos, y habiendo diseñado los principales formularios de acceso a datos, es de esperar que la misma empiece a recibir datos referidos a los empleados de la empresa. Con el tiempo una base de datos almacenará una gran cantidad de información la cual servirá de base, ya sea para las operaciones normales de la empresa, como por ejemplo el registro de la planilla de cada quincena, control de vacaciones, u otras acciones de personal, para estudios estadísticos posteriores como promedios de pago, cantidad pagada por mes y por departamento, o bien para el diseño de otras aplicaciones importantes.

La recuperación de dicha información es tal vez el proceso más importante que realiza el sistema gestor de base de datos (SGBD), el cual fue descrito anteriormente. Para el caso particular de ms-access así como de otros sistemas de bases de datos relacionales se logra mediante el uso de una interfaz del lenguaje SQL (structured query language por sus siglas en inglés. Para descubrir y aprender a utilizar esta poderosa herramienta de consulta vamos a iniciar con algunos ejemplos sencillos que iremos complicando paulatinamente.18

2. Consulta general

Supongamos que en nuestra base de datos a la cual hemos añadido en su tabla EMPLEADOS la información de los 60 empleados que conforman nuestra empresa, y que lo primero que deseamos extraer de toda la información contenida en sus campos, es la información referente a la cédula, nombre completo, sexo, estado civil, departamento, puesto y salario bruto de los mismos, en una lista general en orden ascendente por su nombre. Para realizar esta consulta nos posicionamos en la ficha crear, grupo otros y hacemos click en diseño de consulta19 como se muestra a continuación:

18 La comprensión de este lenguaje es de suma importancia en la operación de las bases de datos actuales, ya que del mismo dependen gran parte de las transacciones que realizamos diariamente en los sistemas informáticos, como las consultas de saldos, retiro de efectivo, estados de cuenta, pagos, etc.19 Aunque ms-access ofrece un asistente para consultas por el momento diseñaremos la consulta “a pie”, luego lo utilizaremos para crear otro tipo de consultas.

36

Page 37: Nuestra Primera Base de Datos

Como los campos que contienen la información que deseamos recuperar se encuentran todos en la tabla EMPLEADOS, seleccionaremos esta tabla haciendo doble click en su nombre y luego cerraremos el cuadro de diálogo.

Lo que se muestra en pantalla es el asistente de consultas, o interfaz del lenguaje SQL, desarrollado para ms-access 2007.

En la parte superior muestra la tabla escogida así como los campos que la conforman, en la parte inferior, solicita los parámetros necesarios para efectuar la consulta tales como el nombre del campo, la tabla de donde proviene, el orden virtual que debe mostrar, si el campo determinado debe mostrarse o no en la consulta, y el criterio al cual se sometará nuestra consulta.

37

Page 38: Nuestra Primera Base de Datos

Para seleccionar los campos requeridos en la misma únicamente debemos hacer doble click en cada uno de ellos:

CEDULA, NOMBRE, SEXO, EST_CIVIL, DEPTO, PUESTO, SALARIO_BRUTO

Observe que si bien la tabla original contiene 14 campos, la consulta únicamente desplegará 7 de ellos, sin mostrar los demás, si deseamos ejecutar la consulta debemos hacer click en el signo de interrogación ubicado en la ficha Diseño grupo resultados, la cual desplegará la consulta así:

38

Page 39: Nuestra Primera Base de Datos

Si deseamos volver al diseño, hacemos click en el grupo Vistas de la ficha Inicio. Seguidamente salvaremos nuestra consulta con el nombre CSLT_general, haciendo click en el ícono de salvado respectivo, observe que se forma un nuevo objeto en el explorador de objetos, cada vez que hagamos click en el mismo se activará nuestra consulta.

La estructura SQL de la consulta que acabamos de realizar puede ser visualizada en el grupo Vistas, y corresponde a la siguiente sentencia:

SELECT CEDULA, NOMBRE, SEXO, EST_CIVIL, DEPTO, PUESTO, SALARIO_BRUTOFROM EMPLEADOSORDER BY NOMBRE;

En esta nuestra primer consulta no le indicamos un criterio de búsqueda específico por lo que el SGBD, desplegó todos los registros.

3. Uso de Criterios simples

Procedamos ahora a realizar algunos cambios en nuestra consulta inicial. Supongamos que deseamos saber entre otras cosas

CRITERIO CONSULTA

¿Cuántas mujeres laboran en la empresa? CSLT_criterio_120

¿Cuántas personas tienen salarios brutos mayores o iguales a ¢500,000.00. CSLT_criterio_2

El Listado de las personas que laborar en el departamento01 ó 06 ordenado por departamento. CSLT_criterio_3

Un detalle de las personas cuyo salario bruto se encuentraEntre ¢300,000.00 y ¢500,000.00 CSLT_criterio_4

Todas utilizando los mismos campos señalados en la consulta general. La necesidad de información de cada una de las consultas anteriores, requiere de una condición particular a la cual denominaremos el criterio de la consulta, y que se debe ubicar al pie de las propiedades de la consulta. Veamos cada una en detalle:

20 Con el fin de estandarizar los nombres y contenidos de las consultas favor asignar los nombres sugerido39

Page 40: Nuestra Primera Base de Datos

CSLT_criterio_1. Mujeres que laborar para la empresa. Para esta consulta lo único que debemos añadir es el criterio que identifica el SEXO de la persona, sea este M o F, en nuestro caso es “F”:

CSLT_criterio_2. Salarios mayores o iguales a ¢500,000.00. El criterio en este caso se ubicaría al pie del campo SALARIO_BRUTO, y correspondería a >=50000021

21 Observe que en este caso el criterio no se encierra entre comillas por tratarse de un valor numérico.40

Page 41: Nuestra Primera Base de Datos

CSLT_criterio_3. Funcionarios que trabajan en departamento 01 o 06 ordenado por departamento.

CSLT_criterio_4. Salarios entre ¢300,000.00 y 500,000.00.

41

Page 42: Nuestra Primera Base de Datos

4. Uso de operadores

Estas dos últimas consultas ejemplifican el uso de los llamados operadores, los cuales sirven para formar expresiones de búsqueda, existen básicamente dos tipos:

Aritméticos. Controlan las operaciones aritméticas básicas.

Operador Operación+ Suma

- Resta

* Multiplicación

/ División

^ Exponenciación

De comparación. Facilitan la comparación de valores entre sí.

= Igual a< Menor que

<= Menor o igual que> Mayor que

>= Mayor o igual que<> Diferente de

AND Se utiliza cuando deben cumplirse dos condiciones al mismo tiempo

OR Se utiliza cuando solo debe cumplirse una de dos condiciones

NOT Operador de exclusión

En el asistente de consultas cuando un criterio se escribe en la misma línea que otro, el sistema asume que se refiere al operador AND, si se escribe una condición en una línea y otra en otra línea asume el operador OR.

Así por ejemplo si deseáramos desplegar en el criterio 1, las mujeres de la empresa cuyo estado civil sea casado (CA), la consulta resultante sería:

42

Page 43: Nuestra Primera Base de Datos

5. Uso de una variable en un criterio

Las consultas creadas anteriormente brindan una información muy importante sobre la tabla EMPLEADOS, con el inconveniente que su criterio es siempre el mismo, es decir es un criterio basado en una constante. En ms-access 2007 es posible hacer que el criterio de búsqueda dependa de una variable cuyo valor puede ser indicado por el usuario como se muestra en los dos ejemplos siguientes:

CRITERIO CONSULTA

Solicitar la información referente a un empleado en particularcon sólo digitar su número de cédula CSLT_criterio_5

Desplegar todos los salarios brutos ubicados entre un rangoDefinido por el usuario CSLT_criterio_6

En este caso en particular el criterio debe encerrarse entre corchetes cuadrados, los cuales definirán la variable, cuyo valor deseamos introducir como se muestra a continuación:

43

Page 44: Nuestra Primera Base de Datos

CSLT_criterio_5

CSLT_criterio_6

44

Page 45: Nuestra Primera Base de Datos

6. Consulta de varias tablas

El poder relacional de ms-access hace posible que podamos escoger campos de todas las tablas que componen la estructura de la base de datos, por ejemplo tomar campos de la tabla EMPLEADOS, DEPARTAMENTOS Y PUESTOS. Para ver un ejemplo, diseñemos una nueva consulta que llamaremos CSLT_multitabla, la cual contendrá la cédula, nombre completo, sexo, estado civil, código de departamento, nombre del departamento, código de puesto, nombre de puesto y salario bruto. Nuestra consulta se mostrará de esta forma:

Observe que aunque el código de departamento proviene de la tabla EMPLEADOS, su nombre es tomado de la tabla DEPARTAMENTOS, consecuentemente el nombre del puesto es tomado de la taba PUESTOS, creando algo así como un “collage” con los datos de las tres tablas.

45

Page 46: Nuestra Primera Base de Datos

Al activar la consulta el listado se mostrará así:

7. Creación de campos derivados mediante una consulta

Las bases de datos guardan datos primarios de las entidades que conforman sus tablas, sin embargo mucha de la información que utilizamos en nuestro medio, proviene de transformaciones matemáticas de esos mismos datos a los que llamaremos datos derivados. Así por ejemplo, la edad es un dato derivado de la fecha de nacimiento, el saldo de una cuenta es resultado de la sumatoria de los débitos + ó – los créditos que la misma recibió según sea su saldo deudor o acreedor, el total pagado a una persona de su salario neto es igual a su salario bruto menos sus deducciones aplicables (CCSS, asociación solidarista, embargos, cuentas por pagar a la empresa, etc.)

Seguidamente vamos a realizar un pequeño ejercicio para ejemplificar la creación de este tipo de campos22:

Modificaremos la consulta multitabla, e introduciremos en ella tres campos derivados llamados CCSS, ASOC y SALARIO_NETO, el porcentaje aplicable al primero es de 9,17%, para la Asociación será del 5%. A esta nueva consulta la llamaremos CSLT_derivada

Para realizar esto debemos posicionarnos en la última columna de la consulta y designaremos cada uno de los campos indicados seguidos de “:” (dos puntos) y luego establecemos la fórmula matemática respectiva, derivada el SALARIO_BRUTO.

22 Más adelante en el curso veremos una aplicación más compleja de este tipo de campos.46

Page 47: Nuestra Primera Base de Datos

CCSS: SALARIO_BRUTO*0,0917 ASOC: SALARIO-BRUTO*0,05 SALARIO_NETO: SALARIO_BRUTO-CCSS-ASOC

8. Creación de formularios sobre consultas

Tal y como vimos anteriormente en caso II, es posible crear formularios no sólo sobre tablas sino también sobre consultas, de hecho en la mayoría de los casos es mejor esta segunda opción ya que nos permite aplicar toda la versatilidad de una consulta a una interfaz de formulario.

A fin de ejemplificar lo anterior proceda a crear dos formularios, uno para la consulta CSLT_derivada, y otra para la consulta llamada CSLT_criterio_5, siga las indicaciones de su instructor posteriormente, a fin de modificarlas.

47

Page 48: Nuestra Primera Base de Datos

CASO IV

LA CREACIÓN DE INFORMES

48

Page 49: Nuestra Primera Base de Datos

Creación de informes. El diseño de un informe no es muy diferente a la creación de una consulta, salvo que en el caso de estos es posible imprimirlos. Según esta lógica podemos decir que un informe no es más que una consulta imprimible, y como tal su utilidad dependerá en gran medida de que tan buena sea la consulta sobre la que se basa.

Para esto vamos a crear un informe para la consulta llamada CSLT_derivada, para lo cual haremos click en el asistente para informes, de la ficha crear, y seleccionamos la consulta indicada y todos sus campos:

Hacemos click en siguiente y seleccionamos ver los datos por departamento23

23 Debido a que nuestra consulta incluye campos de varias tablas, Access 2007 nos permite establecer el informe según sea por DEPARTAMENTOS, por EMPLEADOS, o por PUESTOS, ya que estas son las que componen la consulta base.

49

Page 50: Nuestra Primera Base de Datos

Haciendo click en siguiente podemos elegir algún agrupamiento en especial, por ejemplo agruparlo por PUESTOS, sin embargo para nuestros efectos lo dejaremos sin agrupar.

Hacemos click en siguiente y ordenamos los datos por NOMBRE del empleado, adicionalmente tenemos algunas opciones de resumen que nos permiten calcular subtotales, y otras medidas estadísticas, de los campos numéricos incluídos en las consultas. Veamos

50

Page 51: Nuestra Primera Base de Datos

Hacemos click en siguiente y seleccionamos la distribución que más se adecúe a nuestros propósitos, en nuestro caso por pasos, así como la orientación que deseamos para la hoja de papel, la cual dependerá de la cantidad de columnas que se incluyan en un informe, en nuestro caso como tenemos una cantidad considerable de columnas, la más adecuada sería la orientación Horizontal

En la pantalla siguiente podemos seleccionar un estilo para nuestro informe, el cual como es lógico suponer podremos variar posteriormente.

Finalmente grabamos nuestro informe con un nombre adecuado para su contenido, en nuestro caso le llamaremos RPT_PLANILLA

51

Page 52: Nuestra Primera Base de Datos

Observe que ahora aparece en el panel de exploración un nuevo objeto correspondiente a nuestro informe. Su presentación final podría mostrarse así:

Ahora proceda a realizar un informe de tipo justificado para la consulta llamada CSLT_PAGO, este reporte debe llamarse RPT_PAGO.

52

Page 53: Nuestra Primera Base de Datos

CASO V

El panel de control y la creación de un ambiente de seguridad

53

Page 54: Nuestra Primera Base de Datos

1. El panel de control.

A este punto ya hemos completado la casi totalidad de los pasos que indicamos al inicio del curso y hemos diseñado los cuatro tipos fundamentales de objetos que conforman nuestra base de datos, a saber:

1. Tablas2. Formularios3. Consultas4. Informes

Ahora bien nuestra base, si bien se encuentra bastante avanzada, dista mucho de proveer una utilidad y seguridad propia para uso por parte de terceros, ya que debemos diseñar un mecanismo a través del cual el usuario pueda acceder a los formularios, pero sin tener la capacidad de cambiar su estructura, o modificar su diseño. Para esto debemos primero crear lo que se conoce como el panel de control de la aplicación24, el cual procederemos a realizar seguidamente.

Haga click en el grupo Herramientas de base de datos, de la ficha del mismo nombre. En este grupo seleccione Administrador del panel de control. El asistente indicará que si desea crear el panel, a lo que respondemos Sí. El cuadro de diálogo se mostrará como sigue:

24 Existen muchas formas de crear un menú principal, la que estudiaremos aquí es la más sencilla y útil para aquellas personas que no tienen mucha experiencia en Access.

54

Page 55: Nuestra Primera Base de Datos

Antes de seguir adelante es conveniente indicar que para que una consulta o tabla pueda ser visualizada a través del panel, debe contar previamente con un formulario o un informe, ya que el panel hará referencia únicamente a estos dos tipos de objetos. Otro aspecto importante es que en cada panel se pueden incluír sólo 8 opciones, por lo que si requiere de más opciones debe necesariamente crear paneles vinculados.

El panel mostrado es el panel por defecto de ms-access 2007, este será nuestro menú de arranque. Hagamos click en modificar, e inmediatamente en nueva:

Como primer botón estableceremos uno llamado “Registro de empleados”, cuya acción será abrir el formulario en modo Agregar , el formulario EMPLEADOS de esta forma:

55

Page 56: Nuestra Primera Base de Datos

Seguidamente procederemos a repetir los pasos anteriores a fin de incluír los siguientes botones:

Texto Comando FormularioRegistro de empleados Abrir el formulario en modo

agregar.EMPLEADOS

Incluír departamentos Abrir el formulario en modo agregar.

DEPARTAMENTOS

Actualizar puestos Abrir el formulario en modo edición.

PUESTOS

Consulta de planilla Abrir el formulario en modo edición.

FRM_PLANILLA

Reporte de Pago Abrir el informe RPT_PAGO

Reporte de Planilla Abrir el informe RPT_PLANILLA

Una vez terminado el panel de control debe mostrarse así:

56

Page 57: Nuestra Primera Base de Datos

Finalmente procedemos a hacer click en Cerrar, con lo que se formarán 2 objetos adicionales:

1. Una tabla llamada Switchboard Items.2. Un formulario llamado Panel de control.

Este último al activarlo directamente mostrará el panel de la siguiente forma:

Ahora podemos darnos a la tarea de modificar dicho panel al igual que lo hemos hecho con los formularios anteriores, en la vista diseño. Estando en esta vista haga click derecho y selecciones Encabezado y pie de formulario. En el área del encabezado inserte un etiqueta utilizando el cuadro de controles, de la ficha diseño que diga Sistema de planillas, modifíquela a su gusto.

En el pie de formulario inserte un botón de comando de la categoría Aplicación que permita Salir de la aplicación

Importante. El panel de control es un formulario especial que incluye varios procedimientos de macro, relacionados con la etiqueta que muestra al inicio, “no borre esta etiqueta” si no desea que aparezca en a vista inicial únicamente márquela y cambie su propiedad Visible25

25 Para esto siga las indicaciones de su instructor.57

Page 58: Nuestra Primera Base de Datos

El panel de control debe mostrarse como el siguiente ejemplo:

2. Incorporación de elementos de seguridad.

Como hemos visto es posible crear un menú de acceso que guíe al usuario en la aplicación, el mismo tiene dos propósitos fundamentales:

1. Establecer un formulario integrado a partir del cual el usuario pueda tener un acceso ordenado y controlado a los objetos del sistema.

2. Servir de mecanismo de control, para que el usuario no accese partes sensibles del sistema como por ejemplo la estructura, o tablas de datos o consultas.

Sin embargo esto por sí sólo no garantiza que el usuario no sienta la “humana tentación” de accesar otros elementos del sistema para lo cual debemos inhibir hasta donde sea posible este deseo.

Primeramente cambiaremos la configuración inicial básica de ms-access, haciendo click en el botón de office ubicado en la esquina superior izquierda de la pantalla.

58

Page 59: Nuestra Primera Base de Datos

Siempre en esta pantalla hacemos click en Opciones de Access, y luego en Base de datos actual, el la opción Mostrar formulario elegiremos el formulario Panel de Control que recién hemos creado, esto hará que cuando accesemos nuestra base este formulario sea activado por defecto. Luego

59

Page 60: Nuestra Primera Base de Datos

Luego elegiremos Ventanas superpuestas, en la opción opciones de ventana de documentos y eliminaremos el check, de las opciones de permitir cambios en el diseño de tablas, Mostrar el panel de exploración y permitir el uso de menúes. Las modificaciones deben mostrarse así.

Seguidamente, nos posicionaremos en la opción Centro de confianza, y haremos click en Configuración del centro de confianza

60

Page 61: Nuestra Primera Base de Datos

Una vez en ella hacemos click en Configuración de macros, y elegimos habilitar todas las macros:

Finalmente hacemos click en aceptar, y luego cerramos la base de datos completamente y la volvemos a abrir a fin de que nuestros cambios se reflejen en ella así:

61

Page 62: Nuestra Primera Base de Datos

Note que ahora ya no es posible accesar al panel de exploración ni cambiar nada del diseño original, y el panel de control se muestra automáticamente a entrar a la base de datos.

3. Establecimiento de un password general de acceso26

Finalmente estableceremos un password general para nuestra base. Para esto debemos cerrar completamente nuestra base, haciendo click en el botón de salida del panel de control; luego debemos abrir ms-acces, sin abrir la base, y ubicar el subdirectorio donde la misma se encuentra. Seguidamente marcamos la base (sin abrirla) y seleccionaremos la opción de abrir en modo exclusivo ubicada en la esquina inferior derecha del cuadro de diálogo respectivo; manteniendo oprimida la tecla Shift al hacerlo:

Al mantener oprimida dicha tecla notará que todas las especificaciones anteriores fueron ignoradas.

Ahora vaya a la ficha Herramientas de la base de datos, y seleccione el ícono de establecer contraseña para la base de datos y defina su password.27

26 Ms-access provee muchas otras opciones para su seguridad, como por ejemplo la definición de perfiles y grupos de usuarios, y encriptación de la base, sin embargo estos elementos no forman parte del contenido del presente curso.27 Asegúrese de no olvidar su clave para no tener inconvenientes serios que lo lleven incluso a perder todo su trabajo.

62

Page 63: Nuestra Primera Base de Datos

CASO VI

Creación de formularios complejos

63

Page 64: Nuestra Primera Base de Datos

Como vimos anteriormente, es posible crear formularios basados en tablas, y en consultas. Sin embargo a fin de crear formularios aún más útiles podemos combinar estos tres objetos (tablas, consultas y además fomularios) logrando lo que se conoce con el nombre de un sub-formulario, es decir un formulario dentro de otro, ambos basados en consultas.

Para este caso tomaremos en consideración las tablas llamadas QUINCENAS y DETALLE_PAGO. Estas dos tablas en conjunto llevan el registro de lo pagado por quincena a cada empleado, pero para llevar este registro eficientemente ambas deben trabajar como una sola unidad lógica.

Comencemos creando una consulta para cada una de las tablas separadamente. La consulta necesaria para la tabla QUINCENAS deberá contener todos los campos que integran la tabla, y la llamaremos CSLT_QUINCENA.

Seguidamente, diseñaremos una consulta un poco más elaborada para la tabla DETALLE_PAGO, utilizando los campos que la componen, combinando con campos de la tabla empleados y creando campos calculados para totalizar las deducciones, los ingresos, y el cálculo del salario neto a pagar. Veamos en detalle su composición:

64

Page 65: Nuestra Primera Base de Datos

CAMPO TABLAID_QUINCE DETALLE_PAGOID_MES DETALLE_PAGOID_AÑO DETALLE_PAGOID_EMPLEADO DETALLE_PAGONOMBRE EMPLEADOSSAL_BRUTO_ACT DETALLE_PAGOHRS_EXTRAS DETALLE_PAGOTOTAL_EXTRAS Campo calculado (SAL_BRUTO_ACT/30/8)*1.5*HRS_EXTRASCOMISIONES DETALLE_PAGOOTROS_ING DETALLE_PAGOTOTAL_INGRESOS Campo calculado (SAL_BRUTO_ACT+TOTAL_EXTRAS+

COMISIONES+OTROS_ING)CCSS Campo calculado (TOTAL_INGRESOS*0.0917)EMBARGOS DETALLE_PAGOPENSIONES DETALLE_PAGOIMPTO_SAL DETALLE_PAGOCTAS_COB_EMPL DETALLE_PAGOOTROS_REB DETALLE_PAGOTOTAL_DEDUC Campo calculado (CCSS+EMBARGOS+PENSIONES+

IMPTO_SAL+CTAS_COB_EMPL+ OTROS_REB)

SALARIO_NETO Campo calculado TOTAL_INGRESOS-TOTAL_DEDUC

Esta consulta será llamada CSLT_DETALLE_PAGO.

Ahora procederemos a crear un formularios mediante el asistente, combinando ambas consultas en el mismo, seleccionando primero la CSLT_QUINCENA, y luego la CSLT_DETALLE_PAGO de la siguiente forma:

65

Page 66: Nuestra Primera Base de Datos

Y hacemos click en siguiente:

Observe que ahora el asistente muestra dos formularios uno dentro del otro, hacemos click en siguiente y seleccionamos para el sub-formulario una distribución tabular, que nos permita distribuir adecuadamente los campos del mismo:

66

Page 67: Nuestra Primera Base de Datos

En el paso siguiente elegimos el estilo que más se adecúe a nuestra aplicación, tal y como lo hicimos anteriormente, hacemos click en siguiente:

Como vemos ahora se han creado dos formularios vinculados entre sí por la misma estructura de relación que establecimos al inicio entre ambas tablas:

Ahora procederemos a variar el diseño inicial de nuestro formulario, a fin de que su distribución quede lo más estéticamente posible para su uso, para esto siga atentamente las indicaciones de su instructor.

67