Está en la página 1de 12

Visual FoxPro Unidad III

CREAR UNA BASE DE DATOS

Cree un proyecto nmbrelo Nmina y gurdelo en la carpeta Nmina

Establezca la carpeta Nmina como directorio de trabajo.

Para agregar una base de datos al proyecto, en la ventana Project Manager, se selecciona la hoja Data, se
seleciona Databases y se hace click en el botn New

Se selecciona New Database

Se ingresa el nombre del archivo (Nmina.dbc) y se hace click en el botn Guardar

Aparece la ventana Database Designer mostrando en el ttulo el nombre de la base de datos

Ing. Nieves Ascanio H 1


Visual FoxPro Unidad III

Para visualizar la barra de herramientas Database Designer hacer click en Toolbars en el men View

Seleccionar Database Designer y hacer click en OK

Los botones de la barra de herramientas Database Designer de izquierda a derecha permiten las siguientes
tareas:

New Table: Crear una tabla


Add Table: Agregar una tabla existente
Remove Table: Eliminar una tabla
New Remote View: Crear una vista de una o ms tablas de otra base de datos
New Local View: Crear una vista de una o ms tablas de la base de datos
Modify Table: Modificar la estructura de una tabla
Browse Table: Examinar una tabla
Edit Stored Procedures: Modificar procedimientos almacenados
Connections: Crear, modificar y eliminar conexiones con otras bases de datos

Ing. Nieves Ascanio H 2


Visual FoxPro Unidad III

CREAR UNA TABLA

En la ventana Project Manager, expanda el nodo de la base de datos creada (Nmina), seleccionar Tables y
hacer click en New

Seleccionar New Table

Ingresar el nombre del archivo (Cargo.DBF) y hacer click en Guardar

Aparece la ventana Table Designer mostrando el nombre del archivo dbf.

En la ventana se tiene la pgina Fields (Campos), en la cual se ingresar por cada columna o campo de la
tabla, el nombre (Name), el tipo de dato (Type) a almacenar en la columna, el ancho (Width) o cantidad de
caracteres, si el tipo de dato es nmerico la cantidad de dgitos decimales (Decimal), si la columna tendr
asociado un ndice (Index) y si puede aceptar el valor null (NULL).

Ing. Nieves Ascanio H 3


Visual FoxPro Unidad III

En el cuadro Display se especifica:

Format: una plantilla para visualizar el dato en la ventana Browse, formularios y reportes

Input mask: la plantilla para la entrada del dato

Caption: la etiqueta que aparecer en en la ventana Browse, formularios y reportes.

En el cuadro Field validation

Rule: permite especificar que restriccin debe cumplir el valor del dato a guardar en una columna.

Message: permite especificar un mensaje que aparecer si el valor ingresado no satisface la


restriccin especificada en Rule.

Default value: especifica un valor predeterminado. Si se especifica una restriccin en Rule es


obligatorio especificar Default value

En el cuadro Map field type to classes

Display library: Especifica la ubicacin y nombre del archivo de la librera que se quiere crear
cuando se arrastre el campo sobre un formulario.

Display class: Especifica la clase del control que se asociar al campo cuando se arrastre a un
formulario.

En el cuadro AutoIncrement

Next Value: Especifica el valor inicial para un campo autoincrementado. El valor puede estar entre
-2,147,483,647 y 2,147,483,647. El valor predeterminado es 1

Step: especifica el eincremento para un campo autoincrementado. El valor debe estar entre 1 y 255.
El valor predeterminado es 1.

En el cuadro Field comment se puede ingresar un comentario sobre el campo.

Ing. Nieves Ascanio H 4


Visual FoxPro Unidad III

La pgina Indexes permite especificar los ndices

Mover button: Mueve un indice hacia arriba o hacia abajo en la lista. Aparece a la izquierda del la
fila del ndice despus de que se introduzcan dos o ms filas.

Order: Especifica el orden para el ndice. Una flecha arriba indica orden ascendente. Una flecha
abajo indica orden descendente.

Name: Especifica el nombre del ndice.

Type: Especifica el tipo de ndice. En la tabla siguiente se describen los tipos de ndices.

Tipo Descripcin N permitido


No permite duplicar valores en la columna o expresin. El
ndice primary se usa en la tabla primaria o tabla referenciada
Primary Uno por tabla
para establecer integridad referencial en una relacin
persistente (persistent relationship) entre tablas.
Candidate No permite duplicar valores en la columna o expresin. Muchos por tabla
Permite duplicar valores en la columna o expresin. Se usa en la
tabla secundaria para especificar clave fornea para establecer
Regular Muchos por tabla
integridad referencial en una relacin persistente (persistent
relationship) entre tablas.
Binary Se basan en una expression lgica de validacin y non-null Muchos por tabla
Selecciona un subconjunto de registros con base a la primera
Unique ocurrencia de un valor especificado. Se incluye por Muchos por tabla
compatibilidad con versiones anteriores.

Expression: especifica la expression ndice, tal como el nombre de la columna. Una expression
puede contener hasta 240 caracteres. Permite especificar claves compuestas.

Ing. Nieves Ascanio H 5


Visual FoxPro Unidad III

Ejercicio.

Ingrese las columnas de la tabla Cargo

Columna Cdigo Descripcin


Nombre: cdigo descripcin
Tipo: IntegerAutoInc varchar
Ancho. 100
ndice: Ascendente Primary Ascendente Candidate
Caption: Cdigo Descripcin
Auto Incremento Next Value: 1
Step: 1

Al hacer click en el botn OK de la ventana Table Designer aparece el esquema de la tabla en la ventana
Database Designer

EXAMINAR UNA TABLA (BROWSE)

En la ventana Project Manager, se selecciona la tabla y se hace click en Browse.

En la ventana Database Designer, si se selecciona la tabla se activa el men Database, el el cual se


selecciona Browse. Tambin si se hace click derecho sobre la tabla se puede ejecutar el comando Browse

Cuando se activa la ventana Browse se activa el men Table

Seleccione la tabla Cargo y ejecute el comando Browse

AGREGAR UNA FILA O REGISTRO

En el men Table seleccione Append New Record (Ctrl + Y)

Observe que en la columna Cdigo aparece el valor 1, esto se debe a que dicha columna es IntegerAutoInc.

Ing. Nieves Ascanio H 6


Visual FoxPro Unidad III

Agregue un nuevo registro sin llenar la columna Descripcin, aparece el mensaje

Esto se debe a que la columna Descripcin es una clave candidate

Agregue los registros

Repita un valor en la columna Descripcin, y luego agregue un nuevo registro, ver el mensaje

Se hace click en el botn Revert para limpiar el valor duplicado e ingresar el valor correcto

Cierre la ventana Browse

Agregue una tabla y gurdela con el nombre Empleado

Agregue las columnas a la tabla segn el cuadro siguiente:

Ing. Nieves Ascanio H 7


Visual FoxPro Unidad III

Name cdula apellidos nombres sexo fechaing fechanac sueldo codcargo

Type Integer Varchar Varchar Character Date Date Numeric Integer

Width 25 25 1 9

Decimal 2

Index Ascendente Ascendente


Primary Regular

Input mask 99/99/9999 99/99/9999

Captin Cdula Apellidos Nombres Sexo Fecha Ing. Fecha Nac. Sueldo Cod. Cargo

Rule sexo=F.OR.sexo=M

Default Value F 13

Cuando se establece una restriccin (Rule) para los valores a ingresar en una columna, se debe indicar un valor predeterminado (Default Value) de
lo contrario no se podr agregar un registro en blanco con el comando Append Blank.

Las columnas claves forneas, columnas cuyos valores deben ser clave principal de un registro en otra tabla, se establecen como ndice (Index)
Regular, para establecer una relacin persistente (persistent relationship) entre tablas.

Para establecer integridad referencial, las columnas claves forneas tambin se establecen a un valor predeterminado (Default Value) con el fin de
que se pueda agregar un registro con el comando Append Blank. El valor predeterminado de la columna codcargo es 1 que corresponde a la
descripcin No asignado

Ing. Nieves Ascanio H 8


Visual FoxPro Unidad III

Despus de agregar la tabla Empleado, la ventana Database Designer muestra las tablas

ESTABLECER UNA RELACIN PERSISTENTE ENTRE DOS TABLAS

Para establecer una relacin persistente entre dos tablas, se arrastra el ndice Primary de la tabla padre
hasta el ndice Regular (columna clave fornea) de la tabla hija.

Arrastre el ndice cdigo de la tabla cargo al ndice codcargo de la tabla empleado

Integridad referencial los valores a guardar en la columna clave fornea de la tabla hija (child table) deben
estar registrados en la columna clave principal de la tabla referenciada (parent table).

Para establecer Integridad referencial se selecciona Edit Referential Integrity en el men Database o en el
men contextual que aparece al hace click derecho sobre la lnea que une las tablas

Ing. Nieves Ascanio H


Visual FoxPro Unidad III

En los tabs Rules for inserting y Rules for Deleting se selecciona Restrict.

En el tab Rules for Updating se selecciona Cascade slo si la columna Primary de la tabla referenciada
(parent table) es un dato personal como la cdula de identidad, RIF, etc., ya que es factible que al
transcribir datos se cometa un error al registrar un valor clave, de esta manera al modificar el valor clave en
la tabla referenciada, automticamente todos los registros relacionados en la tabla hija (child table) sern
actualizados con el nuevo valor clave.

En todos los dems casos se selecciona Restrict.

Despus de hacer click en OK seleccione Si en el prximo cuadro

En la ventana Command ingrese

SET CENTURY ON Para ingresar los cuatro dgitos de un ao

SET DATE BRITISH Para establecer el formato de fecha a dd/mm/yyyy

Haga click derecho sobre la tabla Empleado y seleccione Browse. Agregue (Ctrl +Y) a la tabla empleado los
registros mostrados en la siguiente ventana browse:

ELIMINAR REGISTROS EN LA VENTANA BROWSE

La eliminacin de un registro se hace en dos pasos eliminacin lgica y eliminacin fsica

Eliminacin lgica

Se marca el registro haciendo click a su izquierda

Ing. Nieves Ascanio H


Visual FoxPro Unidad III

Para ocultar los registros marcados se ingresa en la ventana Command SET DELETED ON

Para mostrar los registros marcados se ingresa en la ventana Command SET DELETED OFF

Para recuperar los registros marcados se elige Recall Records en el men Table

En Scope se selecciona All y se hace click en el botn Recall

O se ejecuta en la ventana Command el comando RECALL ALL

Eliminacin fsica

Para eliminar definitivamente los registros marcados se elige Remove Deleted Records en el men Table o
se ejecuta en la ventana Command el comando PACK

MODIFICAR UN REGISTRO EN LA VENTANA BROWSE

Se ingresa el nuevo valor en la columna y se pulsa enter.

APUNTADOR DE REGISTRO

Para eliminar o modificar un registro debe estar apuntado. Para mover el apuntador de registro en la
ventana Command se ingresa la sentencia adecuada:

GO BOTTOM Mueve el apuntador al ltimo registro


GO TOP Mueve el apuntador al primer registro
GO RECORD 5 Mueve el apuntador al registro 5
SKIP Mueve el apuntador al registro siguiente (al 6)
SKIP -3 Mueve el apuntador 3 registros hacia atrs (al 3)

Ejercicio

Cree las tablas de la base de datos Nmina segn el diagrama mostrado en la prxima pgina

Ing. Nieves Ascanio H


Visual FoxPro Unidad III

Ing. Nieves Ascanio H

También podría gustarte