Sie sind auf Seite 1von 27

..

..
..
..
..

Informtica para Juristas

Unidad 4.
.

Bases de Datos
Relacionales:
Microsoft Access

4.1

INTRODUCCIN A LAS BASES DE DATOS

Son dos los modelos de bases de datos presentes en el mercado, que pueden resultar de
inters para el jurista. Por un lado, el modelo relacional con su capacidad estructuradora
y, por otro, el documental con su flexibilidad en la interrogacin. Son modelos
complementarios y apropiados para la resolucin de diferentes problemas.
La informacin generada en un gabinete jurdico referente a clientes, expedientes,
abogados, procuradores, contrarios, abogados contrarios, agenda, anotaciones
econmicas, etc, debe ser gestionada, mediante una base de datos relacional, que aporte
la posibilidad de generar varias tablas que, posteriormente, sern relacionadas para
conseguir consultas e informes elaborados. Las bases de datos relacionales estn
orientadas a tratar informacin estructurada. Un expediente tiene unos datos muy
concretos (n de indentificacin, n de autos, cuanta, cliente, contrario, abogado,
procedimientos, movimientos econmicos) de naturaleza diferente. Por otro lado, las
consultas van a ser muy complejas, en cuanto al coste de su elaboracin, pero
predecibles: listados de clientes con expedientes de cuanta superior a 30.000, listados
de impagados, etc.
Otro problema muy diferente es la gestin de la informacin relacionada con
legislacin, jurisprudencia, bibliografa, 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 cul es el trmino de
jurisprudencia, que utilizar el usuario para realizar su bsqueda. Esto conduce a bases
de datos estructuradas en una sola tabla, con pocos campos textuales de gran dimensin,
y lenguajes de recuperacin flexibles, con todas las palabras relevantes indexadas.
El estudio de las bases de datos requiere de un esfuerzo terico, previo, que vamos a
intentar minimizar en el siguiente apartado.
4.2

LAS BASES DE DATOS RELACIONALES

4.2.1 Introduccin
Uno de los problemas, que habitualmente pretendemos automatizar, es el
almacenamiento de informacin, referente a un objeto o conjunto de objetos. Por
ejemplo, el usuario podra plantearse la necesidad de almacenar informacin sobre sus
amigos, con sus nombres, apellidos, nmeros de telfono, etc. Nos situaramos ante un
problema ms complejo s quisiramos almacenar la informacin referente a los clientes
de un negocio y sus pedidos. En este caso, podemos identificar varios objetos: los
clientes, con su DNI, nombre, telfono, etc; los artculos en venta con su cdigo de
artculo, descripcin precio, etc; y los pedidos con su cdigo de pedido, cliente,
artculos del pedido y precio total. Como vemos en este ltimo ejemplo, estamos
almacenando informacin sobre varios objetos de naturaleza diferente, que estn
relacionados entre s. Podramos, en un primer intento de solucin, 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 pasara un buen rato seleccionando a sus
amigos. Pero qu pasara 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
poltica de descuentos distinta. Posiblemente, en este caso, el informe tardara semanas
en elaborarse.
Se plantea, por lo tanto, la necesidad de programas que sean capaces de estructurar la
informacin, que pretendemos almacenar, y que proporcionen herramientas para
responder rpidamente a consultas, como las anteriormente planteadas. Estas
aplicaciones son los sistemas de gestin de bases de datos y almacenan la informacin
en ficheros, que llamaremos bases de datos. Los ficheros de bases de datos describen un
objeto mediante una serie de caractersticas. Para ello tienen estructura de tabla, siendo
cada columna de la tabla una de estas caractersticas y cada fila de la tabla la
descripcin de un objeto en concreto.
Apellidos

Nombre

Direccin

Ciudad

Telfono

Ferrndez Marco

Antonio

C.Trinidad 27

Alicante

5120023

Rodrguez Leiva
Romero Pea
Sanchez Garcia
Solbes Prada
Soriano Roca

Alicia
Soledad
Celia
Juan
Luis

C.Doblados 15
C San Juan 21
C.Hospital
C.Fossar
C.Pasarela

Alicante
Elche
Elche
Elche
Alicante

5122522
5452734
5450702
5450453
5120322

Los sistemas de gestin de bases de datos (SGBD) nos permiten mantener la


informacin de forma sencilla y amigable. Para ello, incorporan la posibilidad de
disear interfaces para la manipulacin de los datos (introduccin, borrado y
modificacin), 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 matemticas o de
seleccin, que seran 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 ms de dos millones),
en tiempos sorprendentes.
La informacin proporcionada por el SGBD debe ser lo ms comprensiva y sugerente
que sea posible. Por tal motivo, existen herramientas de elaboracin de informes que
pueden incluir grficos y formatos y un sin fin de elementos ilustrativos.
El objetivo es convertir los datos en informacin de la que se pueda extraer
conclusiones rpidas, agilizando la gestin.
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 terminologa 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
informacin. Por ejemplo, en la base de datos de amigos sera una persona
en concreto.

Columna(campo o atributo): Caracterstica descriptiva del objeto. Por ejemplo, en


la base de datos de artculos podramos tener un campo llamado cdigo de
artculo.
Podramos 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 estara dedicada a almacenar los nombres
de los campos.
El siguiente ejemplo muestra una base de datos que contiene informacin sobre los
artculos de una empresa de informtica.
CdigoArtculo
0321
0322
0323
0324

Nombre

Descripcin

Ratn Genius
Sound Blaster
Iomega Zip
Tarjeta Teles

Ratn
Tarjeta de sonido
Dispositivo de volcado
Tarjeta RDSI

Precio/
Unidad
900
12000
35000
18000

CantidadStock
30
15
5
5

La estructura de una base de datos estar formada por los nombres de sus campos y las
caractersticas de estos. Cuando creamos una base de datos, el SGBD nos pregunta por
los nombres de los campos y por las caractersticas de estos. Tendremos la posibilidad
de indicar que el campo nombre es de texto, que el campo Cantidad-Stock (cantidad en
existencias de un artculo) es numrico o que el campo Precio/Unidad (precio por
artculo) es monetario.
Caractersticas de los campos: En general, las caractersticas de los campos suelen
expresarse mediante su tipo, dimensin y alguna caracterstica 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 varan, segn la
versin del SGBD).
Alfanumrico: Datos de carcter 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 direccin de una
persona.
Numrico: Datos de carcter numrico. No se indica la longitud del campo.
Fechas: Formato de datos especial para expresar fechas.
Monetario: Campos de carcter 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 bibliogrfica
queremos incluir un campo resumen para expresar los contenidos de un
libro. En este caso, el campo podr tener dimensiones que varan segn los
casos.

Grfico: Podemos incluir campos que contengan imgenes. Por ejemplo, en


nuestra base de datos de amigos podramos incluir una fotografa de cada
uno de ellos.
Existen otros tipos de campos dependiendo del SGBD que se utilice.
Dimensin del campo: Los campos alfanumricos precisan de la definicin de la
longitud del campo para optimizar el uso de la memoria. De esta forma, expresaremos
que el campo Apellidos es alfanumrico de tamao cincuenta, y el campo Nombre es
alfanumrico de tamao veinte. Debemos intentar que las reservas de memoria sean
suficientes para el tipo de datos que se ha de almacenar.
Informacin adicional: Los SGBD permiten almacenar otras caractersticas de los
campos como valores por defecto, plantillas de introduccin de datos, etc.
Veamos la definicin de la estructura de la base de datos del ejemplo anterior.
CdigoArtculo
Alfanumrico
[10]

Nombre

Descripcin

Precio/Unidad

Alfanumrico
[30]

Memo

Monetario

CantidadStock
Numrico

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 manipulacin de las tablas de las bases de datos, con
el fin de proporcionarnos una serie de funciones, comunes a la mayora de los sistemas
Las funciones ms habituales de los SGBD son las siguientes:
Aadir, modificar y borrar datos: Las modificaciones de los datos de las bases
de datos no se suelen hacer directamente sobre las tablas. En la mayora de
los casos, se disean interfaces de introduccin de datos a medida del
usuario. Frecuentemente estos interfaces introducen datos sobre varias
tablas a la vez. Pensemos en la pantalla de introduccin de datos de los
pedidos de un cliente. La interfaz debera permitirnos meter datos relativos
al cliente, al mismo tiempo que relacionarlos con un pedido en concreto.
Buscar: Las bsquedas 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 estn fsicamente ordenadas en orden de introduccin 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 cdigo de
cliente o por cantidad econmica de pedidos.
Consultar: La elaboracin de consultas es uno de los temas ms 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 ms 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 informacin de los
pedidos. Los SGBD nos proporcionan herramientas para la realizacin de

consultas complejas, incluso sin la necesidad de utilizar ningn lenguaje de


programacin.
Generar informes: En muchos casos, la informacin 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 grficos y presentaciones a nuestra medida.
Calcular valores: Por ltimo, los requerimientos del sistema pueden implicar el
clculo de valores numricos. Por ejemplo, clculo de la facturacin anual
por clientes. Para esto las bases de datos son capaces de generar campos
calculados en funcin de otros campos.
Existen en el mercado numerosos sistemas de gestin de bases de datos. La ms
difundida, para el sistema operativo MS_DOS ha sido DBASE en sus sucesivas
versiones, DBASE III, DBASE IV. Tambin, ha sido muy utilizado el SGBD
CLIPPER, entre otros. Dentro de la Bases de datos para Windows podramos destacar
PARADOX y, por supuesto, la de la compaa Microsoft llamada ACCES. Para la
gestin 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

Bases de datos potentes


para sistemas
distribuidos
INFORMIX
ORACLE
SQL SERVER
INTERBASE

4.2.4 Base de datos relacional y su diseo


Todos los SGBD, antes mencionados, siguen un modelo llamado relacional. El modelo
relacional est indicado para organizar la informacin cuando sta es de naturaleza
estructurada, como es el caso de la mayora de entidades organizativas. Estos
problemas se formulan mediante informacin muy concreta. Por ejemplo, la de sus
clientes (nombre, apellidos, DNI, direccin) artculos (cod-articulo, nombre, precio,
cantidad) etc. Como vemos, los campos son muy concretos y de extensin limitada. Por
otro lado, las preguntas que se van a realizar al sistema son bastante predecibles:
listados de clientes, listados de artculos, etc.
La complejidad de estos problemas viene dada por la gran cantidad de objetos que
relacionan. Pensemos en una gran empresa que trata informacin de clientes, artculos,
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. Adems, la particularidad de cada problema hace que
soluciones estndar (paquetes de propsito 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 informacin, y, por lo tanto, la necesidad de generar varias tablas
relacionadas entre ellas.
Queremos almacenar informacin sobre los alumnos de un centro de estudios. Las
asignaturas impartidas en el centro, indicando que alumnos estn matriculados en qu
asignaturas. Pensamos en una primera aproximacin, en almacenar toda la informacin
en una tabla (No incluimos ms 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

Ral Pedraza
Raul Pedraza
Ral Pedraza
Ral Pedraza
Ral Pedraza
Ral Pedraza
Ral Pedraza
Ral Pedraza
Elena Sanz
Elena Sanz
Elena Sanz
Elena Sanz
Elena Sanz
Elena Sanz
Elena Sanz
Elena Sanz

Ao
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

Cred

Comp. Matemticas
Estadstica
Invest. Operativa
Calculo Numrico
Informtica Bsica
Arquit. Computa.
Redes Neuronales
Inte. Artificial
Comp. Matemticas
Estadstica
Invest. Operativa
Calculo Numrico
Informtica Bsica
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 ordenramos la tabla por asignaturas, cada
asignatura repetira sus datos para cada uno de los alumnos matriculados en ella. Esta
forma de organizar los datos provoca redundancias en la informacin. Las
consecuencias son:
Mayor coste de modificacin de los datos: Supongamos que tenemos que
cambiar el nmero de crditos 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 bsqueda sern ms
complejas por la repeticin de estos datos.
Mayor espacio en disco: Por supuesto, la redundancia de informacin supone
mayor tamao de los ficheros.
El problema es que hemos intentado almacenar informacin de varios objetos en la
misma tabla. Podemos identificar varios objetos. Por un lado, las asignaturas, por otro,
los alumnos y, por ltimo, la relacin de matriculacin entre ambos objetos.

Alumnos
DNI
22000456
22000123
...

Nombre
Raul Pedraza
Elena Sanz
...

Relacin de matriculacin
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

Fecha
Nacim
1976
1974
...

Datos
Alumno
...
...
...

Asignaturas
Codigo Nombre_asignatura
_asig
CMA
Complement Matemat
EST
Estadstica
IO
Investig.Operativa
CN
Clculo Numrico
IB
Informtica Bsica
AC
Arquitectura de Comp
RN
Red Neuronales
IAR
Intel Artificial
...
...

Esta distribucin 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
relacin de matriculacin. Esta tabla utiliza un nico
campo para el alumno y otro para la asignatura con
el fin de relacionarlos. Estos campos han de
identificar, unvocamente, a los registros de su tabla.
El DNI identifica a las personas y el cdigo 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
inmediata. El SGBD buscar el cdigo de asignatura en la tabla matriculacin y
obtendr la lista de DNI, correspondiente. Para completar el informe extraer los datos
personales para cada uno de los DNIs. Este proceso es automtico y rpido.
El diseo de bases de datos, en algunos casos, es complejo y pertenece al terreno de los
especialistas en diseo y gestin de bases de datos. El proceso desarrollado sigue varias
fases:
Anlisis de las tareas: Lo primero que hay que hacer para disear una base de
datos es elaborar una lista de tareas que queremos que nuestro sistema sea
capaz de desarrollar. Por ejemplo, introduccin de matrculas de alumnos,
listados de alumnos por asignatura, informes de notas para los alumnos.
Esquematizacin 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 matriculacin debe ser previo a la elaboracin de listados para
profesores. Para este proceso se utilizan diagramas de flujo de datos que nos
permiten esquematizar los procesos.
Anlisis de los datos: Consiste en enumerar para cada tarea los datos que van a
estar involucrados. Por ejemplo, en la tarea de matriculacin debemos
introducir los datos personales de los alumnos (DNI, nombre, Apellidos,
telfono...), adems de las asignaturas de las que se matricula.

Diseo de datos, normalizacin: Despus de enumerar los elementos de


informacin (Nombre, Dni...) es necesario organizarlos en tablas, para que
no se produzcan redundancias de informacin y que el almacenamiento sea
ptimo. Este es un proceso algebraico llamado normalizacin, que nos
permite obtener el conjunto de tablas ptimo.
Prototipado: Consiste en la construccin de una primera aproximacin a la
aplicacin final, utilizando las herramientas de clculo de consultas y
generacin de informes rpidos, que nos dan los SGBD.
Construccin de la aplicacin: Hay casos sencillos en los que el prototipo
coincide con la aplicacin final. Pero en los casos ms complejos hay
requerimientos del sistema que precisan del uso de algn lenguaje de
programacin.
Verificacin, revisin y refinamiento: Por ltimo los requerimientos del sistema
sufren evolucin, y por tanto, hacen necesaria una revisin peridica del
sistema.
Todo este proceso no es artesanal y en proyectos complejos requiere de conocimientos
especializados. Pero hay numerosos problemas cuya solucin no precisa un nivel de
conocimiento de los SGBD demasiado profundo.

4.2.5 El modelo entidad relacin.


El modelo entidad relacin es un mtodo de expresin grfica de los objetos de la base
de datos y de sus relaciones. Los objetos de la base de datos se representan por
rectngulos. Los atributos de los objetos se representan por medio de elipses. Las
elipses que llevan el atributo subrayado son campos clave (Identifican unvocamente).
Las relaciones entre los objetos se representan mediante flechas. Este mtodo nos puede
permitir observar la estructura de las bases de datos ms intuitivamente.
Objeto: Rectngulo

Atributos: Elipses

Relaciones: Flechas

DNI
CODASIG

Nombre
Alumnos

Direccin
Telfono

Asignaturas

Nombre
Crditos

Figura 2

Las flechas expresan una relacin 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
Relacin de uno a muchos: Un cliente tiene muchos expedientes pero un
expediente slo pertenece a un cliente.
DNI
Nombre
Direccin
Telfono

1:N

Clientes

CODExped
Expedientes

Descripcin
Abogado

Figura 3

N:N Relacin de muchos a muchos: Un alumno puede estar matriculado de


muchas asignaturas y una signatura puede tener matriculados a muchos alumnos.
DNI
CODASIG

Nombre
Direccin
Telfono

Alumnos

Asignaturas
Figura 4

Nombre
Crditos

Las relaciones de cardinalidad de los objetos se derivarn en diferentes estructuras de


tablas para las bases de datos. Vamos a observar dos ejemplos y su traduccin en tablas
de bases de datos para ilustrar el caso de relacin 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.
Relacin N:N
DNI
Nombre
Direccin

Profesores

Telfono

N:N

CODASIG
Nombre

Asignaturas

Crditos

Figura 5

La estructura de tablas derivada contendra una tabla para los profesores, otra para los
alumnos y, por ltimo, una para expresar la relacin N:N entre los objetos. Esta ltima
contendr los campos clave de las dos relacionadas.
Profesores
DNI
22000456
21457564
21445876
21234123

Nombre
Raul Pedraza
Pedro Sansano
Manuel Soto
Josefa Torres

Titulacin
L.C.Exactas
L.C Exactas
Ingeniero
Ingeniero

Profesores_Asignaturas
(Relacin de profesores que imparten asignaturas)
DNI
22000456
22000456
21457564
21457564
21445876
21445876
21234123
21234123

Cod_asig
CMA
EST
IO
CN
IB
AC
RN
IAR

Asignaturas
Cod_
asig
CMA
EST
IO
CN
IB
AC
RN
IAR

Nombre_asignatura

Crd

Complement Matemat
Estadstica
Investig.Operativa
Clculo Numrico
Informtica Bsica
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 relacin


es 1:N porque un cliente puede tener muchos expedientes, pero un expediente pertenece
a un slo cliente.
DNI
Nombre
Direccin

1:N

Clientes

Telfono

CODexped
Descripcin

Expedientes

Abogado

Figura 6

En este caso slo necesitaramos dos tablas para expresar la informacin de los dos
objetos y su relacin. La tabla de los clientes contendra los datos de estos, y la de los
expedientes contendra los datos de los expedientes y un campo para expresar la clave
de la tabla clientes.

DNI
22000675
22000456
...

Cod-Exped
001
002

Nombre

Direccin

Telfono

Pedro Zamora
Juan Ruiz
...

C/Hospital
C/Saladar
...

5463454
5465412
...

Descripcin

Abogado

Cliente

Atraco
Accidente trfico

Antn
Antn

22000675
22000675

Como vemos podemos intentar abordar problemas de bases de datos relacionales de


complejidad baja sin recurrir a los costosos procesos de normalizacin y diseo, propios
de los analistas de sistemas cuando se enfrentan a problemas complejos.

4.3

MICROSOFT ACCESS: UN SISTEMA DE GESTIN DE BASES DE DATOS


RELACIONALES.

4.3.1 Introduccin
Las bases de datos contienen un componente terico 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 gestin de bases de
datos ACCESS, por pertenecer al paquete integrado Microsoft Office profesional al que
hemos acudido, tambin, para el estudio de los procesadores de texto y hojas de clculo.
ACCES es un sistema de gestin de bases de datos relacional, muy difundido entre los
profesionales de la informtica por su capacidad expresiva, relacional y el carcter
intuitivo de sus procedimientos.
Los objetos ms 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 mens, alcanzando una
capacidad alta de expresin de requerimientos. Los informes permiten dar formatos ms
legibles a las consultas, siempre con el objetivo de transformar los datos en
informacin. Pensemos en un listado de expedientes por cliente con un grfico final de
ingresos enfrentados a clientes. El formulario es el mecanismo proporcionado por
ACCES para el diseo de interfaces o ventanas de dilogo de introduccin 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 programacin, que nos permita completar el diseo.
En este punto las macros ofrecen un mecanismo de automatizacin 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 opcin de men de
Archivo y Nueva base de datos o bien utilizar el botn

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, mdulos.
Vamos a crear una base de datos para nuestro despacho de abogados llamada
juristas. Gurdala en el directorio c:\juristas que crears para tal fin.
Dentro de la ventana principal de Access aparecer una ventana ms pequea
(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 vaca).
Para ver cada uno de los apartados basta con
hacer clic sobre la pestaa 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
nmero

determinado de registros. En el ejemplo de la tabla de clientes, cada registro


almacenara los datos de un cliente.

Consultas: sirven para buscar informacin en una o varias tablas de la base de


datos.

Formularios: permiten visualizar y editar los registros.

Informes: presentan la informacin almacenada en la base de datos de manera


resumida y reorganizada.

Macros: permiten automatizar las secuencias de acciones realizadas ms


frecuentemente, de manera que sea ms rpido y sencillo efectuarlas.

Mdulos: s queremos realizar alguna operacin con los datos que no se puede
hacer en Access podemos escribir, nosotros mismos, un programa que la realice,
utilizando el lenguaje de programacin que proporciona.

4.3.3 Creando tablas en access


Para crear una nueva tabla, hacemos clic sobre la pestaa
de la ventana de base
de datos (en caso de no tener seleccionado el apartado de Tablas) y otro clic sobre el
botn 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
(botn Nueva tabla). Vamos a estudiar esta ltima.

Figura 10

Creamos una tabla en la que se almacenarn los datos de los


clientes relacionadas con el despacho.
Una vez elegida esta opcin, aparecer una ventana en la que se deben introducir las
caractersticas de cada uno de los campos de los que constar la tabla. Cada fila de la
tabla contendr las caractersticas 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, nmeros


y smbolos)
Memo: similar al anterior, pero capaz de almacenar mucha
ms informacin.
Numrico: nicamente para nmeros sobre los que se desee
hacer clculos.
Fecha/hora
Moneda: especfico para almacenar cantidades monetarias.
Contador: es un nmero que Access va incrementando
automticamente en cada nuevo registro que se crea (por
ejemplo, para asignar un nmero a cada cliente).
S/no: para valores de tipo verdadero/falso, s/no.
Objeto OLE: para almacenar informacin creada con otros
programas.

Descripcin: podemos poner un comentario sobre cada uno de los


campos, que luego aparecer en pantalla cuando se estn introduciendo
datos en los registros.

Propiedades del campo: aqu se pueden introducir algunas caractersticas


adicionales, como el tamao del campo y s queremos que est indexado o
no (recuerda que un campo indexado permite encontrar la informacin de
manera ms rpida). 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 aadir 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 mximo 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 ratn) aparece en su parte derecha un icono de una flecha,
,
indicndonos 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 Tamao 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
DNI
Nombre
Apellido 1
Apellido 2

Descripcin
Documento Nacional de Identidad
Primer apellido
Segundo apellido

Tipo
Texto
Texto
Texto
Texto

Tamao
10
25
25
25

Indexacin

Direccin Direccin
Poblacin
Provincia
Telfono 1
Telfono 2

Texto
Texto
Texto
Texto
Texto

40
25
25
15
15

Cuando se ha terminado de introducir todos los campos, hay que elegir cul 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 botn de la barra de
herramientas que tiene el icono de una llave,
de Edicin / Establecer clave principal

o bien utilizamos la opcin de men

En nuestro caso el campo clave ser el DNI. Seala en


campo DNI y convirtelo 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 botn
o bien utilizamos la opcin del
men de Archivo y Guardar. Aparecer una ventana con el ttulo 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 diseo de la tabla.
Para terminar, hay que cerrar la ventana donde hemos introducido las caractersticas
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 opcin
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 diseada y creada una tabla, necesitamos realizar
cambios en la misma, ya sea para aadir campos no contemplados en el anlisis
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 botn de Disear. Aparecer de nuevo la ventana en la que
hemos introducido, anteriormente, las caractersticas de los campos.

Aadir campos
Para introducir un campo nuevo entre los existentes en la tabla, hay que hacer clic en la
fila que queremos que aparezca, justo detrs del nuevo campo, y hacer clic sobre el
botn de la barra de herramientas
Insertar fila.

, o bien utilizar la opcin del men de Edicin e

Aade el campo FechaNacimiento a continuacin de


Provincia, el tipo de campo ser fecha. Para ello tendremos que
hacer clic sobre el campo Telefono 1 y pulsar el botn para
insertar el campo (o elegir la opcin de men correspondiente).
Eliminar campos
Para eliminar un campo de la tabla, basta con hacer clic sobre el nombre del mismo y
pulsar el botn de la barra de herramientas
, o bien utilizar la opcin del men de
Edicin y Eliminar fila.
Para guardar los cambios que se le han hecho a la estructura de la tabla, utilizamos de
nuevo el botn
o la opcin del men de Archivo y Guardar. Cerramos la ventana de
la estructura de la tabla como habis 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 botn
o la opcin 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 botn 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 atrs

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 ratn 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
(opcin de men de Archivo y Cerrar).
4.3.6 Utilizacin 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 disear cuadros de dialogo,
para introducir los datos de manera ms cmoda y viendo slo 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
pestaa
y hacer, de nuevo, clic sobre la tabla para la que deseamos crear el
formulario. La manera ms cmoda de crear un formulario es pulsando sobre el botn
(Formulario Automtico) de la barra de herramientas. Una vez acabado el proceso
de creacin, aparecer un formulario similar al siguiente:

Ir al primer
registro
Ir un registro
hacia atrs

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 habamos guardado la estructura de la tabla, es decir, utilizando la opcin del
men de Archivo y Guardar formulario. Aparecer una ventana pidindonos el nombre
que le queremos dar al formulario.
Crea un formulario para introduccin 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 ningn


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 botn correspondiente en la parte inferior de la ventana del
formulario) y pulsar luego sobre el botn de ir al registro siguiente. Como no hay
ninguno ms, nos aparecer un nuevo registro en blanco.
Utilizando el formulario que has creado, introduce 2
registros ms.
4.3.7 Ordenacin 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 ms cmoda, 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 ordenacin (s
estuviramos editando los registros en modo tabla, haramos clic en la columna
correspondiente al campo), y pulsar sobre uno de los botones siguientes de la barra de
botones:

Ordenacin
ascendente (de la A a
la Z)

Ordenacin
descendente (de la Z a
la A)

Figura 14

Ordena los registros de la tabla por apellido1 y de manera


ascendente. Al hacer la ordenacin, nos movemos
automticamente 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 opcin del men de Edicin y
Seleccionar registro. Ahora, para borrarlo se utiliza la opcin del men de Edicin y
Eliminar, con lo que aparecer una ventana que nos pedir confirmacin para realizar el
borrado.
Elimina uno de los registros que has introducido en la tabla

4.3.9 Consultas
Creacin
Una consulta es una pregunta que se le hace a la base de datos para localizar
determinada informacin que nos interese. En esta pregunta pretendemos seleccionar
los registros que cumplen una determinada condicin. Por ejemplo, la lista de los
clientes que son de la provincia de Alicante. Adems, 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 botn Nuevo. Aparecer una ventana en la que se nos ofrecen
dos formas distintas para crear la consulta: mediante el botn 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
quisiramos crear una consulta basada en varias tablas, podramos hacer doble clic
sobre cada una de ellas). Para continuar, pulsamos sobre el botn de Cerrar.
Crea una consulta utilizando como fuente de datos la tabla
clientes.
Aparece una ventana denominada consulta de seleccin con una serie de filas y
columnas. En cada columna se pueden poner los siguientes datos:

Figura 16

Campo: aqu debemos poner cul 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 verificacin (el cuadrado pequeo). S la casilla est marcada
con una cruz (lo que se consigue haciendo clic con el ratn 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 podramos elegir slo 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 smbolo
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

Para guardar la consulta que hemos creado, utiliza el botn


de la barra de botones o
bien la opcin 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 opcin 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.
Ejecucin de una consulta
Una vez que se ha creado una consulta, podemos ejecutarla. Es decir, ver cules 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 slo se mostrarn los registros que cumplen las condiciones
especificadas en la consulta. Estos registros se pueden visualizar y
modificar al igual que se haca en el apartado de edicin de los
registros.
Siguiendo los pasos anteriores, crea una consulta que
muestre los nombres, apellidos, direcciones y poblacin de todas
las personas de la tabla clientes que vivan en una poblacin que
no sea Alicante. Utiliza el operador lgico 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 Creacin de modelos de datos
Hemos estudiado, en la primera parte terica del tema, la conveniencia de crear varias
tablas y relacionarlas para configurar modelos de datos. Decamos que la caracterstica
diferenciadora de las bases de datos documentales es su capacidad de relacionar tablas.
De ah el inters 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 informacin en el despacho, es
el expediente. Por lo tanto deber existir una tabla para almacenar su informacin.

Figura 17

S recordamos el modelo entidad relacin que expresaba relaciones de cardinalidad


entre los objetos de la base de datos, y lo aplicamos al ejemplo, vemos que la relacin
existente entre clientes y expedientes es de uno a muchos, como muestra la figura 18:
DNI
Tabla subordinada

Tabla maestra

Nombre

1:N

Clientes

Direccin
Telfono

CODexped
Descripcin

Expedientes

Figura 18

Abogado

La tabla de la izquierda la llamamos maestra y la de la derecha subordinada. La relacin


la establecemos mediante un atributo en la tabla subordinada, que coincide en sus
DNI
22000675
22000456
...

Cod-Exped
001
002

Nombre

Direccin

Telfono

Pedro Zamora
Juan Ruiz
...

C/Hospital
C/Saladar
...

5463454
5465412
...

Descripcin

Abogado

DNI

Atraco
Accidente trfico

Antn
Antn

22000675
22000675

caractersticas con el campo clave de la tabla maestra. La tabla expedientes tendr un


campo DNI, de iguales caractersticas que el DNI de la tabla clientes, que servir de
enlace.
botn

, el sistema muestra la ventana de la figura 19. Inicialmente, la ventana no

contendr ninguna tabla y, por lo tanto, debemos agregarlas mediante el botn


. 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 caractersticas que el clave de la maestra). Cuando arrastramos aparece
automticamente la ventana de la figura 20 mediante la que expresamos las
caractersticas de la relacin.

Figura 19

Uno a: Podemos elegir s la relacin es de uno a uno o de uno a muchos.

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, debern ser actualizados
automticamente 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 automtico de sus
iguales en la tabla subordinada.

Crea la tabla expedientes con las caractersticas de la figura 17 y enlaza las tablas
clientes y expedientes, como te muestra el ejemplo.
Un ejemplo ms ambicioso de la gestin de un despacho de abogados podra contemplar
la gestin de expedientes, clientes, abogados, procuradores, contrarios, abogados
contrarios, procuradores contrarios, agenda, escritos, escritos modelo, movimientos
econmicos, procedimientos. Los razonamientos a seguir son idnticos 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 elaboracin 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 opcin 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 creacin de consultas, formularios, e informes elaborados, introduce un nivel de


complejidad que quedara fuera del objetivo introductorio de esta unidad. Proponemos a
continuacin 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 gestin de un despacho de
abogados, como continuacin 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 informacin electoral.


Slo nos interesa la informacin referente a los partidos y a los
polticos. De los partidos nos interesan sus siglas, el nombre
completo, el nmero de afiliados y el nmero de escaos en el
parlamento en las anteriores elecciones. En cuanto a los polticos
queremos almacenar informacin personal como DNI, nombre,
apellidos, telfono, direccin, poblacin y afiliacin poltica.
Utilizando ACCESS crea las tablas de la base de datos las
relaciones entre las tablas y define tambin la integridad
referencial.

Das könnte Ihnen auch gefallen