Access Para Abogados

January 31, 2019 | Author: Enmanuel Araujo Laurenzano | Category: Table (Database), Databases, Window (Computing), Relational Database, Point And Click
Share Embed Donate


Short Description

Download Access Para Abogados...

Description

.. .. .. .. ..

.

Informática para Juristas

Unidad 4. .

.

.

.

.

.

.

.

.

Bases de Datos Relacionales: Microsoft Access

.

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á utiliz ará el usuario para realizar su búsqueda. Esto conduce a bases bas es 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 quisiéra mos almacenar la información referente refe rente a los clientes cliente s 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

clientes que han hecho pedidos, por un valor superior a dos millones, para aplicarles una  política de descuentos desc uentos distinta. Posiblemente, en e n este est e caso, c aso, el e l informe i nforme tardaría 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 Solbes Prada

Celia Juan

C.Hospital C.Fossar

Elche Elche

5450702 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 dat os (por ( por ejemplo, eje mplo, clientes que ingresan ingresa n 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.

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 0321 0322 0323 0324

 Nombre

Descripción

Ratón Genius Sound Blaster Iomega Zip Tarjeta Teles

Ratón Tarjeta de sonido Dispositivo de volcado Tarjeta RDSI

Precio/  Unidad 900 12000 35000 18000

Cantidad Stock 30 15 5 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.

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 Alfanumérico [10]

4.2.3

 Nombre

Descripción

Precio/Unidad

Alfanumérico [30]

Memo

Monetario

Cantidad Stock Numérico

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. c liente. 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

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. ALGUNOS SGBD

Bases de Datos de MS-DOS. DBASE III, IV CLIPPER

Bases de Datos  para windows PARADOX ACCESS

 Figura 1

4.2.4

Bases de datos potentes  para sistemas distribuidos INFORMIX ORACLE SQL SERVER INTERBASE

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 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.

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

22000456 22000456 22000456 22000456 22000456 22000456 22000456 22000456 22000123 22000123 22000123 22000123 22000123 22000123 22000123 22000123

Raúl Pedraza Raul Pedraza Raúl Pedraza Raúl Pedraza Raúl Pedraza Raúl Pedraza Raúl Pedraza Raúl Pedraza Elena Sanz Elena Sanz Elena Sanz Elena Sanz Elena Sanz Elena Sanz Elena Sanz Elena Sanz

Año Datos  Nacim Alumno 1976 ... 1976 ... 1976 ... 1976 ... 1976 ... 1976 ... 1976 ... 1976 ... 1974 ... 1974 ... 1974 ... 1974 ... 1974 ... 1974 ... 1974 ... 1974 ...

Cod asig CMA EST IO CN IB AC RN IAR CMA EST IO CN IB AC RN IAR

 Nombre_Asig  Nombre_Asig

Cred

Comp. Matemáticas Estadística Invest. Operativa Calculo Numérico Informática Básica Arquit. Computa. Redes Neuronales Inte. Artificial Comp. Matemáticas Estadística Invest. Operativa Calculo Numérico Informática Básica Arquit. Comput. Redes Neuronales Inte. Artificial

6 6 6 4 4 4 4 4 6 6 6 4 4 4 4 4

Datos asig ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...

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.

Alumnos DNI 22000456 22000123 ...

Fecha Datos  Nacim Alumno Raul Pedraza 1976 ... Elena Sanz 1974 ... ... ... ...

 Nombre

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

Asignaturas Codigo  Nombre_asignatura  Nombre_asignatura  _asig CMA Complement Matemat EST Estadística IO Investig.Operativa 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. clave.

Con esta estructura de tablas, la respuesta al requerimiento Lista de alumnos de una asignatura es inmediata. El SGBD buscará el código de asignatura en la tabla matriculación y obtendrá la lista de DNI, correspondiente. Para completar el informe extraerá los datos  personales para cada uno de los DNIs. Este proceso es automático y rápido. El diseño de bases de datos, en algunos casos, es complejo y pertenece al terreno de los especialistas en diseño y gestión de bases de datos. El proceso desarrollado sigue varias fases: 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 dia gramas 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.

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 demasi ado profundo.

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

DNI CODASIG

 Nombre Alumnos

Dirección Teléfono

Asignaturas

 Nombre Créditos

 Figura 2

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. DNI  Nombre Dirección Teléfono

CODExped

1:N Clientes

Expedientes

Descripción Abogado

 Figura 3

 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. DNI CODASIG

 Nombre Dirección Teléfono

Alumnos

Asignaturas

 Figura 4

 Nombre Créditos

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:

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

Relación N:N DNI  Nombre

CODASIG

 N:N

Dirección

Profesores

 Nombre

Asignaturas

Créditos

Teléfono

 Figura 5

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 Asignaturas DNI 22000456 21457564 21445876 21234123

Nombre Raul Pedraza Pedro Sansano Manuel Soto Josefa Torres

Titulación L.C.Exactas L.C Exactas Ingeniero Ingeniero

Profesores_Asignaturas (Relación de profesores que imparten asignaturas) DNI 22000456 22000456 21457564 21457564 21445876 21445876 21234123 21234123

Cod_asig CMA EST IO CN IB AC RN IAR

Cod_  asig CMA EST IO CN IB AC RN IAR

 Nombre_asignatura  Nombre_asignatura

Créd

Complement Matemat Estadística Investig.Operativa Cálculo Numérico Informática Básica Arquitectura de Comp Red Neuronales Intel Artificial

3 3 3 6 6 6 3 3

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. DNI  Nombre Dirección

1:N

Clientes

CODexped Descripción

Expedientes

Abogado

Teléfono

 Figura 6

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.

 Nombre

Dirección

Teléfono

Pedro Zamora Juan Ruiz ...

C/Hospital C/Saladar ...

5463454 5465412 ...

DNI 22000675 22000456 ...

Descripción

Abogado

Cliente

Atraco Accidente tráfico

Antón Antón

22000675 22000675

Cod-Exped 001 002

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

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

Formularios

Informes

Consultas

Tablas  Figura 7

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 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: •

 Figura 9

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

determinado de registros. 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.



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:



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 tamaño del campo y sí queremos que esté indexado o 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: campo”   y escribir el nombre que deseamos darle, • Clic en el cuadro “nombre de campo”  teniendo en cuenta que el nombre debe tener como máximo una longitud de 64 caracteres. datos”  (con las teclas de cursor, o bien haciendo • Al movernos al cuadro “Tipo de datos”  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. campo), habrá que • En la parte inferior de la ventana (apartado  Propiedades del campo), especificar el Tamaño del campo (en campo  (en el primero de los recuadros) y sí deseamos que sea indexado o indexado o no (en el último recuadro).

Cread los siguientes campos en la tabla clientes: Nombre

Descripción

Tipo

Tamaño

DNI

Documento Nacional de Identidad

Texto

10

Texto

25

 Nombre Apellido 1

Primer apellido

Texto

25

Apellido 2

Segundo apellido

Texto

25

Indexación

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, clave, es decir, aquel que va a identificar a un registro y cuyo valor no se  puede repetir r epetir en dos registros distintos. Para elegir el campo clave, cl ave, hacemos clic c lic 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, de Edición / Establecer clave principal

o bien utilizamos la opción de menú

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.

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 barr a de herramientas  Insertar fila. fila.

, o bien utilizar utiliza r la opción del menú de Edición de  Edición e  e

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  Edición y Eliminar  Eliminar fila. 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.

Ir al primer  registro

Ir un registro hacia atrás

Nº de registro

Ir un registro hacia adelante

Nº total de registros en la tabla

Ir al último registro

Barra de desplazamiento

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.

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 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:

Ir al primer  registro Ir un registro hacia atrás

Nº de registro actual

Nº total de registros en la tabla

Ir un registro hacia adelante

Ir al último registro

 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 de  Archivo y  y Guardar formulario. 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:

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ón ascendente (de la A a la Z

Ordenación descendente (de la Z a la A

 Figura 14

Ordena los registros de la tabla por apellido1  apellido1  y de manera ascendente. 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 de  Edición y  y Seleccionar registro. 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

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  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  selección  con una serie de filas y columnas. En cada columna se pueden poner los siguientes datos:

 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 ascendente o descendente



Mostrar: en este recuadro aparece lo que en Windows se denomina una casilla de verificación  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. 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 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 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  criterios  de esta columna y escribir las condiciones que queremos que se cumplan, en este caso habrá que escribir >1/1/66 

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  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, 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 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

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: DNI Tabla subordinada

Tabla maestra

 Nombre

1:N

Clientes

Dirección

CODexped Descripción

Expedientes

 Figura 18

Teléfono

Abogado

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  Nombre

Dirección

Teléfono

Pedro Zamora Juan Ruiz ...

C/Hospital C/Saladar ...

5463454 5465412 ...

DNI 22000675 22000456 ...

Descripción

Abogado

DNI

Atraco Accidente tráfico

Antón Antón

22000675 22000675

Cod-Exped 001 002

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



Uno a: Po  Podemos elegir sí la relación es de uno a uno o de uno a m uchos.



Exigir integridad referencial: La integridad referencial obliga a que, para cualquier valor del campo enlazado de la tabla subordinada, debe existir 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.



Actualizar en cascada los campos relacionados:  Nos indica que, al cambiar un valor de la clave en la tabla maestra, deberán ser actualizados automáticamente los campos de la tabla subordinada.



Eliminar en cascada los campos relacionados: Sí está activado, al borrar un registro de la tabla maestra se procederá al borrado automático de sus iguales en la tabla subordinada.

 Crea la tabla expedientes con las características de la figura 17 y enlaza las tablas clientes y expedientes, como te muestra el ejemplo. Un ejemplo más ambicioso de la gestión de un despa cho de abogados podría contemplar la gestión de expedientes, clientes, abogados, procuradores, contrarios, abogados 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: listado de expedientes por cliente o por abogado, anotaciones de agenda por expediente o por abogado, escritos por expediente, etc.

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.

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 e n las la s 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.

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF