access para abogados

27
. . . . . . . . . . Informática para Juristas Unidad 4. . . . . . . . . . . Bases de Datos Relacionales: Microsoft Access

Upload: enmanuel-araujo-laurenzano

Post on 14-Jul-2016

25 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Access Para Abogados

. . . . . .. . . . .

Informática para Juristas

Unidad 4.

. . . . . . . . . .

Bases de Datos Relacionales: Microsoft Access

Page 2: Access Para Abogados

4.1 INTRODUCCIÓN A LAS BASES DE DATOS

Son dos los modelos de bases de datos presentes en el mercado, que pueden resultar de interés para el jurista. Por un lado, el modelo relacional con su capacidad estructuradora y, por otro, el documental con su flexibilidad en la interrogación. Son modelos complementarios y apropiados para la resolución de diferentes problemas.

La información generada en un gabinete jurídico referente a clientes, expedientes, abogados, procuradores, contrarios, abogados contrarios, agenda, anotaciones económicas, etc, debe ser gestionada, mediante una base de datos relacional, que aporte la posibilidad de generar varias tablas que, posteriormente, serán relacionadas para conseguir consultas e informes elaborados. Las bases de datos relacionales están orientadas a tratar información estructurada. Un expediente tiene unos datos muy concretos (nº de indentificación, nº de autos, cuantía, cliente, contrario, abogado, procedimientos, movimientos económicos) de naturaleza diferente. Por otro lado, las consultas van a ser muy complejas, en cuanto al coste de su elaboración, pero predecibles: listados de clientes con expedientes de cuantía superior a 30.000€, listados de impagados, etc.

Otro problema muy diferente es la gestión de la información relacionada con legislación, jurisprudencia, bibliografía, etc. En este caso, nos enfrentamos a la necesidad de almacenar datos textuales de gran longitud. Pensemos en una base de datos de jurisprudencia en la que se pretende almacenar el contenido íntegro, de las sentencias. Las consultas son muy impredecibles, no sabemos cuál es el término de jurisprudencia, que utilizará el usuario para realizar su búsqueda. Esto conduce a bases de datos estructuradas en una sola tabla, con pocos campos textuales de gran dimensión, y lenguajes de recuperación flexibles, con todas las palabras relevantes indexadas.

El estudio de las bases de datos requiere de un esfuerzo teórico, previo, que vamos a intentar minimizar en el siguiente apartado.

4.2 LAS BASES DE DATOS RELACIONALES

4.2.1 Introducción

Uno de los problemas, que habitualmente pretendemos automatizar, es el almacenamiento de información, referente a un objeto o conjunto de objetos. Por ejemplo, el usuario podría plantearse la necesidad de almacenar información sobre sus amigos, con sus nombres, apellidos, números de teléfono, etc. Nos situaríamos ante un problema más complejo sí quisiéramos almacenar la información referente a los clientes de un negocio y sus pedidos. En este caso, podemos identificar varios objetos: los clientes, con su DNI, nombre, teléfono, etc; los artículos en venta con su código de artículo, descripción precio, etc; y los pedidos con su código de pedido, cliente, artículos del pedido y precio total. Como vemos en este último ejemplo, estamos almacenando información sobre varios objetos de naturaleza diferente, que están relacionados entre sí. Podríamos, en un primer intento de solución, almacenar los datos en ficheros de texto y tratarlos con un procesador de textos. Supongamos que el usuario que informatizó, así, su lista de amigos, necesita una lista de todos aquellos que son de Alicante. Posiblemente nuestro personaje pasaría un buen rato seleccionando a sus amigos. Pero qué pasaría sí el gerente de la empresa necesitara una lista de aquellos

Page 3: Access Para Abogados

clientes que han hecho pedidos, por un valor superior a dos millones, para aplicarles una política de descuentos distinta. Posiblemente, en este caso, el informe tardaría semanas en elaborarse.

Se plantea, por lo tanto, la necesidad de programas que sean capaces de estructurar la información, que pretendemos almacenar, y que proporcionen herramientas para responder rápidamente a consultas, como las anteriormente planteadas. Estas aplicaciones son los sistemas de gestión de bases de datos y almacenan la información en ficheros, que llamaremos bases de datos. Los ficheros de bases de datos describen un objeto mediante una serie de características. Para ello tienen estructura de tabla, siendo cada columna de la tabla una de estas características y cada fila de la tabla la descripción de un objeto en concreto.

Apellidos Nombre Dirección Ciudad Teléfono

Ferrández Marco Antonio C.Trinidad 27 Alicante 5120023

Rodríguez Leiva Alicia C.Doblados 15 Alicante 5122522 Romero Peña Soledad C San Juan 21 Elche 5452734

Sanchez Garcia Celia C.Hospital Elche 5450702 Solbes Prada Juan C.Fossar Elche 5450453 Soriano Roca Luis C.Pasarela Alicante 5120322

Los sistemas de gestión de bases de datos (SGBD) nos permiten mantener la información de forma sencilla y amigable. Para ello, incorporan la posibilidad de diseñar interfaces para la manipulación de los datos (introducción, borrado y modificación), a medida del usuario.

Las consultas sobre las bases de datos pueden llegar a ser bastante complejas. En ocasiones se requiere relacionar varias tablas y realizar operaciones matemáticas o de selección, que serían costosas para un ser humano. Por esto, los SGBD incorporan utilidades de desarrollo de consultas, que nos dan la posibilidad de generar vistas parciales de la base de datos (por ejemplo, clientes que ingresan más de dos millones), en tiempos sorprendentes.

La información proporcionada por el SGBD debe ser lo más comprensiva y sugerente que sea posible. Por tal motivo, existen herramientas de elaboración de informes que pueden incluir gráficos y formatos y un sin fin de elementos ilustrativos.

El objetivo es convertir los datos en información de la que se pueda extraer conclusiones rápidas, agilizando la gestión.

4.2.2 Estructura de las bases de datos

En al apartado anterior hemos introducido, ya, el concepto de Base de Datos. Vamos a utilizar en éste la terminología apropiada para definir los conceptos.

Las bases de datos son ficheros con estructura de tabla, donde hay filas y columnas.

Fila(registro o tupla): Cada registro corresponde a un objeto sobre el que se posee información. Por ejemplo, en la base de datos de amigos sería una persona en concreto.

Page 4: Access Para Abogados

Columna(campo o atributo): Característica descriptiva del objeto. Por ejemplo, en la base de datos de artículos podríamos tener un campo llamado código de artículo.

Podríamos definir las bases de datos como ficheros que contienen tablas formadas por registros, que corresponden a un objeto al que describen mediante una serie de campos. La primera fila de estas tablas estaría dedicada a almacenar los nombres de los campos.

El siguiente ejemplo muestra una base de datos que contiene información sobre los artículos de una empresa de informática.

Código-Artículo

Nombre Descripción Precio/Unidad

Cantidad-Stock

0321 Ratón Genius Ratón 900 30 0322 Sound Blaster Tarjeta de sonido 12000 15 0323 Iomega Zip Dispositivo de volcado 35000 5 0324 Tarjeta Teles Tarjeta RDSI 18000 5

La estructura de una base de datos estará formada por los nombres de sus campos y las características de estos. Cuando creamos una base de datos, el SGBD nos pregunta por los nombres de los campos y por las características de estos. Tendremos la posibilidad de indicar que el campo nombre es de texto, que el campo Cantidad-Stock (cantidad en existencias de un artículo) es numérico o que el campo Precio/Unidad (precio por artículo) es monetario.

Características de los campos: En general, las características de los campos suelen expresarse mediante su tipo, dimensión y alguna característica adicional. Vamos a estudiar cada una de éstas.

Tipo de campo: Hace referencia a la naturaleza de los datos que vamos a almacenar en ese campo. Podemos encontrar los siguientes tipos (los tipos de campos varían, según la versión del SGBD).

Alfanumérico: Datos de carácter textual. En este caso, será necesario expresar la longitud del campo. De esta forma, la reserva de espacio para expresar un nombre de pila será inferior que la utilizada para la dirección de una persona.

Numérico: Datos de carácter numérico. No se indica la longitud del campo.

Fechas: Formato de datos especial para expresar fechas.

Monetario: Campos de carácter monetario

Memo: El tipo de campo memo nos facilita indicar que un campo contendrá texto de longitud no definida. Supongamos que en una base de datos bibliográfica queremos incluir un campo resumen para expresar los contenidos de un libro. En este caso, el campo podrá tener dimensiones que varían según los casos.

Page 5: Access Para Abogados

Gráfico: Podemos incluir campos que contengan imágenes. Por ejemplo, en nuestra base de datos de amigos podríamos incluir una fotografía de cada uno de ellos.

Existen otros tipos de campos dependiendo del SGBD que se utilice.

Dimensión del campo: Los campos alfanuméricos precisan de la definición de la longitud del campo para optimizar el uso de la memoria. De esta forma, expresaremos que el campo Apellidos es alfanumérico de tamaño cincuenta, y el campo Nombre es alfanumérico de tamaño veinte. Debemos intentar que las reservas de memoria sean suficientes para el tipo de datos que se ha de almacenar.

Información adicional: Los SGBD permiten almacenar otras características de los campos como valores por defecto, plantillas de introducción de datos, etc.

Veamos la definición de la estructura de la base de datos del ejemplo anterior.

Código-Artículo

Nombre Descripción Precio/Unidad Cantidad-Stock

Alfanumérico [10]

Alfanumérico [30]

Memo Monetario Numérico

4.2.3 Sistemas gestores de bases de datos (SGBD)

Como ya hemos indicado, los sistemas gestores de bases de datos son los programas o aplicaciones que se encargan de la manipulación de las tablas de las bases de datos, con el fin de proporcionarnos una serie de funciones, comunes a la mayoría de los sistemas

Las funciones más habituales de los SGBD son las siguientes:

Añadir, modificar y borrar datos: Las modificaciones de los datos de las bases de datos no se suelen hacer directamente sobre las tablas. En la mayoría de los casos, se diseñan interfaces de introducción de datos a medida del usuario. Frecuentemente estos interfaces introducen datos sobre varias tablas a la vez. Pensemos en la pantalla de introducción de datos de los pedidos de un cliente. La interfaz debería permitirnos meter datos relativos al cliente, al mismo tiempo que relacionarlos con un pedido en concreto.

Buscar: Las búsquedas de datos concretos se agilizan con el uso de SGBD. Podremos consultar los datos de un cliente, en concreto, en tiempos muy reducidos.

Ordenar: Las tablas están físicamente ordenadas en orden de introducción de los datos. Pero, en muchos casos, se hace necesario tener vistas de las bases de datos con ordenaciones diferentes. Por ejemplo, por apellidos, por código de cliente o por cantidad económica de pedidos.

Consultar: La elaboración de consultas es uno de los temas más complejos de las bases de datos. Muchas veces queremos ver datos resumidos de varias tablas. Supongamos que queremos obtener una lista de todos aquellos clientes, cuyos pagos se retrasan en más de un mes. Esta consulta selecciona datos que pertenecen, posiblemente, a varias tablas; por un lado, la tabla de datos del cliente y, por otro, la tabla que contiene la información de los pedidos. Los SGBD nos proporcionan herramientas para la realización de

Page 6: Access Para Abogados

consultas complejas, incluso sin la necesidad de utilizar ningún lenguaje de programación.

Generar informes: En muchos casos, la información requerida al sistema no es un simple listado, sino un informa del que se puedan extraer conclusiones. Los SGBD ofrecen utilidades para el desarrollo de informes, en los que podremos incluir gráficos y presentaciones a nuestra medida.

Calcular valores: Por último, los requerimientos del sistema pueden implicar el cálculo de valores numéricos. Por ejemplo, cálculo de la facturación anual por clientes. Para esto las bases de datos son capaces de generar campos calculados en función de otros campos.

Existen en el mercado numerosos sistemas de gestión de bases de datos. La más difundida, para el sistema operativo MS_DOS ha sido DBASE en sus sucesivas versiones, DBASE III, DBASE IV. También, ha sido muy utilizado el SGBD CLIPPER, entre otros. Dentro de la Bases de datos para Windows podríamos destacar PARADOX y, por supuesto, la de la compañía Microsoft llamada ACCES. Para la gestión de Bases de datos potentes y distribuidas (las consultas a la bases de datos se generan desde clientes diferentes) han sido muy utilizados los sistemas Informix y Oracle, aunque actualmente se está empezando a utilizar el SQL server de Microsoft.

Figura 1

ALGUNOS SGBD

Bases de datos potentes para sistemas distribuidos INFORMIX ORACLE

SQL SERVER INTERBASE

Bases de Datos para windows PARADOX

ACCESS

Bases de Datos de MS-DOS.

DBASE III, IV CLIPPER

4.2.4 Base de datos relacional y su diseño

Todos los SGBD, antes mencionados, siguen un modelo llamado relacional. El modelo relacional está indicado para organizar la información cuando ésta es de naturaleza estructurada, como es el caso de la mayoría de entidades organizativas. Estos problemas se formulan mediante información muy concreta. Por ejemplo, la de sus clientes (nombre, apellidos, DNI, dirección) artículos (cod-articulo, nombre, precio, cantidad) etc. Como vemos, los campos son muy concretos y de extensión limitada. Por otro lado, las preguntas que se van a realizar al sistema son bastante predecibles: listados de clientes, listados de artículos, etc.

La complejidad de estos problemas viene dada por la gran cantidad de objetos que relacionan. Pensemos en una gran empresa que trata información de clientes, artículos, proveedores, compras, ventas, personal, etc. En muchos casos, podemos encontrarnos con SGBD que relacionan decenas de ficheros de bases de datos, elaboran cientos de informes y consultas, etc. Además, la particularidad de cada problema hace que soluciones estándar (paquetes de propósito general) no sean las adecuadas en ocasiones.

Page 7: Access Para Abogados

Vamos a poner un ejemplo que ilustre la imposibilidad de recurrir a una única tabla para almacenar la información, y, por lo tanto, la necesidad de generar varias tablas relacionadas entre ellas.

Queremos almacenar información sobre los alumnos de un centro de estudios. Las asignaturas impartidas en el centro, indicando que alumnos están matriculados en qué asignaturas. Pensamos en una primera aproximación, en almacenar toda la información en una tabla (No incluimos más datos de los alumnos, ni de las asignaturas, por razones de espacio).

DNI Nombre Año Nacim

Datos Alumno

Cod asig

Nombre_Asig Cred Datos asig

22000456 Raúl Pedraza 1976 ... CMA Comp. Matemáticas 6 ... 22000456 Raul Pedraza 1976 ... EST Estadística 6 ... 22000456 Raúl Pedraza 1976 ... IO Invest. Operativa 6 ... 22000456 Raúl Pedraza 1976 ... CN Calculo Numérico 4 ... 22000456 Raúl Pedraza 1976 ... IB Informática Básica 4 ... 22000456 Raúl Pedraza 1976 ... AC Arquit. Computa. 4 ... 22000456 Raúl Pedraza 1976 ... RN Redes Neuronales 4 ... 22000456 Raúl Pedraza 1976 ... IAR Inte. Artificial 4 ... 22000123 Elena Sanz 1974 ... CMA Comp. Matemáticas 6 ... 22000123 Elena Sanz 1974 ... EST Estadística 6 ... 22000123 Elena Sanz 1974 ... IO Invest. Operativa 6 ... 22000123 Elena Sanz 1974 ... CN Calculo Numérico 4 ... 22000123 Elena Sanz 1974 ... IB Informática Básica 4 ... 22000123 Elena Sanz 1974 ... AC Arquit. Comput. 4 ... 22000123 Elena Sanz 1974 ... RN Redes Neuronales 4 ... 22000123 Elena Sanz 1974 ... IAR Inte. Artificial 4 ...

Como observamos en la tabla anterior, hemos repetido los datos de Raul tantas veces como asignaturas tiene matriculadas. Si ordenáramos la tabla por asignaturas, cada asignatura repetiría sus datos para cada uno de los alumnos matriculados en ella. Esta forma de organizar los datos provoca redundancias en la información. Las consecuencias son:

Mayor coste de modificación de los datos: Supongamos que tenemos que cambiar el número de créditos de una asignatura. Este cambio deberá hacerse en cada uno de los registros en los que aparece la asignatura.

Mayor complejidad en operaciones: Las operaciones de búsqueda serán más complejas por la repetición de estos datos.

Mayor espacio en disco: Por supuesto, la redundancia de información supone mayor tamaño de los ficheros.

El problema es que hemos intentado almacenar información de varios objetos en la misma tabla. Podemos identificar varios objetos. Por un lado, las asignaturas, por otro, los alumnos y, por último, la relación de matriculación entre ambos objetos.

Page 8: Access Para Abogados

Asignaturas Codigo_asig

Nombre_asignatura

CMA Complement Matemat EST Estadística IO Investig.Operativa

inobpe

Elesfa

Alumnos DNI Nombre Fecha

Nacim Datos Alumno

22000456 Raul Pedraza 1976 ... 22000123 Elena Sanz 1974 ... ... ... ... ...

CN Cálculo Numérico

IB Informática Básica AC Arquitectura de Comp RN Red Neuronales IAR Intel Artificial ... ...

Esta distribución de las tablas permite almacenar los datos sin redundancia. En una tabla almacenamos los datos personales de los alumnos, en la otra los datos de las asignaturas y en la última guardamos la relación de matriculación. Esta tabla utiliza un único campo para el alumno y otro para la asignatura con el fin de relacionarlos. Estos campos han de identificar, unívocamente, a los registros de su tabla. El DNI identifica a las personas y el código de asignatura a las asignaturas. A estos campos los llamamos campos clave.

Con esta estructura de tablas, la respuesta al requerimiento Lista de alumnos de una asignatura es

mediata. El SGBD buscará el código de asignatura en la tabla matriculación y tendrá la lista de DNI, correspondiente. Para completar el informe extraerá los datos rsonales para cada uno de los DNIs. Este proceso es automático y rápido.

Relación de matriculación DNI Codigo_asig 22000456 CMA 22000456 EST 22000456 IO 22000456 CN 22000456 IB 22000456 AC 22000456 RN 22000456 IAR 22000123 CMA 22000123 EST 22000123 IO 22000123 CN 22000123 IB 22000123 AC 22000123 RN 22000123 IAR

diseño de bases de datos, en algunos casos, es complejo y pertenece al terreno de los pecialistas en diseño y gestión de bases de datos. El proceso desarrollado sigue varias ses:

Análisis de las tareas: Lo primero que hay que hacer para diseñar una base de datos es elaborar una lista de tareas que queremos que nuestro sistema sea capaz de desarrollar. Por ejemplo, introducción de matrículas de alumnos, listados de alumnos por asignatura, informes de notas para los alumnos.

Esquematización del flujo de tareas: En esta fase se agrupan las tareas por temas y se esquematizan las relaciones de unas y otras tareas. El resultado de unas tareas puede ser la fuente de datos para otras. Por ejemplo, el proceso de matriculación debe ser previo a la elaboración de listados para profesores. Para este proceso se utilizan diagramas de flujo de datos que nos permiten esquematizar los procesos.

Análisis de los datos: Consiste en enumerar para cada tarea los datos que van a estar involucrados. Por ejemplo, en la tarea de matriculación debemos introducir los datos personales de los alumnos (DNI, nombre, Apellidos, teléfono...), además de las asignaturas de las que se matricula.

Page 9: Access Para Abogados

Diseño de datos, normalización: Después de enumerar los elementos de información (Nombre, Dni...) es necesario organizarlos en tablas, para que no se produzcan redundancias de información y que el almacenamiento sea óptimo. Este es un proceso algebraico llamado normalización, que nos permite obtener el conjunto de tablas óptimo.

Prototipado: Consiste en la construcción de una primera aproximación a la aplicación final, utilizando las herramientas de cálculo de consultas y generación de informes rápidos, que nos dan los SGBD.

Construcción de la aplicación: Hay casos sencillos en los que el prototipo coincide con la aplicación final. Pero en los casos más complejos hay requerimientos del sistema que precisan del uso de algún lenguaje de programación.

Verificación, revisión y refinamiento: Por último los requerimientos del sistema sufren evolución, y por tanto, hacen necesaria una revisión periódica del sistema.

Todo este proceso no es artesanal y en proyectos complejos requiere de conocimientos especializados. Pero hay numerosos problemas cuya solución no precisa un nivel de conocimiento de los SGBD demasiado profundo.

Page 10: Access Para Abogados

4.2.5 El modelo entidad relación.

El modelo entidad relación es un método de expresión gráfica de los objetos de la base de datos y de sus relaciones. Los objetos de la base de datos se representan por rectángulos. Los atributos de los objetos se representan por medio de elipses. Las elipses que llevan el atributo subrayado son campos clave (Identifican unívocamente). Las relaciones entre los objetos se representan mediante flechas. Este método nos puede permitir observar la estructura de las bases de datos más intuitivamente.

Objeto: Rectángulo Atributos: Elipses Relaciones: Flechas

Figura 2 Créditos

Nombre

CODASIG

Teléfono

Dirección

Nombre

DNI

Asignaturas Alumnos

Las flechas expresan una relación de cardinalidad entre objetos de la base de datos. Podemos encontrar relaciones de uno a muchos (1:N) y relaciones de muchos a muchos (N:N).

1:N Relación de uno a muchos: Un cliente tiene muchos expedientes pero un expediente sólo pertenece a un cliente.

Figura 3 Abogado

Descripción

CODExped

Teléfono

Dirección

Nombre

DNI

Expedientes Clientes 1:N

N:N Relación de muchos a muchos: Un alumno puede estar matriculado de muchas asignaturas y una signatura puede tener matriculados a muchos alumnos.

Figura 4 Créditos

Nombre

CODASIG

Teléfono

Dirección

Nombre

DNI

Asignaturas Alumnos

Las relaciones de cardinalidad de los objetos se derivarán en diferentes estructuras de tablas para las bases de datos. Vamos a observar dos ejemplos y su traducción en tablas de bases de datos para ilustrar el caso de relación 1:N y el N:N:

Page 11: Access Para Abogados

Ejemplo1: Profesores que imparten asignaturas. Un profesor imparte varias asignaturas y una asignatura puede ser impartida por varios profesores.

Relación N:N

Figura 5 Créditos

Nombre

CODASIG

Teléfono

Dirección

Nombre

DNI

Asignaturas Profesores N:N

La estructura de tablas derivada contendría una tabla para los profesores, otra para los alumnos y, por último, una para expresar la relación N:N entre los objetos. Esta última contendrá los campos clave de las dos relacionadas.

Profesores DNI Nombre Titulación 22000456 Raul Pedraza L.C.Exactas 21457564 Pedro Sansano L.C Exactas 21445876 Manuel Soto Ingeniero 21234123 Josefa Torres Ingeniero

Asignaturas Cod_asig

Nombre_asignatura Créd

CMA Complement Matemat 3 EST Estadística 3 IO Investig.Operativa 3 CN Cálculo Numérico 6 IB Informática Básica 6 AC Arquitectura de Comp 6 RN Red Neuronales 3 IAR Intel Artificial 3

Profesores_Asignaturas (Relación de profesores que imparten asignaturas) DNI Cod_asig 22000456 CMA 22000456 EST 21457564 IO 21457564 CN 21445876 IB 21445876 AC 21234123 RN 21234123 IAR

Page 12: Access Para Abogados

Ejemplo2: Clientes y expedientes de un gabinete de abogados. En este caso, la relación es 1:N porque un cliente puede tener muchos expedientes, pero un expediente pertenece a un sólo cliente.

Figura 6

1:N

Abogado

Descripción

CODexped

Teléfono

Dirección

Nombre

DNI

Expedientes Clientes

En este caso sólo necesitaríamos dos tablas para expresar la información de los dos objetos y su relación. La tabla de los clientes contendría los datos de estos, y la de los expedientes contendría los datos de los expedientes y un campo para expresar la clave de la tabla clientes.

Comocompde los

DNI Nombre Dirección Teléfono

22000675 Pedro Zamora C/Hospital 5463454 22000456 Juan Ruiz C/Saladar 5465412 ... ... ... ...

Cod-Exped Descripción Abogado Cliente

001 Atraco Antón 22000675 002 Accidente tráfico Antón 22000675

vemos podemos intentar abordar problemas de bases de datos relacionales de lejidad baja sin recurrir a los costosos procesos de normalización y diseño, propios analistas de sistemas cuando se enfrentan a problemas complejos.

Page 13: Access Para Abogados

4.3 MICROSOFT ACCESS: UN SISTEMA DE GESTIÓN DE BASES DE DATOS RELACIONALES.

4.3.1 Introducción

Las bases de datos contienen un componente teórico ineludible que hemos intentado resumir en el apartado anterior. El objetivo, sin embargo, es proporcionar los conocimientos necesarios para llegar a implementar una base de datos de nivel bajo de complejidad. Para conseguir esta meta hemos elegido el sistema de gestión de bases de datos ACCESS, por pertenecer al paquete integrado Microsoft Office profesional al que hemos acudido, también, para el estudio de los procesadores de texto y hojas de cálculo. ACCES es un sistema de gestión de bases de datos relacional, muy difundido entre los profesionales de la informática por su capacidad expresiva, relacional y el carácter intuitivo de sus procedimientos. Los objetos más importantes en ACCESS son, por supuesto, las tablas donde almacenaremos todos los datos. ACCESS proporciona varios mecanismos para el desarrollo de consultas; desde el lenguaje SQL hasta el uso de menús, alcanzando una capacidad alta de expresión de requerimientos. Los informes permiten dar formatos más legibles a las consultas, siempre con el objetivo de transformar los datos en información. Pensemos en un listado de expedientes por cliente con un gráfico final de ingresos enfrentados a clientes. El formulario es el mecanismo proporcionado por ACCES para el diseño de interfaces o ventanas de diálogo de introducción de los datos. En un primer nivel de complejidad, las herramientas enunciadas, hasta ahora, pueden ser suficientes. Pero hay situaciones en las que la dificultad de los requerimientos precisa del uso de un lenguaje de programación, que nos permita completar el diseño. En este punto las macros ofrecen un mecanismo de automatización de tareas muy interesante. El siguiente diagrama muestra la arquitectura de Access y los objetos principales con sus relaciones.

Macros

Informes

Consultas

Formularios

Tablas

Figura 7

Page 14: Access Para Abogados

4.3.2 CREANDO UNA BASE DE DATOS EN ACCESS.

Al arrancar el programa nos aparecerá una ventana con las opciones de menú disponibles y una barra de botones similar a la que tiene el procesador de textos Word. El primer paso para crear una base de datos nueva es elegir la opción de menú de Archivo y Nueva base de datos o bien utilizar el botón de la barra de herramientas.

Figura 8

La ventana obtenida nos permite introducir el nombre y directorio de la nueva base de datos. ACCES almacena en ese fichero todos los objetos de la base de datos, tablas, consultas, informes, formularios, macros, módulos.

Vamos a crear una base de datos para nuestro despacho de abogados llamada juristas. Guárdala en el directorio c:\juristas que crearás para tal fin. Dentro de la ventana principal de Access aparecerá una ventana más pequeña (denominada ventana de la base de datos) en la que se ven los diferentes elementos de los que puede constar nuestra base de datos (como es natural, por ahora estará vacía).

Para ver cada uno de los apartados basta con hacer clic sobre la pestaña correspondiente de la ventana de la base de datos. Estos elementos son los siguientes:

• Tablas: nos permiten almacenar datos sobre un tema concreto. Por ejemplo, podemos tener una tabla de clientes, otra de expedientes, otra de agenda, etc. Una tabla estará compuesta por un número

Figura 9

determinado de registros. En el ejemplo de la tabla de clientes, cada registro almacenaría los datos de un cliente.

• Consultas: sirven para buscar información en una o varias tablas de la base de datos.

• Formularios: permiten visualizar y editar los registros.

• Informes: presentan la información almacenada en la base de datos de manera resumida y reorganizada.

Page 15: Access Para Abogados

• Macros: permiten automatizar las secuencias de acciones realizadas más frecuentemente, de manera que sea más rápido y sencillo efectuarlas.

• Módulos: sí queremos realizar alguna operación con los datos que no se puede hacer en Access podemos escribir, nosotros mismos, un programa que la realice, utilizando el lenguaje de programación que proporciona.

4.3.3 Creando tablas en access

Para crear una nueva tabla, hacemos clic sobre la pestaña de la ventana de base de datos (en caso de no tener seleccionado el apartado de Tablas) y otro clic sobre el botón denominado Nuevo. Aparecerá una ventana que nos ofrece dos formas distintas de crear la tabla: utilizando un Asistente para tablas (de manera que el programa nos va guiando por los pasos a seguir para crear la tabla) o bien hacerlo de forma manual (botón Nueva tabla). Vamos a estudiar esta última.

Figura 10

Creamos una tabla en la que se almacenarán los datos de los clientes relacionadas con el despacho.

Una vez elegida esta opción, aparecerá una ventana en la que se deben introducir las características de cada uno de los campos de los que constará la tabla. Cada fila de la tabla contendrá las características de un campo. En esta ventana se pueden especificar los siguientes elementos:

• Nombre de campo: el nombre que se le va a dar a cada uno de los campos de los que constará la tabla.

• Tipo de datos que almacenará cada campo. Access dispone de los siguientes tipos de datos:

Page 16: Access Para Abogados

◊ Texto: para almacenar hasta 255 caracteres (letras, números y símbolos) ◊ Memo: similar al anterior, pero capaz de almacenar mucha más información. ◊ Numérico: únicamente para números sobre los que se desee hacer cálculos. ◊ Fecha/hora ◊ Moneda: específico para almacenar cantidades monetarias. ◊ Contador: es un número que Access va incrementando automáticamente en cada nuevo registro que se crea (por ejemplo, para asignar un número a cada cliente). ◊ Sí/no: para valores de tipo verdadero/falso, sí/no. ◊ Objeto OLE: para almacenar información creada con otros programas.

• Descripción: podemos poner un comentario sobre cada uno de los campos, que luego aparecerá en pantalla cuando se estén introduciendo datos en los registros.

• Propiedades del campo: aquí se pueden introducir algunas características adicionales, como el tamaño del campo y sí queremos que esté indexado o no (recuerda que un campo indexado permite encontrar la información de manera más rápida). Un campo puede estar indexado con o sin duplicados, de manera que sí está indexado sin duplicados, no se permite que haya dos registros en los que este campo tenga el mismo valor.

Para añadir un nuevo campo a la tabla, tenemos que hacer lo siguiente: • Clic en el cuadro “nombre de campo” y escribir el nombre que deseamos darle, teniendo en cuenta que el nombre debe tener como máximo una longitud de 64 caracteres. • Al movernos al cuadro “Tipo de datos” (con las teclas de cursor, o bien haciendo

clic sobre él con el ratón) aparece en su parte derecha un icono de una flecha, , indicándonos que si hacemos clic sobre él aparecerá una lista con los tipos de campo disponibles. • En la parte inferior de la ventana (apartado Propiedades del campo), habrá que especificar el Tamaño del campo (en el primero de los recuadros) y sí deseamos que sea indexado o no (en el último recuadro).

Cread los siguientes campos en la tabla clientes:

Nombre Descripción Tipo Tamaño Indexación DNI Documento Nacional de Identidad Texto 10 Nombre Texto 25 Apellido 1 Primer apellido Texto 25 Apellido 2 Segundo apellido Texto 25

Page 17: Access Para Abogados

Dirección Dirección Texto 40 Población Texto 25 Provincia Texto 25 Teléfono 1 Texto 15 Teléfono 2 Texto 15

Cuando se ha terminado de introducir todos los campos, hay que elegir cuál de ellos va a ser el campo clave, es decir, aquel que va a identificar a un registro y cuyo valor no se puede repetir en dos registros distintos. Para elegir el campo clave, hacemos clic sobre el cuadro que contiene el nombre del campo y pulsamos sobre el botón de la barra de

herramientas que tiene el icono de una llave, o bien utilizamos la opción de menú de Edición / Establecer clave principal

En nuestro caso el campo clave será el DNI. Señala en campo DNI y conviértelo en campo clave.

Una vez hecho esto, hay que grabar en el disco la estructura de la tabla que hemos

creado. Para ello, hay que hacer clic sobre el botón o bien utilizamos la opción del menú de Archivo y Guardar. Aparecerá una ventana con el título Guardar como, en la que se pide el nombre que queremos darle a la tabla.

Figura 11

Dale el nombre de clientes a la tabla del ejercicio y cierra la ventana de diseño de la tabla.

Para terminar, hay que cerrar la ventana donde hemos introducido las características sobre los campos (bien haciendo doble clic sobre el cuadro de la esquina superior izquierda, como se hace para cerrar cualquier otra ventana, o bien utilizando la opción de menú de Archivo y Cerrar). En la ventana de la base de datos aparecerá un icono representando a la tabla que acabamos de crear.

4.3.4 Modificar la estructura de una tabla

Ocurre con frecuencia que una vez diseñada y creada una tabla, necesitamos realizar cambios en la misma, ya sea para añadir campos no contemplados en el análisis preliminar, ya sea para eliminar alguno de ellos que no nos sirve. Para modificar la estructura de la tabla, basta con hacer clic sobre el icono que la representa y pulsar el botón de Diseñar. Aparecerá de nuevo la ventana en la que hemos introducido, anteriormente, las características de los campos.

Page 18: Access Para Abogados

Añadir campos Para introducir un campo nuevo entre los existentes en la tabla, hay que hacer clic en la fila que queremos que aparezca, justo detrás del nuevo campo, y hacer clic sobre el

botón de la barra de herramientas , o bien utilizar la opción del menú de Edición e Insertar fila.

Añade el campo FechaNacimiento a continuación de Provincia, el tipo de campo será fecha. Para ello tendremos que hacer clic sobre el campo Telefono 1 y pulsar el botón para insertar el campo (o elegir la opción de menú correspondiente).

Eliminar campos Para eliminar un campo de la tabla, basta con hacer clic sobre el nombre del mismo y

pulsar el botón de la barra de herramientas , o bien utilizar la opción del menú de Edición y Eliminar fila. Para guardar los cambios que se le han hecho a la estructura de la tabla, utilizamos de

nuevo el botón o la opción del menú de Archivo y Guardar. Cerramos la ventana de la estructura de la tabla como habéis hecho anteriormente.

Elimina el campo Telefono 2 de la estructura de la tabla. Para guardar los cambios que se le han hecho a la estructura de la

tabla, utiliza de nuevo el botón o la opción del menú de Archivo y Guardar. Cierra la ventana de la estructura de la tabla como has hecho anteriormente.

4.3.5 Edicion de los registros

Una vez definida la estructura de la tabla, se pueden empezar a crear nuevos registros. Para ello, en la ventana de la base de datos hay que hacer clic sobre el icono que representa la tabla y pulsar sobre el botón de Abrir, o bien hacer directamente doble clic sobre el icono. Aparecerá la tabla en blanco, donde podemos empezar a introducir registros. Cada fila de la tabla representará un registro distinto.

Barra dedesplazamientoNº de

registro

Nº total deregistros en latabla

Ir al primerregistro

Ir un registrohacia atrás

Ir un registrohacia adelante

Ir al últimoregistro

Figura 12 Para moverse por los campos se pueden utilizar las teclas de cursor o hacer clic sobre el campo al que queremos ir. Como todo el ancho de la tabla no cabe en la ventana, para desplazarnos podemos utilizar la barra de desplazamiento.

Page 19: Access Para Abogados

Para moverse de un registro a otro se pueden utilizar las teclas de cursor, hacer clic con el ratón sobre la fila a la que nos queremos mover o pulsar sobre los botones que aparecen en la figura 12.

Rellena 5 registros con datos inventados por vosotros. Al terminar, cierra la ventana en la que aparece la tabla de protocolo (opción de menú de Archivo y Cerrar).

4.3.6 Utilización de formularios

Los formularios en Access son similares a los formularios sobre papel. En lugar de editar los registros en forma de tabla, ACCESS nos permite diseñar cuadros de dialogo, para introducir los datos de manera más cómoda y viendo sólo un registro en pantalla a la vez. Para crear un formulario, hay que hacer clic en la ventana de la base de datos sobre la

pestaña y hacer, de nuevo, clic sobre la tabla para la que deseamos crear el formulario. La manera más cómoda de crear un formulario es pulsando sobre el botón

(Formulario Automático) de la barra de herramientas. Una vez acabado el proceso de creación, aparecerá un formulario similar al siguiente:

Nº de registroactual

Nº total deregistros en latabla

Ir al primerregistro

Ir un registrohacia atrás

Ir un registrohacia adelante

Ir al últimoregistro

Figura 13

Una vez se ha creado el formulario habrá que guardarlo en disco de manera similar a como habíamos guardado la estructura de la tabla, es decir, utilizando la opción del menú de Archivo y Guardar formulario. Aparecerá una ventana pidiéndonos el nombre que le queremos dar al formulario.

Crea un formulario para introducción de datos en la tabla clientes. Guarda el formulario con el mismo nombre que la tabla (en Access no puede haber dos objetos del mismo tipo:

Page 20: Access Para Abogados

formularios, tablas, ... con el mismo nombre, pero no hay ningún problema para que objetos de distinto tipo tengan el mismo nombre).

Para introducir un registro mediante el formulario, habrá que moverse hasta el último (pulsando sobre el botón correspondiente en la parte inferior de la ventana del formulario) y pulsar luego sobre el botón de ir al registro siguiente. Como no hay ninguno más, nos aparecerá un nuevo registro en blanco.

Utilizando el formulario que has creado, introduce 2 registros más.

4.3.7 Ordenación de los registros

Normalmente los registros aparecen en el orden en que los hemos introducido. No obstante, para poder visualizar y editar los registros de manera más cómoda, los ordenaremos por cualquiera de los campos. Para ello, basta con hacer clic en el formulario, sobre el campo, que queremos que sirva como criterio de ordenación (sí estuviéramos editando los registros en modo tabla, haríamos clic en la columna correspondiente al campo), y pulsar sobre uno de los botones siguientes de la barra de botones:

Ordenaciónascendente (de la A ala Z)

Ordenacióndescendente (de la Z ala A)

Figura 14

Ordena los registros de la tabla por apellido1 y de manera ascendente. Al hacer la ordenación, nos movemos automáticamente al primero de los registros.

4.3.8 Eliminar registros

Cuando ya no necesitamos un registro es posible eliminarlo de la tabla. Primero habrá que moverse al registro que deseamos borrar y utilizar la opción del menú de Edición y Seleccionar registro. Ahora, para borrarlo se utiliza la opción del menú de Edición y Eliminar, con lo que aparecerá una ventana que nos pedirá confirmación para realizar el borrado.

Elimina uno de los registros que has introducido en la tabla

Page 21: Access Para Abogados

4.3.9 Consultas

Creación Una consulta es una pregunta que se le hace a la base de datos para localizar determinada información que nos interese. En esta pregunta pretendemos seleccionar los registros que cumplen una determinada condición. Por ejemplo, la lista de los clientes que son de la provincia de Alicante. Además, podemos seleccionar los campos a visualizar de los registros, seleccionados, por ejemplo de los clientes de la Provincia de Alicante queremos ver solo el DNI, Nombre, Apellido 1 y Apellido 2.

Para crear una consulta hay que hacer clic sobre en la ventana de la base de datos y luego pulsar el botón Nuevo. Aparecerá una ventana en la que se nos ofrecen dos formas distintas para crear la consulta: mediante el botón de Asistente para consultas (podemos crear una consulta eligiendo de entre unos cuantos tipos predefinidos) o mediante Nueva consulta, que nos permite crearla de forma detallada. Como una consulta tendrá que buscar los datos en una determinada tabla (aunque puede combinar varias tablas) aparecerá una ventana denominada agregar tabla que nos pregunta en qué tabla (o tablas) vamos a basar la nueva consulta.

Figura 15

Para elegir la tabla fuente de la consulta, hacemos doble clic sobre la misma (si quisiéramos crear una consulta basada en varias tablas, podríamos hacer doble clic sobre cada una de ellas). Para continuar, pulsamos sobre el botón de Cerrar.

Crea una consulta utilizando como fuente de datos la tabla clientes.

Aparece una ventana denominada consulta de selección con una serie de filas y columnas. En cada columna se pueden poner los siguientes datos:

Page 22: Access Para Abogados

Figura 16

• Campo: aquí debemos poner cuál es el campo que queremos que aparezca en esta columna.

• Orden: si queremos ordenar los registros utilizando como criterio este campo, podemos elegir entre orden ascendente o descendente

• Mostrar: en este recuadro aparece lo que en Windows se denomina una casilla de verificación (el cuadrado pequeño). Sí la casilla está marcada con una cruz (lo que se consigue haciendo clic con el ratón sobre la misma) indica que, efectivamente, queremos ver ese campo. Sí no, es que solo queremos que los registros a ver cumplan unas determinadas condiciones en este campo, pero no deseamos verlo.

• Criterios: condiciones que deseamos que cumplan los registros en este campo para que aparezcan en la consulta. Por ejemplo, para el campo Ciudad podríamos elegir sólo los que fueran de Alicante.

Supongamos que deseamos ver el nombre, apellidos y la fecha de nacimiento de todos los clientes que hayan nacido en una fecha posterior al 1 de enero de 1966. Como queremos ver tres campos habrá que rellenar los datos de las tres primeras columnas, por lo tanto habrá que:

• Hacer clic sobre el cuadro campo de la primera columna. En la parte

derecha del cuadro aparecerá un símbolo de manera que al hacer clic sobre el mismo veremos una lista con todos los campos de los que consta la tabla clientes. Hacer clic sobre el campo Nombre.

• Hacer clic sobre el cuadro campo de la segunda columna y elegir el campo Apellidos.

• Hacer clic sobre el cuadro campo de la tercera columna y elegir el campo FechaNacimiento. Como solo queremos ver los registros cuya fecha de nacimiento sea posterior al 1/1/1966, hay que hacer clic sobre el recuadro denominado criterios de esta columna y escribir las condiciones que queremos que se cumplan, en este caso habrá que escribir >1/1/66

Page 23: Access Para Abogados

Para guardar la consulta que hemos creado, utiliza el botón de la barra de botones o bien la opción de menú de Archivo y Guardar. Aparecerá una ventana en la que se nos pide un nombre para la consulta. Dale el nombre de mayor66. Cierra la ventana de la consulta con la opción de menú de Archivo y Cerrar. En la ventana de la base de datos, en el apartado de consultas, aparecerá la nueva consulta que hemos creado.

Ejecución de una consulta Una vez que se ha creado una consulta, podemos ejecutarla. Es decir, ver cuáles son los registros que cumplen las condiciones especificadas en ella. Para ejecutar una consulta

hay que pulsar sobre en la ventana de la base de datos (si no estamos viendo ya las consultas) y hacer doble clic sobre el nombre de la consulta a ejecutar.

Ejecuta la consulta mayor66. Aparecerá la tabla clientes, pero sólo se mostrarán los registros que cumplen las condiciones especificadas en la consulta. Estos registros se pueden visualizar y modificar al igual que se hacía en el apartado de edición de los registros.

Siguiendo los pasos anteriores, crea una consulta que muestre los nombres, apellidos, direcciones y población de todas las personas de la tabla clientes que vivan en una población que no sea Alicante. Utiliza el operador lógico de Boole, denominado NOT. Es decir, en la columna correspondiente a la Ciudad, en el recuadro de criterios debes escribir not Alicante. Guarda la consulta con el nombre domicilios.

4.3.10 Creación de modelos de datos

Hemos estudiado, en la primera parte teórica del tema, la conveniencia de crear varias tablas y relacionarlas para configurar modelos de datos. Decíamos que la característica diferenciadora de las bases de datos documentales es su capacidad de relacionar tablas. De ahí el interés de este punto. Para estudiar este apartado vamos a recurrir al ejemplo del despacho de abogados. Si recordamos en los apartados anteriores creamos una tabla para los clientes. El objeto, alrededor del que gira toda la información en el despacho, es el expediente. Por lo tanto deberá existir una tabla para almacenar su información.

Figura 17

Page 24: Access Para Abogados

Sí recordamos el modelo entidad relación que expresaba relaciones de cardinalidad entre los objetos de la base de datos, y lo aplicamos al ejemplo, vemos que la relación existente entre clientes y expedientes es de uno a muchos, como muestra la figura 18:

Figura 18

Tabla subordinada Tabla maestra 1:N

Abogado

Descripción

CODexped

Teléfono

Dirección

Nombre

DNI

Expedientes Clientes

La tabla de la izquierda la llamamos maestra y la de la derecha subordinada. La relación la establecemos mediante un atributo en la tabla subordinada, que coincide en sus

características con el campo clave de la tabla maestra. La tabla expedientes tendrá un campo DNI, de iguales características que el DNI de la tabla clientes, que servirá de enlace.

botón , el sistema muestra la ventana de la figura 19. Inicialmente, la ventana no contendrá ninguna tabla y, por lo tanto, debemos agregarlas mediante el botón . Una vez tenemos en la ventana de relaciones las tablas a relacionar, arrastraremos el campo clave de la tabla maestra sobre el campo de enlace de la tabla subordinada, en este caso, sobre cliente (el campo de enlace no tiene porque llamarse igual, pero sí debe tener las mismas características que el clave de la maestra). Cuando arrastramos aparece automáticamente la ventana de la figura 20 mediante la que expresamos las características de la relación.

Figura 19

DNI Nombre Dirección Teléfono

22000675 Pedro Zamora C/Hospital 5463454 22000456 Juan Ruiz C/Saladar 5465412 ... ... ... ...

Cod-Exped Descripción Abogado DNI

001 Atraco Antón 22000675 002 Accidente tráfico Antón 22000675

Page 25: Access Para Abogados

• Uno a: Podemos elegir sí la relación uchos.

cualquier valor del campo enlazado de la tabla subordinada, debe existir

• r en cascada los campos relacionados: Nos indica que, al cambiar un valor de la clave en la tabla maestra, deberán ser actualizados

• tá activado, al borrar un registro de la tabla maestra se procederá al borrado automático de sus

es de uno a uno o de uno a m

• Exigir integridad referencial: La integridad referencial obliga a que, para

uno igual en la tabla maestra. No podrá existir un registro de expedientes con valor del campo cliente 22000566 sí este DNI no existe en la tabla clientes.

Actualiza

automáticamente los campos de la tabla subordinada.

Eliminar en cascada los campos relacionados: Sí es

iguales en la tabla subordinada.

Un ejemplo más ambicioso de la gestión de un despa

Crea la tabla expedientes con las características de la figura 17 y enlaza las tablas clientes y expedientes, como te muestra el ejemplo.

cho de abogados podría contemplar gestión de expedientes, clientes, abogados, procuradores, contrarios, abogados la

contrarios, procuradores contrarios, agenda, escritos, escritos modelo, movimientos económicos, procedimientos. Los razonamientos a seguir son idénticos al expuesto en el ejemplo, pudiendo llegar a construir modelos de la complejidad de la figura 21.

Figura 20

Una vez creado el modelo de datos se automatiza la elaboración de consultas del tipo:

stado de expedientes por cliente o por abogado, anotaciones de agenda por expediente lio por abogado, escritos por expediente, etc.

Page 26: Access Para Abogados

Por ejemplo, el siguiente formulario fue realizado mediante el asistente para formularios, seleccionando la opción principal/subformulario. El subformulario extrae los datos de la tabla subordinada (en este caso expedientes) y el formulario de la maestra (en este caso clientes). El resultado es un formulario que nos permite introducir los datos de los expedientes para cada cliente:

Figura 21

La creación de consultas, formularios, e informes elaborados, introduce un nivel de complejidad que quedaría fuera del objetivo introductorio de esta unidad. Proponemos a continuación ejercicios complementarios sobre los conceptos explicados.

Page 27: Access Para Abogados

4.3.11 EJERCICIOS DE BASES DE DATOS RELACIONALES

El despacho de abogados. El objetivo de este ejercicio es el desarrollo de una base de datos para la gestión de un despacho de abogados, como continuación a los ejercicios propuestos durante la unidad. Crea el modelo de datos de la figura 21, al menos, en lo que se refiere a expedientes, clientes, contrarios y agenda. Intenta generar el formulario de la figura 22.

Elecciones. Queremos almacenar información electoral. Sólo nos interesa la información referente a los partidos y a los políticos. De los partidos nos interesan sus siglas, el nombre completo, el número de afiliados y el número de escaños en el parlamento en las anteriores elecciones. En cuanto a los políticos queremos almacenar información personal como DNI, nombre, apellidos, teléfono, dirección, población y afiliación política. Utilizando ACCESS crea las tablas de la base de datos las relaciones entre las tablas y define también la integridad referencial.