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
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
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.
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
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.
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.
Introducir el
Nombre del archivo índice. Es conocido también como TAG (etiqueta).
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.<