Tutorial Básico de Dbase III

Jorge Vasconcelos

1. Introducción al manejo de bases de datos

Empezaremos por definir la base de datos como un grupo de archivos relacionados cuyo manejo debe ser eficiente, evitando la repetición de datos y garantizando la seguridad e integridad de la información. El sistema que se encarga de manipular los archivos es llamado manejador de bases de datos. Esto nos lleva a destacar dos elementos fundamentales: los archivos y su manejo.

2. Archivos

Básicamente, un archivo es un grupo de datos almacenados en memoria secundaria (esto es, discos o cintas). Se ocupa esta memoria ya que es la única capaz de almacenar grandes volúmenes de datos y conservarlos por periodos indefinidos.

La información guardada en un archivo está organizada como una colección numerada de celdas. Cada celda es conocida como registro.

En cada registro podemos tener uno o más campos donde almacenar los datos. Por ejemplo, esta figura muestra un archivo que guarda los datos de tres personas; en cada registro se tienen tres campos: el nombre, la dirección y el teléfono.

Si anexamos datos de otra persona, éstos se agregan al final.

Otro aspecto importante de los archivos es la forma en que se recuperan los datos. Hay dos formas de acceso a la información: secuencial y directa.

El acceso secuencial significa que para recuperar un dato hay que pasar por todos los datos anteriores. Es decir, si queremos saber qué contiene el registro 6 se deberán recorrer los seis registros anteriores.

El acceso directo significa que un dato puede recuperarse inmediatamente, sin pasar por los anteriores.

Cuando los archivos se guardan en cintas el acceso siempre es secuencial. Cuando los archivos se guardan en discos podemos tener los dos tipos de acceso. La mayoría de manejadores de bases de datos para PC permiten el acceso directo.

3. Manejadores de bases de datos

Como mencionamos anteriormente, un manejador de bases de datos se encarga de manipular los archivos de la base de manera eficiente y segura. Estos se usan tanto en las computadoras grandes (las llamadas mainframes) como en las computadoras personales.

Independientemente de su aplicación o de la computadora de uso, las actividades que debe desempeñar un manejador de bases de datos son:

En el caso particular de Dbase (comercializado por la compañía Borland), éste fue un manejador de bases de datos para computadoras PC muy popular hasta hace unos años.

Para poner en funcionamiento al Dbase debe invocársele desde el sistema operativo:

c:\DBASE>Dbase

En seguida aparece la pantalla de Dbase. En la parte inferior encontramos la línea de comandos que se caracteriza por iniciar con "." o con "#". En esta zona deben escribirse las órdenes que ejecutará Dbase (véase la imagen siguiente).

Para efectuar las operaciones que describiré (a excepción de la definición de la estructura del archivo, donde no existe un archivo) se requiere tener un archivo abierto. Para abrir un archivo ya existente se utiliza el comando use seguido del nombre del archivo, por ejemplo:

# use Agenda

Esta instrucción abre el archivo AGENDA.DBF con lo cual es posible agregarle nuevos registros, modificar los ya existentes o borrar registros.

Cuando se haya terminado de usar un archivo deberá cerrársele con el comando close all:

# close all

Finalmente, para terminar la sesión de trabajo con Dbase se utiliza el comando quit:

# quit

4. Estructura del archivo

La primer tarea a realizar para manejar archivos consiste en definir la estructura que tendrá cada uno de sus registros. Para esto debemos indicar cada uno de los campos que aparecerán en el registro, por ejemplo, un archivo de agenda incluiría: nombre, dirección, teléfono y edad.

Un campo consta de dos partes: su nombre y los espacios para guardar la información, como vemos en la figura.

Un aspecto muy importante que debe considerarse al definir un campo es qué tipo de dato guardará: números, letras, fechas, etcétera. En Dbase tenemos cinco posibilidades para indicar el tipo del campo:

  1. Para guardar sólo números se utiliza el tipo numeric.
  2. Para guardar letras, o letras y números, se utiliza character.
  3. Para guardar fechas, en la forma mes/día/año, se usa date.
  4. Para guardar información que sólo puede tener dos valores, o falso (N) o verdadero (Y), se utiliza logical.
  5. Para guardar información que ocupe un texto largo (hasta 4000 caracteres) se utiliza el tipo memo.

Una vez visto esto podemos pasar a crear la estructura del archivo mediante el comando create seguido del nombre del archivo:

# create agenda

Dbase mostrará una pantalla donde deberá indicarse la lista de campos que integrarán al registro. (Obsérvese que en la parte superior de la pantalla aparece un resumen de las teclas que pueden usarse para interactuar con esta pantalla.)

Para definir cada campo (en inglés field) deben precisarse tres cosas: su nombre (field name), su tipo (type) y su ancho (width). Por ejemplo, para el caso de la agenda podríamos tener la siguiente lista de campos:

Field Name Type Width
1 NOMBRE Character 30
2 DIRECCION Character 50
3 TELEFONO Numeric 7
4 EDAD Numeric 2

Terminada esta fase Dbase creará el archivo AGENDA.DBF, dejándolo abierto y podrá procederse a la captura de los datos.

5. Captura de datos

Para añadir registros se utiliza el comando append. En seguida aparecerá una pantalla que enlista los campos dejando un espacio vacío para que el usuario introduzca los datos desde el teclado.

En Dbase, una vez capturados los datos, éstos se guardan automáticamente y son colocádos al final del archivo. Cada registro tendrá asociado un número (llamado precisamente número de registro) que será de gran importancia para recuperar o borrar datos.

6. Visualización y edición

Dbase tiene varias formas para presentar al usuario los datos almacenados. En primer lugar tenemos los comandos list y display; ambos se limitan a mostrar los registros en la pantalla y no permiten modificar los datos. La diferencia entre list y display es que el primero permite imprimir los datos y el segundo no.

Para modificar los datos de un registro se usan browse o edit. Estos comandos son similares, sin embargo edit muestra sólo un registro a la vez mientras que browse despliega varios.

Como se ve en la figura, el comando edit mostrará la lista de campos, con los datos correspondientes, para que el usuario los pueda modificar.

La otra opción, el comando browse, además de permitir modificaciones, muestra los datos acomodados en un arreglo de renglones y columnas. Cada renglón es un registro y cada columna es un campo.

NOMBRE DIRECCION TELEFONO EDAD
Juan Norte 73 5142678 18
Pedro Dalia 8 5911200 35
Ignacio Sur 912 3672108 25
Tere Lopez 14 5120334 20

Generalmente, para modificar un registro se requiere de una búsqueda previa (que estudiaremos más adelante) para determinar el número del registro que desamos cambiar. Una vez que tenemos ese dato le indicamos al manejador que se coloque en esa posición mediante el comando goto seguido del número del registro:

# goto 10

7. Búsqueda de datos

Para localizar un registro en particular, o varios registros que cumplan con cierta condición, se hace una consulta que consiste en proporcionar algún dato del registro de interés para que enseguida Dbase efectúe una búsqueda en el archivo; si la información es encontrada entonces se le muestra al usuario.

Para localizar los datos utilizamos el comando list for, por ejemplo:

# list for NOMBRE = "JUAN"

La instrucción anterior mostrará en pantalla todos los registros el que tenga la palabra "Juan" en su campo NOMBRE. Otro ejemplo:

# list for EDAD > 18

Esta instrucción mostrará todos los registros que tengan un número mayor a 18 en el campo EDAD .

Otra posibilidad es usar el comando locate, por ejemplo:

# locate for NOMBRE = "JUAN"

Esta instrucción sólo mostrará el número que corresponda al primer registro que cumpla con la condición. Para ver los datos de ese registro se deberá usar el comando browse, edit o list record seguido del número del registro, por ejemplo:

# list record 3

8. Ordenamiento

En Dbase hay dos posibilidades para mantener clasificado un archivo: el ordenamiento físico y el archivo de índices.

El ordenamiento físico se caracteriza por hacer un nuevo archivo donde los registros estén secuencialmente ordenados según cierto criterio (por el nombre, por el número de cuenta, etcétera). Esto se hace con el comando sort:

# sort to AGENDA2 on NOMBRE

Este comando crea un nuevo archivo, AGENDA2.DBF (obsérvese que este nombre es diferente al del archivo en uso) , en el cual quedarán los registros del archivo en uso, ordenados de manera ascendente según el dato que tengan en el campo NOMBRE.

Para hacer uso del archivo ya ordenado debemos indicarlo con use:

# use AGENDA2

El problema de este ordenamiento es que si se añade un nuevo dato, éste será colocado al final del archivo con lo cual quedará en desorden nuevamente.

La otra posibilidad es usar un archivo de índices. Este archivo es similar al fichero de una biblioteca donde aparecen ordenados los libros de acuerdo a cierta característica (por autor, por título o por tema). El fichero no contiene el libro en sí, pero nos proporciona una clave con la cual es posible localizarlo en el librero correspondiente. De esta forma tenemos varias formas de recuperar un libro (autor, título, tema) sin que los libros estén organizados de esa forma en particular.

Para generar un archivo de índices se usa el comando index:

# index on NOMBRE to AGENDA

Este comando crea el archivo AGENDA.NDX (nótese que el nombre es igual al del archivo en uso ya que las extensiones son diferentes) el cual guarda los números de registro como estarían ordenados según el campo NOMBRE. En este caso el archivo original no es ordenado físicamente.

Cuando una base tiene archivo de índices puede añadirse un nuevo dato y siempre se mantendrá en orden. Para que el índice funcione, su uso deberá indicarse al abrirse el archivo con los comandos use e index:

# use AGENDA index AGENDA

9. Eliminación de registros

El proceso de borrado consiste en eliminar uno o varios registros del archivo. Hay dos tipos de borrado: el lógico y el físico.

El borrado lógico consiste en agregar al registro una marca que indique al manejador de archivos que cierto registro debe ser considerado como borrado y no debe tomarse encuenta (aunque continúe físicamente en el disco). En el caso particular de Dbase se utiliza un asterisco.

Para efectuar este borrado se utiliza el comando delete seguido del número del registro a borrar, por ejemplo:

# delete record 100

Esta orden colocará un asterisco al registro número 100 con lo cual quedará considerado como borrado, pero si en algún momento dado desean recuperarse los datos puede hacerse con el comando undelete:

# undelete record 100

El borrado físico consiste en eliminar físicamente del disco aquellos registros que tengan el asterisco. Para ello se utiliza el comando pack. Una vez que han sido borrados los datos físicamente, éstos ya no pueden ser recuperados.

Debido a que el borrado físico es mucho muy lento, éste debe hacerse al final de la sesión, recurriendo únicamente al borrado lógico durante la sesión.

10. Reportes

Los reportes son documentos que muestran una selección de todos los campos que conforman al registro. Por ejemplo, un historial académico sólo muestra nombre, número de cuenta, promedio, avance y la relación de materias cursadas con sus respectivas calificaciones, mientras que el registro completo del alumno incluye dirección, teléfono, nombre del tutor, entre otras muchas cosas.

La elaboración de reportes consta de dos etapas: primera, señalar las características del reporte (campos deseados, títulos, encabezados, etcétera) y en seguida debe generarse el reporte (para su visualización o impresión).

Para diseñar el reporte se usa el comando create report:

# create report AGENDA

Enseguida Dbase mostrará una pantalla a base de menús donde deberán introducirse las características del reporte (la pantalla puede verse a continuación). Lo más importante es indicar los campos que se desea aparezcan en el reporte (para ello se utiliza el menú COLUMNS). Al finalizar, el diseño será salvado en el archivo AGENDA.FRM.

Después, para ver o imprimir el reporte, se usa el comando report seguido del nombre del archivo de reporte:

# report form AGENDA

11. Bibliografía

Regresar a la página principal