En todos los tiempos, la informacion es muy valiosa. El almacenamiento de la informacion

ha sido una de las preocupaciones mas grandes del ser humano.

El almacenamiento y la clasificacion de la informacion es uno de los trabajos mas

desgastantes porque de ella puede depender la existencia de una empresa, proyecto, etc.

Con la aparicion de las computadoras se creo el concepto de Bases de Datos, en la cual

el almacenamiento y la clasificacion de la informacion se ha facilitado.

Visual FoxPro es una de las mas potentes herramientas en el manejo de las Bases de Datos.

Desde sus inicios conocido popularmente cono lenguaje FoxPro ha demostrado ser de los

mas eficientes y eficaces en este ramo. La nueva version de estes lenguaje nos enseña la

manera visual de manejar y entender a nuestra informacion.

Visual FoxPro

 

Es un sistema orientado a objeto para la generación de Base de Datos y el desarrollo de aplicaciones.

Desde Visual FoxPro podemos crear Formularios, Base de Datos , Informes, Vistas, Proyectos entre otros. Podemos crear los elementos de un proyecto por separado y luego agregarlos a un proyecto existente o crear un proyecto y desde éste ir agregando los elemento que deba contener. Cuando creamos un proyecto debemos crear una carpeta de trabajo en la se guarde el proyecto. Para indicarle a Visual Foxpro en cual directorio debe buscar los archivos del proyecto debemos indicarle el directorio por defecto; en le menú Herramientas en la opción de Opciones en la ficha de Archivos, aparecerá la ruta por defecto el directorio de Vfp cambiamos este directorio por la carpeta en la que está nuestro proyecto y seleccionamos Aceptar. Desde la Ventana de Comandos se utiliza el comando SET DEFAULT nombrederuta por ejemplo: Set default c:\publico\practica (La Ventana de Comandos será explicada mas adelante)

CREACION DE LA BASE DE DATOS

  1. Ubiquese en la ficha Datos y luego en Base de Datos y presione el botón

Nuevo

 

La ventana del Diseñador de Base da datos aparecerá :

 

 

Puede utilizar la barra de herramientas del Diseñador para el control de la Base de Datos.

Descripción de los botones de la Barra de herramientas (Diseñador de Base de Datos):

Crear una nueva tabla.

Agregar una tabla existente

Eliminar una tabla seleccionada

Modificar una tabla seleccionada

Creación de Vistas remotas

Creación de Vistas locales

Editar Procedimientos almacenados en la Base de Datos

Creación de Conexiones con vistas remotas

Examinar el contenido la tabla (BROWSE)

Los nombres de las tablas deben ser de una a ocho caracteres de largo y deben tener la extensión predeterminada .dbf (database file: archivo de Base de Datos)

Crear una nueva tabla:

1. Click en el botón de Nueva tabla, aparecerá la ventana Nueva Tabla

 

 

 

  1. Se selecciona Nueva Tabla, luego aparece la ventana de guardar el archivo, seleccione el directorio y el nombre de la tabla y luego presione el boton de guardar.

 

La ventana del Diseñador de tablas aparecerá en pantalla:

Esta es la parte mas importante de la tabla, es aquí donde se define la estructura de datos que contendrá dicha tabla. El primer paso es definir los campos, tipos, tamaño, Formato y Reglas de validación.

 

  1. Definición de campos:

Igual que en las versiones anteriores, la definición de campos es igual. Se introduce el nombre del campo (name) el tipo de datos que soportará (Type) y el tamaño. Los nombres de los campos pueden tener hasta 254 caracteres sin espacios en blanco

  1. Definición del Display

Format (Formato): Es el formato de salida del campo, ejemplo si fuera númerico 9,999.99 o si fuera carácter !!!!!!!!!!!!, para que solo acepte mayusculas

Input mask (Máscara de entrada): Igual que el Format, lo único que es para la entrada de datos.

Captión (Título): Descripción mas precisa del campo, es de utilidad al diseñar los Formularios.

 

  1. Definición de reglas de validación a nivel de campo

La validación son triggers o eventos que se ejecutan a nivel de campo. Ejemplo: una validación de un campo que solo acepte números positivos. (id > 0)

 

Rule (Regla): Es la regla de validación, ejemplo: id > 0, si queremos que acepte valores positivos.

Message(Mensaje): Es el mensaje personalizado que queremos que aparezca en pantalla a la hora de violarse la regla de validación del campo. Ejemplo : ‘Solo se aceptan números positivos’ (nota: el texto debe escribirse entre comillas).

Default Value : Valor por defecto del campo. (nota: hay que respetar el tipo de dato del

Campo)

Luego de hacer la definición de los campos, pasamos a la definición de Indices de la tabla, que será muy importante a la hora de crear las relaciones entre las tablas.

Los índices facilitan la ubicaciòn en la tabla de un registro especìfico asì como tambien determinan el tipo de relaciones que existen entre las tablas

Los índices pueden ser CDX o IDX:

Los índices .IDX son índices compactos se crean: "INDEX ON estado to estado compact" crea un archivo de índice llamado estado.cdx. Desafortunadamente si alguna vez abre la tabla sin el índice y añade un registro, éste no se actualizará y tendrá que ser recreado.

Los índices .CDX se crean: "INDEX ON estado tag estado" . Estos archivos se abren automáticamente junto con las tablas.

La estructura interna de los IDX y los CDX es diferente.

  1. Nombre del Indice (name)

Introducir el Nombre del archivo índice. Es conocido también como TAG (etiqueta).

  1. Type ( tipo de Indice)

Primary : Llave primaria.

Candidate : Llave candidata

Unique : Llave única.

Regular : Llave foránea.

El índice Primary o Principal: garantiza que solo se introduzcan valores únicos en un campo y determina el orden en el que se procesan los registros. Cada tabla puede tener únicamente un índice Principal.

El índice Candidate o Candidato: puede ser un candidato para utilizarse como índice principal, refuerza la unicidad de los valores.

El índice Unique o Unico: almacena un lista de cada valor único en la tabla índices.

El índice Regular o Normal: puede ser utilizado para ordenar y buscar datos en consultas e informes. No refuerza la unicidad de los datos

c. Nombre de la Expresión

Nombre de los campos que conforman la clave primaria:

Ejemplo : id, o si son varios campos : id + linea

Nota: si los campos no son del mismo hay que forzarlos al tipo de dato deseado, ejemplo: si id es carácter y linea, entoces el nombre de la expresion sería:

Id + STR(linea)

STR() convierte de número a carácter y VAL() convierte de carácter a númerico.

Después de detallar los índices, se define los eventos de La validación a nivel de registro y los eventos que se ejecuten a la hora de Insertar un registro, de actualizar o borrar.

 

 

Visual Foxpro tiene 37.767 espacios de trabajo, llamadas áreas de trabajo porque una tabla deber ser seleccionada para volverla la tabla actual. Cuando se inicia Visual FoxPro el área de trabajo es la 1 por omisión. Para abrir una tabla en el área de trabajo 1 cuando ninguna otra tabla está abierta, tecleamos en la Ventana de Comandos:

USE nombretabla

No necesariamente debe estar en un área de trabajo para abrir una tabla puede especificar: USE nombretabla IN 3

Sin embargo con mas frecuencia se utiliza: USE nombre tabla IN 0 lo que significa encuentre el área de trabajo siguiente en la que no se encuentre abierta una tabla y abre nombretabla ahí.

Cuando se utiliza una tabla Visual FoxPro le asigna un alias, un nombre de hasta 10 caracteres con el cual se refiere a ella en el programa, generalmente el alias es el mismo nombre que el de la tabla

Para crear una tabla desde la Ventana de Comandos: CREATE <nombretabla>

Para modificar una tabla Administrador de Proyectos | Datos | Base de Datos| Tablas | Seleccionamos la tabla | Modificar.

Desde la Ventana de Comandos: Use tabla | MODIFY ESTRUCTURE

En Visual FoxPro existe la Ventana de comandos ésta funge como la ventana de MSDOS que puede utilizarse desde Windows con la finalidad de permitir utilizar comandos del lenguaje para ejecutar algunas funciones. Por ejemplo desde Windows desde el explorador podemos examinar el contenido de un disckette acción que también podemos hacer si abrimos una ventana de MSDOS y tecleamos DIR A:. Es decir a pesar de que se pueden tener acceso a la mayoría de los elementos de Visual FoxPro desde el menú muchas veces es útil simplemente teclear un comando.

Para activar la Ventana de Comandos auque ella aparece por defecto en el en el entorno de trabajo tecleamos Ctrl. F2

Para agregar registros a una tabla : Administrador de Proyectos | Datos | Base de Datos | Tablas | Seleccionamos la tabla | Examinar y luego en el menú Ver | Modo Añadir

Desde la Ventana de Comandos: Teniendo la tabla activa escribimos APPEND.

Para ver los registros de una tabla: Administrador de Proyectos | Datos | Base de Datos | Tablas | Seleccionamos la tabla | Examinar.

Desde la Ventana de Comandos: teniendo la tabla activa escribimos BROWSE.

En Visual Foxpro los registros de una tabla pueden borrarse lógicamente y físicamente.

Para borrar lógicamente un registro : Administrador de Proyectos | Base de Datos | Tablas | Seleccionamos la Tabla | Examinar luego con el ratón hacemos Click en la primera columna de izquierda a derecha, la columna en la celda seleccionada se colocará de color negro.

Desde la Ventana de Comandos: DELETE (Teniendo seleccionado el registro)

Para ver los registros de una tabla sin que aparezcan los registros borrados lógicamente:

Primero desde la Ventana de Comandos debemos teclear : SET DELETE ON y luego desde el Administrador de Proyectos | Datos | Base de Datos | Tablas | Examinar .

También desde la Ventana de Comandos con el comando BROWSE

Si queremos incluso los registros borrados lógicamente tecleamos en la Ventana de Comandos SET DELETE OFF y luego tecleamos BROWSE.

Para desmarcar los registros borrados lógicamente (desde la Ventana de Comandos): Suponemos que anteriormente habían sido borrados los empleados cuyo sueldo era 15000: DELETE FOR sueldo=15000

Para desmarcar estos registros : RECALL FOR sueldo=15000

Para borrar físicamente registros de una tabla primero deben estar borrados lógicamente

Y luego desde la Ventana de Comandos tecleamos el comando PACK, para utilizar este comando la tabla debe ser abierta en modo exclusivo USE nombretabla EXCLUSIVE .

Algunos comandos para manipular tablas:

List for cedula="12434213" Muestra en el entorno de trabajo la informacion del registro que cumpla con esta condición.

List fields cedula,nombre. Muestra en el entorno de trabajo todas las cédulas y nombres de la tabla seleccionada.

Sum cantidad (suponemos que la tabla activa tiene un campo de tipo numérico llamado cantidad). Muestra en el entorno de trabajo la suma del campo cantidad de la tabla activa.

Sum cantidad for cantidad>1000 Obtiene la suma de los campos cantidad de los registros que cumplen con la condición indicada

Count to Registros for nota>15 (quermos contar los registros de una tabla cuyo campo nota sea mayor a 15 puntos, guardar este total en una variable llamada Registros ) Si luego queremos examinar el contenido de la variable Registros tecleamos ?Registros (signo de interrogación que cierra y luego el nombre de la variable que queremos examinar)

Comandos SEEK y LOCATE

Los comandos Locate y Seek permiten buscar un registro en particular. Locate funciona en cualquier campo dentro de una tabla ya sea que esté indexada o no Seek da por hecho que la clave que está buscando encaja con el índice actual.

Locate for nombre="Luis" La tabla activa posiciona su cursor el registro que cumpla con esta condiciòn.

Seek("Luis") ERROR

Set order to nombre (CORRECTO) Primero se debe activar el ìndice

Seek("Luis") y luego hacer la bùsqueda

La funciòn Set filter:

Esta funciòn provoca que Visual FoxPro se comporte como si no existieran los registros que no coinciden con la expresiòn de filtro, y en las operaciones que se realicen solo se tomaràn en cuenta las registros que cumplen con la condiciòn del filtro actual.

Set filter to nota=15

Para desactivar un filtro colocamos set filter to y para

 

Como moverse en una tabla de VFP

Skip mueve el puntero hacia delante un registro

Skip - 1 mueve el puntero hacia tras un registro

Go top mueve el puntero hacia el primer registro de la tabla

Go bottom mueve el puntero hacia el ùltimo registro de la tabla.

Go 3 mueve el puntero hacia el registro #3 de la tabla

Operaciones Ciclìcas:

Existen una cantidad de mecanismos de ciclos que puede utilizar para moverse a travès de una tabla. El principal es SCAN

Por ejemplo:

Select Cliente (No hay necesidad de hacer go top)

Scan

Sueldo=sueldo + 5000

Endscan

Las lìneas de còdigo entre Scan y Endscan se ejecutaràn 1 vez por cada registro de la tabla.<