Sei sulla pagina 1di 47

Visual FoxPro.

Base de Datos, Propiedades, Reglas de Validacin y las Relaciones.



Base de Datos, Pero Qu es una Base de Datos?
Una Base de Datos es una coleccin de Datos Relacionados, que pueden ser estructurados
en diferentes formas para cumplir con las necesidades de proceso y recuperacin de las
organizaciones e individuos. (Sanders, D., 1983). En Visual FoxPro es un archivo que tiene
una extensin .DBC y puede contener una o varias tablas, vistas, conexiones con orgenes
de datos remotos y procedimientos almacenados.
Una Tabla es la estructura fundamental de un sistema de administracin de bases de datos
relacionales. En Visual FoxPro, una tabla almacena datos en registros (filas) y campos
(columnas). Los datos suelen referirse a una categora determinada de cosas, como clientes,
pedidos de clientes, empleados o piezas de inventario. Cada tabla de Visual FoxPro puede
almacenarse en su propio archivo con una extensin .DBF o puede estar contenida en una
base de datos.

Un Registro es una unidad de almacenamiento en una tabla. Todas las tablas pueden
contener un gran nmero de registros, cada uno de los cuales consta de campos.

Campo es cualquier elemento de datos contenido en un registro. Uno o ms campos forman
un registro de una tabla, y uno o ms registros forman una tabla.

Una Vista es una definicin de tabla virtual personalizada que puede ser local, remota o
parametrizada. Las vistas hacen referencia a una o ms tablas, o a otras vistas. Pueden ser
actualizables y pueden hacer referencia a tablas remotas.

La Conexin Remota es una definicin de conexin almacenada en una base de datos a la
que puede hacer referencia por nombre al crear una vista remota. Tambin puede establecer
propiedades en la conexin con nombre para optimizar la comunicacin entre Visual
FoxPro y el origen remoto de datos. Cuando active una vista remota, la conexin de la vista
se convertir en la canalizacin con el origen remoto de datos.

Un Procedimiento Almacenado es una base de datos. El procedimiento puede contener
cualquier comando y funcin permitido en una funcin definida por el usuario. En un
origen remoto de datos, una coleccin de instrucciones SQL almacenadas bajo un nombre
en cualquier base de datos SQL.
Para crear y/o aadir a una Base de Datos en nuestro proyecto, buscamos en el Men
Principal de Visual FoxPro la opcin Archivo y seguidamente hacemos Click sobre la
palabra nuevo o bien sobre abrir, dependiendo la accin que deseamos realizar:
Para crear un nuevo Proyecto y/o Base de Datos.
Para abrir un Proyecto y/o Base de Datos existente.
Una vez que elegimos crear una base de datos nueva, aparecer en pantalla el Diseador o
Generador de Base de Datos:

Generador de Bases de Datos: Muestra todas las tablas, vistas y relaciones contenidas en
una base de datos. Cuando la ventana del Generador de bases de datos est activa, Visual
FoxPro muestra el men Base de datos y la barra de herramientas Generador de bases de
datos.

Cada tabla se representa por una ventana dimensionable que lista los campos de la tabla y
los ndices, si existe alguno. El Generador de bases de datos muestra las relaciones
persistentes mostrando lneas entre las tablas que conectan los ndices.
Men de Base de Datos: En el men principal de Visual FoxPro, se activa el men Base de
datos contiene comandos para la creacin y edicin de tablas en una base de datos.
ueva tabla: Crea una nueva tabla usando un asistente o un generador.
Agregar tabla: Aade una tabla existente a una base de datos.
ueva vista remota: Crea una nueva vista remota usando un asistente o un generador.
ueva vista local: Crea una nueva vista local usando un asistente o un generador.
Quitar: Quita la tabla seleccionada de la base de datos o la elimina del disco.
Modificar: Abre la tabla seleccionada en el Generador de tablas.
Examinar: Muestra la tabla seleccionada en la ventana Examinar para edicin.
Volver a generar ndices de tabla: Genera claves y reconstruye ndices para la tabla
seleccionada.
Quitar registros eliminados: Quita de forma permanente todos los registros de la tabla
activa que estn marcados para eliminar.
Editar relacin.
Altera la relacin entre tablas.
Integridad referencial: Muestra el generador de integridad referencial, en el que puede
establecer las reglas que controlan cmo se insertan, actualizan o borran los registros en las
tablas asociadas.
Editar procedimientos almacenados: Muestra un procedimiento de Visual FoxPro en una
ventana de edicin.
Limpiar base de datos: Ejecuta el comando PACK para reducir el tamao de una base de
datos quitando las filas que se han marcado para borrar.
Barra de Herramientas del Generador: La barra de herramientas Generador de bases de
datos se muestra cuando est activo el Generador de bases de datos. Esta barra de
herramientas contiene los botones siguientes:
Crea una nueva tabla usando un asistente o un generador.
Agregar una tabla existente a una base de datos.
Quita la tabla seleccionada de la base de datos o la elimina del disco.
Crea una vista remota usando un asistente o un generador.
Crea una vista local usando un asistente o un generador.
Abre la tabla seleccionada en el Generador de tablas.
Muestra la tabla seleccionada en la ventana Examinar para su edicin.
Muestra un procedimiento almacenado de Visual FoxPro en la ventana de edicin.
Como nuestro objetivo ser crear una Base de Datos, debemos generar las tablas (archivos)
necesarias; tenemos tres opciones para crear una tabla nueva, bien sea a travs del Men de
Base de Datos, utilizando el cono respectivo de la Barra de Herramientas o haciendo uso
del comando Crate TABle desde la Ventana de Comandos, despus de ejecutar
cualquiera de las tres acciones anteriores aparecer el siguiente Cuadro de dilogo:

Este cuadro de dilogo debes seguir los siguientes pasos:
1. Elegir la ubicacin fsica (Directorio, Unidad, etc.) de tu PC donde se guardar la
Tabla a crear
2. Nombre de la Tabla: Especfica el nombre de la nueva tabla; la extensin DBF (Data
Bases Field) la asume Visual Foxpro por defecto. Los nombres pueden tener hasta
128 caracteres de longitud.
3. Guardar, una vez que hayas completado los dos pasos anteriores, con solo pulsar el
botn de guardar te permitir terminar de generar tu tabla.
En acto seguido, aparece en pantalla el Diseador de Tablas, en el cual creas la Estructura
de la Tabla deseada:

Diseados de Tablas: Utilice el Generador de tablas para crear y modificar tablas de base
de datos, tablas libres, campos e ndices. El Generador de tablas le ayuda a implementar
caractersticas avanzadas como reglas de validacin y valores predeterminados. Las tres
siguientes opciones aparecen en la parte superior del Generador de tablas si lo abre cuando
est abierta una base de datos:

ombre de tabla: Especifica el nombre de la tabla que se est creando o modificando. Para
tablas de bases de datos, el nombre de la tabla aparece en el administrador de proyectos; y
no es el nombre del archivo.

Base de datos: Muestra el nombre de la base de datos a la que pertenece la tabla si la tabla
no es una tabla libre. Este cuadro es de slo lectura.

Botn "Propiedades de tabla": Muestra el cuadro de dilogo Propiedades de la tabla para
la configuracin de la regla a nivel de fila y la validacin del texto de error, de los
desencadenantes y de los comentarios.

Fichas del Generador de tablas:

Tabla: Muestra los campos de la tabla en una cuadrcula desplazable. La ficha tabla
muestra informacin ligeramente diferente dependiendo de si abre el Generador de tablas
cuando est abierta una base de datos. Si hay una base de datos abierta, la ficha incluye
opciones para la configuracin de reglas de validacin. Cuando no hay una base de datos
abierta, la ficha contiene slo las opciones bsicas de nombre de campo, tipo y formato.La
ficha muestra los campos de la tabla en una cuadrcula desplazable. Cada fila contiene el
nombre del campo, el tipo de dato, la anchura del carcter, el nmero de decimales y el
soporte de valores nulos. Haga clic en la cuadrcula para modificar un campo.

Opciones de la ficha

ombre: Especifica el nombre del campo. No se aceptan espacios. Para las tablas de bases
de datos, la longitud del nombre puede ser de hasta 128 caracteres.Campo:Cualquier
elemento de datos contenido en un registro. Uno o ms campos forman un registro de una
tabla, y uno o ms registros forman una tabla.

Tipo: Especifica el tipo de dato del campo. Haga clic en la flecha de arrastrar hacia abajo
para seleccionar un tipo de la lista.

Ancho: Especifica la anchura en caracteres del campo. Valor numrico que especfica el
tamao o la longitud que tendr el campo.

Decimal: Especifica el nmero de dgitos a la derecha del punto decimal. La columna
"Decimal" se aplica a los tipos de datos numricos y de reales de doble precisin.

ULL: Cuando se activa, especifica que el campo puede aceptar valores nulos.Los valores
nulos son: Igual a la ausencia de cualquier valor o diferente que cero, la cadena vaca ("") o
blanco.

Botn "Insertar": Inserta un nuevo campo sobre el campo seleccionado.

Botn "Eliminar": Elimina el campo seleccionado de la tabla.

Propiedades de campo: Si est modificando una tabla de base de datos, el grupo de
opciones "Propiedades de campo" aparece bajo la cuadrcula desplazable. La configuracin
de las propiedades del campo seleccionado se especifica en este rea. Elija el botn de tres
puntos a la derecha de cada configuracin de propiedad para mostrar el cuadro de dilogo
Generador de expresiones, o teclee el tipo de expresin directamente. No se requieren las
entradas paras estas opciones.

Regla de validacin: Especifica la regla a nivel de campo para reforzar la validacin de
datos.validacin. Validacin es el proceso de comprobar si los datos introducidos cumplen
ciertas condiciones o limitaciones.regla a nivel de campo. Una regla de validacin, asociada
a un campo, que se activa cuando se inserta o cambia el valor del campo, y que
normalmente se usa para verificar la entrada de datos y su exactitud. Las reglas a nivel de
campo se activan antes que las reglas a nivel de registro y los desencadenantes, y funcionan
durante las actualizaciones almacenadas en bfer.

Mensaje o Texto de validacin: Especifica el mensaje de error que se va a mostrar si falla
una entrada para acomodarse a la regla de validacin a nivel de campo.

Valor predeterminado: Especifica el valor predeterminado para el campo. Valor
Predeterminado: Una cantidad o cadena que usted designa como contenido para un campo
cuando se agrega un nuevo registro a una tabla de base de datos. El valor predeterminado
permanece en el campo hasta que usted introduzca un nuevo valor.

Ttulo o Encabezado: Especifica un nombre descriptivo para el campo. El ttulo aparece
como el encabezamiento de columna cuando examina la tabla. El ttulo puede tener hasta
128 caracteres.

Comentario del campo: Almacena comentarios descriptivos sobre el campo.
ndice:Contiene una cuadrcula desplazable para la definicin de ndices. La cuadrcula
tiene cuatro columnas. Indice: Una serie de punteros ordenados lgicamente por los valores
de una clave. Los ndices ofrecen acceso rpido a datos y pueden exigir la unicidad en las
filas de una tabla. Los ndices de Visual FoxPro se mantienen en un archivo de ndice. Vea
tambin ndice candidato, clave principal.

Opciones de la ficha

ombre: Especifica el nombre de etiqueta para el ndice. El botn de flecha a la izquierda
del nombre de ndice especifica el orden ascendente o descendente. Seleccione el ndice y
despus haga clic en el botn de flecha para cambiar el orden.

Orden: Forma en la cual se ordenarn los datos en el ndice, y que puede ser Ascendente o
Descendente.
Botn para mover: Este es un botn con una flecha de doble punta que se encuentra en el
extremo izquierdo de la fila. Una vez que ha introducido dos o ms filas, utilice el botn
para mover una fila hacia arriba o hacia abajo en la lista.

Tipo: Especifica el tipo de ndice Primario (slo si la tabla est contenida en una base de
datos), Candidato, nico o Regular (el predeterminado). Cuando hace clic en una celda de
esta columna, aparece una lista desde la cual puede seleccionar un tipo. No se requiere una
entrada en este campo.

Principal: ndice que garantiza que slo se introduzcan valores nicos en un campo
y determina el orden en el que se procesan los registros. Cada tabla puede contener
nicamente un ndice principal. Esto garantiza la integridad referencial en una
relacin persistente.Visual FoxPro devolver un error si especfica un ndice
principal sobre un campo que contenga datos duplicados.
Candidato: Refuerza la unicidad de los valores y puede ser un candidato para
utilizarse como ndice principal. Pueden haber varios candidatos por tabla. Un ndice
candidato nunca permite valores duplicados en la expresin o en los campos
especficados. El nombre "Candidato" hace referencia al estado del ndice, puestos
que estos no admiten valores duplicados, se convierten en "candidatos" para ser
elegidos como ndice principal. Al igual que en el Principal, Visual FoxPro devolver
un error si especfica un ndice candidato sobre un campo que contenga datos
duplicados.
nico: Un ndice nico permite valores duplicados y almacena una lista de cada
valor nico en la tabla de ndices. Los ndices nicos no evitan el uso de valores
duplicados, aunque slo almacenan la primera aparicin del valor o valores en el
archivo de ndices. En este sentido, la palabra "nico" se refiere a las entradas del
archivo de ndice, que slo contiene valores nicos, pues no almacena cada clave
ms de una vez e ignora la segunda y posteriores apariciones de los valores no
nicos. Las tablas indexadas con ndices nicos pueden contener valores duplicados.
Los ndices nicos se admiten principalmente por compatibilidad con las versiones
anteriores. Una tabla puede contener varios ndices nicos.
ormal o Regular: Es un ndice que no refuerza la unicidad de los datos, pero puede
ser utilizado para ordenar y buscar datos en consultas e informes, una tabla tambin
admite varios ndices normales.
Expresin:Especifica la expresin de ndice, como un nombre de campo. Haga clic en el
botn para crear o editar una expresin en el Generador de expresiones. Una expresin
puede tener hasta 240 caracteres.

Filtro:Especifica la expresin de filtro. Haga clic en el botn para crear o editar una
expresin en el cuadro de dilogo del Generador de expresiones.

Botn "Insertar":Inserta un nuevo ndice sobre el ndice seleccionado en la cuadrcula.

Botn "Eliminar": Elimina el ndice seleccionado de la cuadrcula.

Tabla: Fija la regla a nivel de fila, el texto de error de validacin, y un comentario para la
tabla. Este cuadro de dilogo aparece cuando se elige Propiedades de tabla en el Generador
de tablas. Es necesario que haya una base de datos abierta para que aparezca el botn
"Propiedades de tabla" en el Generador de tablas. Las tablas libres no pueden tener
asociados comentarios, reglas o desencadenantes.
Opciones de la ficha

El botn situado a la derecha de cada configuracin muestra el Generador de expresiones.

Opciones del cuadro de dilogo
Regla de validacin: Especifica una regla a nivel de fila para hacer que se cumpla la
validacin de datos.regla a nivel de registro Una regla de validacin, vinculada a un campo,
que se activa cuando se inserta o modifica el registro, y que suele utilizarse para verificar la
entrada de datos y su exactitud. Las reglas de validacin no se aplican cuando se eliminan
registros. Las reglas de validacin a nivel de registro se activan despus de las reglas a nivel
de campo y antes que los desencadenantes, y funcionan durante las actualizaciones
almacenadas en bfer. registro. Registro: Una unidad de almacenamiento en una tabla.
Todas las tablas pueden contener un gran nmero de registros, cada uno de los cuales consta
de campos.

Mensaje o Texto de validacin: Especifica el mensaje de error que debe ser mostrado si
una entrada no se ajusta a la regla de validacin a nivel de fila.

Desencadenates o Trigger: Cdigo de evento a nivel de registro que se ejecuta despus de
una insercin, una actualizacin o una eliminacin. Es posible adjuntar distintas acciones a
los distintos eventos. Los desencadenantes se ejecutan en ltimo lugar, despus de las
reglas, y no se ejecutan durante las actualizaciones almacenadas en bfer. Suelen utilizarse
para integridad entre tablas. A travs de los desencadenantes se logra que rigen la
coherencia de datos, Referencial (RI): Las reglas Integridad especficamente las
relaciones entre las claves principal y externa de tablas distintas. Visual FoxPro resuelve la
integridad referencial mediante reglas a nivel de campo y a nivel de registro definidas por el
usuario. El Generador de integridad referencial le ayuda a definir reglas para controlar
cmo ser insertan, actualizan o eliminan registros de tablas relacionadas.
ISERTAR: Especifica una regla que debe desencadenarse siempre que se inserta o se
agrega un registro a la tabla.
ACTUALIZAR: Especifica una regla que debe desencadenarse siempre que se actualiza un
registro de la tabla.
ELIMIAR: Especifica una regla que debe desencadenarse siempre que se elimina un
registro de la tabla.
Los tres procesos anteriores de actualizacin (Insercin, Eliminacin y Modificacin) de
Tablas, pueden ser en:
Cascada: Actualiza todos los registros relacionados de la(s) tabla(s) secundaria(s) con el
nuevo valor. No se aplica al proceso de insercin
Restringir: Prohibe la actualizacin si hay registros relacionados en la(s) tabla(s)
secundaria(s)
Ignorar: Permite la actualizacin y deja los registros relacionados slo en la(s) tabla(s)
secundaria(s)

Una de las ventajas con la que cuenta el usuario con Visual FoxPro, es la manipulacin de
los datos que este permite, es tarea principal del Analista Programador crear una slida
estructura de los datos, para de esta forma aprovechar al mximo todas las ventajas y
posibilidades que Visual FoxPro pone a su alcance. Una estructura de datos bien definida
debe contemplar:
ormalizar: Minimizar la duplicacin de informacin en una base de datos relacional
mediante un diseo de tablas eficaz.

Relacin: Un vnculo entre tablas que permite acceder a los datos desde ms sitios que la
tabla seleccionada actualmente. El vnculo es la condicin de combinacin. Para crear
relaciones necesitar ndices en las tablas que desee relacionar.

Para preparar la creacin de una relacin, busque un campo comn en las dos tablas y
agregue ndices. Por ejemplo, la tabla Libros y la tabla Detalles tienen un campo Isbn. Para
establecer una relacin entre ellas, la tabla Libros necesita un ndice principal en el campo
Isbn y la tabla Detalles necesita un ndice normal en su campo Isbn.

Relacin Uno a Uno (1:1): Una relacin entre tablas en la cual cada registro de la tabla
primaria slo puede asociarse a un registro de la tabla relacionada.Utilice una relacin de
Uno a Uno para acceder a un registro en cada una de las dos tablas. Las relaciones de Uno a
Uno son extraas porque los registros pueden estar contenidos normalmente en la misma
tabla
Relacin Uno a Varios (1:): Una relacin entre tablas en la cual cada registro de la tabla
primaria puede asociarse con varios registros de la tabla relacionada (el valor de cada clave
principal puede aparecer varias veces en la tabla relacionada). Utilice este tipo de relacin
para enlazar un solo registro de una tabla con varios registros de otra.

relacin varios a varios (:): Una relacin entre tablas en la que los registros de cada
tabla tienen mltiples registros coincidentes en la tabla relacionada. Este tipo de relacin
puede requerir ciertos cambios en el diseo de la base de datos o una tabla de uniones.
Utilice esta relacin para establecer varios registros de una tabla con varios registros de
otra.

Tabla Libre:Una tabla que no est contenida en una base de datos. Un archivo .DBF
creado en una versin anterior de FoxPro es una tabla libre hasta que se agrega a una base
de datos. Contrastar con tabla de base de datos.

Tabla Primaria: La tabla cuyas columnas estn referenciadas por otras tablas en una
relacin uno a uno o uno a varios.

Tabla Principal: La tabla primaria o de control en una relacin uno a uno o uno a varios.
Vea tambin tabla secundaria, tabla principal, tabla relacionada.

Tabla Relacionada: Las tablas que hacen referencia a columnas de otra tabla. Vea tambin
tabla secundaria, tabla principal, tabla primaria.

Tabla Secundaria: La tabla relacionada o controlada en una relacin uno a uno o uno a
varios entre tablas.

Tabla de Uniones: Una tabla creada para separar una relacin varios a varios entre dos
tablas en dos relaciones uno a varios. La tabla de uniones contiene las claves principales de
las dos tablas con la relacin varios a varios.

Clave Principal: La columna o columnas cuyos valores identifican de manera exclusiva
una fila de una tabla.

Relacin Persistente: Relaciones entre tablas que duran ms que simplemente el tiempo de
ejecucin. Las tablas deben estar en una base de datos para poder tener una relacin
persistente. El segmento de lnea que une (relaciona) a dos tablas entre si, es lo que se
conoce como Relacin Persistente


Relacin Temporal: Relacin entre tablas que se crea mediante el comando SET
RELATION. Las relaciones temporales desaparecen al salir de Visual FoxPro.
Generador de Expresiones: Le permite crear y editar expresiones. Una expresin puede
ser tan simple como el nombre de un campo o tan compleja como un clculo incluyendo
funciones IF inmediatas, concatenaciones, y conversiones de tipos de datos. La finalidad
principal del Generador de expresiones es facilitar la creacin de expresiones
proporcionndole listas de opciones adecuadas en cada paso. Se puede acceder a este
cuadro de dilogo desde generadores, ventanas, generadores, y asistentes. Para crear una
expresin, puede escribirla directamente en el cuadro de expresin, o puede seleccionar
elementos de las listas desplegables de funciones para que Visual FoxPro las pegue en el
cuadro de expresin.. El generador de Expresiones puede ser utilizado para las: Reglas de
Validacin, Texto de Validacin, Valor Predeterminado, Expresin y/o Filtro de un
ndice, Validacin de Registros y para crear Integridad Referencial o
Desencadenantes.


Opciones del cuadro de dilogo
Funciones: Contiene cuadros de lista de cuatro tipos de funciones. Cuando se selecciona
una funcin de uno de los cuatro tipos, Visual FoxPro la pega automticamente en el cuadro
de expresin. Cuando se estn generando expresiones para vistas remotas, Visual FoxPro
presenta slo las funciones especficas de los datos de apoyo de destino.

Cadena: Presenta las funciones de cadenas de caracteres disponibles.

Lgicas: Presenta las funciones lgicas disponibles.

Matemticas:Presenta las funciones matemticas disponibles.

Fecha: Presenta las funciones de fecha y hora disponibles.

Expresin: Muestra la expresin que se est creando o editando.

Campos: Presenta los campos de la tabla o vista activa. Para pegar un campo en el cuadro
de expresin, haga clic doble sobre el campo, o seleccione el campo y presione ENTER.

De tabla: Para mostrar campos de una tabla distinta. Presenta tablas y vistas que estn
abiertas. Seleccione una tabla o una vista para actualizar el cuadro "Campos".

Variables: Presenta variables de memoria del sistema, matrices, y variables de memoria
creadas por usted.
Para pegar una variable en el cuadro de expresin, haga clic doble sobre la variable, o
seleccione la variable y presione ENTRAR.

Verificar: Valida la sintaxis de la expresin del cuadro de expresin. Si la expresin es
vlida, se muestra "La expresin es vlida" en la barra de estado. Si no es vlida, Visual
FoxPro muestra un mensaje de error. Esta opcin no se activa para vistas remotas.

ota: Si se incluye una llamada a funcin definida por el usuario, Verificar indicar un
error, pero no habr necesariamente un error cuando la expresin es evaluada en tiempo de
ejecucin.

Opciones: Muestra el cuadro de dilogo Opciones del Generador de expresiones, en el que
se pueden fijar las preferencias para el Generador de expresiones.
Comentarios: Proporciona espacio para que escriba un comentario relativo a la tabla. Lo
que escriba aqu aparece como descripcin en la parte inferior del Administrador de
proyectos cuando se seleccione la tabla.

Terminada la parte preliminar del Manejo de Datos en Visual FoxPro, empecemos a
construir nuestra Base de Datos y sus tablas respectivas....
Visual FoxPro.
Construyendo la Estructura de los Datos.

En est parte nos dedicaremos a crear las tablas necesarias para nuestra Base de Datos,
tomaremos como base de nuestro trabajo, el Sistema Penitenciario, pare el cual debemos
construir la estructura de datos necesaria para manejar el mencionado sistema.
Para crear la Base de Datos en nuestro proyecto Sistema Penitenciario, buscamos en
el Men Principal de Visual FoxPro la opcin Archivo y seguidamente hacemos Click
sobre la palabra nuevo o bien sobre icono respectivo y aparece en pantalla el Cuadro de
Dilogo Nuevo:

Como vamos a crear un proyecto nuevo, el tipo de archivo a seleccionar es "Proyecto", y
seguidamente un Click sobre el botn

Inmediatamente, se activa en pantalla la ventada del Administrador de Proyectos, cual nos
permite, como su nombre lo indica "Administrar" nuestro proyecto:

Con la opcin que vamos a trabajar por los momentos en con la ficha Datos, el cual tienen
entre sus componentes; Bases de Datos, Tablas Libres y Consultas.

Seleccionamos Bases de Datos y pulsamos el botn
Una vez que elegimos crear una base de datos nueva, aparecer en pantalla el Diseador o
Generador de Base de Datos:

A travs del Generador de Bases de Datos construiremos todas las tablas requeridas por el
Sistema Penitenciario. Como no contiene ninguna tabla, solo se muestra la barra de
herramientas junto al generador. Ahora bien, vamos a construir nuestra primera tabla:
Reo.DBF
ombre de Campo Tipo Longitud
Codigo_Reo Caracter 8
Cedula_Reo Caracter 12
Nombre_Reo Caracter 30
Nacionalidad Caracter 20
Fec_Nac Fecha 8
Lugar_Nac Caracter 20
Edo_Civil Caracter 15
Direccion_1 Caracter 30
Direccion_2 Caracter 30
Instruccion Caracter 20
Profesion Caracter 20
Nombre_Padre Caracter 30
Nombre_Madre Caracter 30
Nombre_Esposa Caracter 30
Estatus Lgico

Para crear la tabla Reo.DBF debemos crear una estructura nueva que contenga las
caractersticas de la tabla anterior, debemos hacer Click sobre la opcin ueva
Tabla del Men de Base de Datos, localizado en el Men Principal de Visual FoxPro, con
el comando CRATE TABLE desde la Ventana de Comandos o a travs de la Barra de
Herramientas, con un Click sobre el siguiente cono:

Una vez que aparece el Cuadro de Dilogo Crear:

Este cuadro de dilogo debes seguir los siguientes pasos:
1. Elegir la ubicacin fsica (Directorio, Unidad, etc.) de tu PC donde se guardar la
Tabla a crear, por defecto Visual FoxPro la guarda en el directorio donde se
encuentra el mismo, es decir en el directorio de VFox
2. Nombre de la Tabla: Reo; la extensin DBF (Data Bases Field) la asume Visual
Foxpro por defecto..
3. Pulsar el Botn Guardar, una vez que hayas completado los dos pasos anteriores, con
solo pulsar el botn de guardar te permitir terminar de generar tu tabla.
En acto seguido, aparece en pantalla el Diseador de Tablas, en el cual creas la Estructura
de la Tabla deseada:

En el Diseados de Tablas, es donde generas la estructura de la tabla y todo lo que esta
implica (Indices, reglas de validacin, desencadenantes, etc.), aqu es donde comienza el
verdadero trabajo. El proceso de crear una tabla es realmente sencillo, es como si llenamos
un cuestionario. Debes tener presente que no debes pulsar ETER, hasta que no hayas
completado todos los campos requeridos en la tabla en construccin; para cambiar de un
campo a otro utiliza el Mouse, las Teclas de Navegacin o el Tabulador, recuerda, en
ENTER es slo cuando ests seguro de haber completado tu taba.
ombre: Se refiere al nombre fsico que tendrn nuestros campos dentro de cada
una de las tablas. Ejem: Codigo_reo, Estatus, Direccion_1, etc.
Tipo: Se refiere al tipo de datos asociado al campo. Ejem: Codigo_reo: Carcter;
Estatus: Lgico.
Ancho: Tamao que tendrn cada campo dentro de una tabla, es decir la longitud o
cantidad mxima de caracteres que podr contener un campo. Ejem: Codigo_reo: 8
caracteres.terminado
Decimal: Especifica el nmero de dgitos a la derecha del punto decimal. La
columna "Decimal" se aplica a los tipos de datos numricos y de reales de doble
precisin.
ndice: Permite crear un ndice que estar formado por el campo seleccionado,
ordenados en forma ascendente o descendente.
ULL: Cuando se activa, especifica que el campo puede aceptar valores nulos. Los
valores nulos son: Igual a la ausencia de cualquier valor o diferente que cero, la
cadena vaca ("") o blanco.
Botn "Insertar": Si queremos Insertar un nuevo campo sobre el campo
seleccionado.
Botn "Eliminar": Si deseamos Eliminar un campo seleccionado de la tabla.


Una vez que tengamos completa la estructura pulsamos la Tecla ENTER o hacemos Click
sobre botn de aceptar, apareciendo en pantalla la siguiente ventana:
.
Por los momentos no vamos a introducir datos en nuestra tabla, por lo cual, hacemos Click
sobre el Botn NO. quedando en pantalla entonces el Generador de Bases de datos, la Barra
de Herramientas, acompaados de la tabla que acabamos de construir, slo se muestra el
nombre de la tabla y los campos que la componen::

Si te fijaste bien, el Campo Codigo_reo fue creado con una extensin de 20 caracteres en
vez de los 8 de la especificacin inicial, lo correcto es que tenga 8 y no 20 (no te preocupes
que fue con toda la intensin del mundo).
Cmo hago entonces para enmendar el error o para realizar cambios en una tabla
que ya ha sido creada?
Como toda estructura de datos debe ser dinmica, es decir, poseer la capacidad de adaptarse
los constantes cambios, Visual FoxPro te permite realizar los cambios que t consideres
necesarios sobre cualquier tabla y/o base de datos. Los pasos que debes seguir para
modificar la tabla Reo.DBF, son los siguientes:
Usando la Ventana de Comandos: Recuerda que si no esta visible, puedes activarla
a travs de la Opcin Ventana del Men Principal o con la combinacin de las
teclas CTRL+F12..
1. Activar la respectiva tabla. Esto se realiza a travs del Comando Use acompaado del
nombre de la respectiva tabla a activar y ENTER: USE REO .
2. Modificar la tabla activa. Una vez concluido el paso anterior, el comando MODIFY
STRUCTURE o MODI STRU (Visual FoxPro acepta las cuatro (4) primeras letras
de cualquier comando)

A travs del Men de Base de Datos del Men Principal de Visual FoxPro.
1. Activar la Tabla: Basta con hacer un Click sobre la tabla que se va a modificar:
2. Pulsar la Opcin Modificar del Men.

Utilizando la Barra de Herramientas para Bases de Datos:
1. Activar la Tabla: Basta con hacer un Click sobre la tabla que se va a modificar:
2. Utilizar el cono respectivo para modificar la tabla:
En los dos casos anteriores, el borde del rectngulo donde aparece el nombre de la tabla se
pone "azul" una vez que ha sido seleccionada. (Pasa de Gris a Azul, si son los colores
estndar de Windows los que usa el sistema actualmente).

Sea cual sea el procedimiento que sigas para modificar la(s) Tabla(s), aparece nuevamente
en pantalla el Diseador de Tablas, en el cual podrs realizar los cambios deseados:
Cambiar el ombre, Tipo,Ancho, establecer Valores Decimales o ulos y Ordenar
Ascendente o Desencadenantes en uno o en varios campos, tambin podrs Insertar un
nuevo campo o Eliminar uno existente.
Una vez que culmines con todos los cambios necesarios a la estructura de la tabla, debes
pulsar el Botn de Aceptar, instantneamente aparece el siguiente cuadro de dilogo:

El cuadro de dilogo comprueba si los cambios hechos anteriormente van a ser aceptados
como definitivos, si es afirmativa la respuesta pulsamos entonces el botn SI, ahora si
queremos desechar todo los cambios pulsamos el Botn NO. El proceso de modificar la
estructura de una tabla se repite cada vez que necesitemos realizar cambios en dicha tabla.
Y ahora: Cmo puedo examinar lo que tengo dentro de alguna tabla?
Una vez que han sido introducidos los datos a una tabla, es posible examinar, verificar y/o
modificar lo que se ha guardado dentro de las mismas. Una vez ms Visual FoxPro te
permite realizar estas actividades sobre cualquier tabla y/o base de datos. Los pasos que
debes seguir para Examinar la tabla Reo.DBF, son los siguientes:
Usando la Ventana de Comandos:
1. Activar la respectiva tabla. Esto se realiza a travs del Comando Use acompaado del
nombre de la respectiva tabla a activar y ENTER: USE REO .
2. Para Examinar la tabla activa. Una vez concluido el paso anterior, el
comando BROWSE o BROW.

A travs del Men de Base de Datos del Men Principal de Visual FoxPro.
1. Activar la Tabla: Basta con hacer un Click sobre la tabla que se va a modificar:
2. Pulsar la Opcin Examinar del Men.

Utilizando la Barra de Herramientas para Bases de Datos:
1. Activar la Tabla: Basta con hacer un Click sobre la tabla que se va a modificar:
2. Utilizar el cono respectivo para Examinar la tabla:

Las tres acciones anteriores desembocan en el siguiente recuadro:

En el se muestran todos los campos que contiene la tabla y el contenido del mismo, como
hasta los momentos no hemos aadido datos a nuestra tabla, se muestra totalmente vaca.

Para llenar los campos de la Tabla Reo.DBF con los datos necesario, Qu debo
hacer?.
Ya realizamos los cambios preliminares en nuestra tabla, ahora bien, vamos a aadir datos a
los campos que componen dicha estructura, es decir vamos a llenar los registros necesarios..
Los pasos que debes seguir para agregar datos a la tabla Reo.DBF, son los siguientes:
Usando la Ventana de Comandos:
1. Activar la respectiva tabla. Esto se realiza a travs del Comando Use acompaado del
nombre de la respectiva tabla a activar y ENTER: USE REO .
2. Para Examinar la tabla activa. Una vez concluido el paso anterior, el
comando APPED o usando el otro comando APPED BLAK. Estos dos
comandos sirven para aadir datos nuevos a una tabla, pero funcionan de manera
diferente, mientras que el APPED te permite llenar un registro nuevo, el APPED
BLAK crea un registro en BLANCO o totalmente VACIO, es decir, aade a la
tabla un registro con los valores por defecto asociados al tipo de campo.

Usando el APPEND aparece en pantalla:

Que permite ir llenado cada uno de los campos que componen el registro.

El uso del APPEND BLANK genera:

La Punta de Flecha indica la existencia de un registro, en este caso totalmente vaco (Que
no apareca en el recuadro similar ubicado un poco ms arriba de este).
A travs del Men de Tabla del Men Principal de Visual FoxPro. Una vez iniciado
el proceso de Examinar una Tabla, Visual FoxPro activa en el Men Principal la
Opcin para manejar las Tablas
1. Pulsar la Opcin Aadir uevo Registro del Men.

Utilizando la Barra de Herramientas para Bases de Datos:
1. Activar la Tabla: Basta con hacer un Click sobre la tabla que se va a modificar:
2. Utilizar el cono respectivo para Examinar la tabla:
3. Una vez iniciado el proceso de Examinar, se activa el Men de Tabla y procedemos
como en el caso anterior.
Todos los casos anteriores (excepto el APPEND BLANK) generan el siguiente recuadro,
donde puedes ir llenando cada uno de los campos que conforman la tabla con los datos
respectivos hasta completar un registro, al llegar al ltimo campo, automticamente salta al
primer campo del siguiente registro, as sucesivamente hasta que pulses la tecla ESC o
cierres la ventana. Aqu puedes al mismo tiempo crear un registro nuevo o modificar algn
datos de cualquier campo; por ejemplo, podras cambiar la fecha de nacimiento. Es posible
moverse de un campo al otro haciendo uso de las Teclas de avegacin (Flechas de:
Izquierda, Derecha, Arriba o Abajo) o a travs de la tecla que sirve de Tabulador
(TAB).

Una vez que hayas terminado de registrar los datos, repite el proceso de Examinar la tabla
nuevamente, haber que cambios se observan en la misma.

Ejecutado los procesos esenciales en la creacin y/o modificacin de una tabla, vamos
a dedicarnos ahora a darle ms solidez a la estructura de la misma y por ende a los
datos almacenados en dicha tabla.
Proporcionar ms solidez a la estructura de una tabla cualquiera, se refiere a incluir en la
misma aspectos que permitan ofrecer una mayor visin y seguridad a los datos que sern
guardados en dicha estructura. Entre estos aspectos podemos mencionar: Reglas de
validacin, Formatos o Encabezados de los Campos y la Creacin de los Indices
necesarios. En el Diseador o Generador de Tablas, nos dedicaremos ahora a la forma
como podemos Mostrar los Campos, la Validacin de los Mismos y aadir Comentarios
(Diccionario de Datos) a cada Campo dentro de la tabla. Debes tener presente que cada uno
de los campos tiene o puede tener todas estas opciones independientemente de los otros
campos, es decir; puedes incluir reglas a unos campos y a otros no. Entonces, primero
seleccionas el campo con el que quieres trabajar y luego realizas las actividades deseadas.
El diseador de tablas del recuadro de abajo, el campo activo es codigo_reo, a dicho campo
es al que se le aplican las propiedades de los campos.


Mostrar: Especfica las propiedades de formato para los datos que se introducen y se
presentan en el campo.

Formato: Especifique la expresin sobre el uso de maysculas, el tamao y el estilo para
presentar el campo en la ventana Examinar, en formularios o informes. Los valores de
propiedad dentro del formulario o informe pueden suplantar esta expresin. (Como se
guarda el campo).
Mscara de Entrada: Especfica el formato para los valores cuando se introducen en el
campo. Por ejemplo, los nmeros de telfono podran tener un formato como (999) 999-
9999.
Ttulo o Encabezado: Especfica la etiqueta que aparece para el campo en la ventana
Examinar, los formularios o los informes. Los valores de propiedad dentro del formulario o
informe pueden suplantar esta configuracin.
Validacin de Campos: Si est modificando una tabla de base de datos, el grupo de
opciones Propiedades de campo aparece debajo de la cuadrcula desplazable. Los
valores de las propiedades para el campo seleccionado se especifican en este rea.
Elija el botn de dilogo a la derecha del valor de cada propiedad para presentar el
Generador de expresiones o escriba la expresin directamente. No se requieren
entradas para estas opciones.

Regla de Validacin: Especfica la regla a nivel de campo para reforzar la validacin de
datos.
Mensaje o Texto de Validacin: Especfica el mensaje de error que se va a presentar si
una entrada viola la regla de validacin a nivel de campo.
Valor Predeterminado: Especfica el valor predeterminado para el campo.
Asignar tipo de Campo a Clases: Para especificar una clase de control
predeterminada, establezca la biblioteca y clase que desea crear cuando arrastre el
campo a un formulario.

Mostrar Biblioteca: Especfica la ruta de acceso y el nombre de archivo para la biblioteca
de clases. Para examinar dnde est un archivo, utilice el botn de dilogo.
Mostrar Clase: Especfica la clase de control predeterminada para el campo.
Comentario de Campo: Proporciona un espacio para escribir notas acerca del
campo. Aqu puedes incluir una descripcin detallada de cada uno de los campo,
como por ejemplo: la funcin del campo dentro de la tabla, etc.

Cmo Incluyo Propiedades a mis campos, entonces?

La respuesta es muy fcil (recuerda que primero debes seleccionar el campo), puedes
utilizar para ello el Generador de Expresiones o trabajar directamente sobre el rectngulo
de cada opcin. El Generador de Expresiones est presente en aquellas opciones donde
aparece un pequeo recuadro gris con tres puntos, situado al lado del recuadro blanco:

Si trabajas directamente sobre el recuadro blanco no tienes la oportunidad de comprobar (al
momento) si son vlidas las expresiones y/o condiciones que incluyes dentro de dichos
recuadros:

Si por el contrario utilizas el Generador de Expresiones (en aquellas que te lo permiten)
podrs probar en ese mismo instante si lo que ests haciendo es vlido o no para Visual
FoxPro:


Si compruebas la regla de validacin, a travs del Botn Comprobar, inmediatamente te
emite un mensaje sealando un error. Si te fijas bien, la expresin establece que codigo_reo
debe ser diferente, pero no dice de quien, y all est el error. Lo correcto sera establecer:
codigo_reo <> " ", comprueba ahora a ver que pasa. Est regla establece que no puede
haber en toda la tabla, un campo cdigo de reo en blanco, si ya existe un cdigo en blanco
Visual FoxPro emitir un mensaje indicando la situacin.

Ahora bien, si por el contrario t expresin es vlida, Visual FoxPro lo indica en la barra de
estado:


Entonces puedes utilizar el Generador de Expresiones si no ests seguro o si quieres estar
ms seguro de las acciones que ejecutas. Una vez que hayas culminado con todo el trabajo,
pulsas el Botn Aceptar, y enseguida a parece en pantalla el siguiente cuadro de dilogo:

Como todo el trabajo que acabamos de realizar debe ser permanente, pulsamos el Botn SI.
Veamos ahora como quedo mi tabla despus de estos cambios. Debes Examinar
nuevamente tu tabla, para verificar el trabajo realizado.
As se vea t tabla, antes de los cambios:

Y ahora se ve as, fjate en los Ttulos y la Mscara (como se muestran los datos) de los
campos , Existe alguna diferencia?


Prueba ahora Aadir un nuevo registro, e intenta dejar en Blanco el campo cdigo de reo,
haber que sucede.

Te apareci este mensaje verdad, bueno las reglas de validacin dentro de una tabla
representan o pueden ser vistos como lneas de cdigo que validan la entrada de datos a las
tablas.
Antes de pasar al siguiente captulo, crea una segunda tabla llamada Ingreso.DBF, segn la
siguiente estructura:
Nombre del Campo: Tipo: Ancho:
Codigo_reo Caracter 8
Nro_Boleta_enc Caracter 15
Nro_Oficio Caracter 15
Tribunal Caracter 30
Nro_Orden Caracter 15
Fecha_Ingreso Fecha
os quedan pendiente dos tareas ms para terminar de afinar la tabla y por ende la
Base de Datos....
Visual FoxPro.
Integridad Referencial: Indices y los Desencadenantes o Triggers.

En est parte nos dedicaremos a crear o generar los mecanismos necesarios, que permitan u
ofrezcan seguridad en los datos e informacin que son almacenados en las tablas y/o bases
de datos. Esta seguridad y confiabilidad de los datos se conoce como Integridad
Referencial, la cual controla la forma como se Actualizan, se Eliminan y
se Insertan datos en la Base de Datos. En pocas palabras la Integridad Referencial se utiliza
o tiene como principal objetivo Evitar la duplicidad o Redundancia de Datos en la
estructura; dentro de un sistema no pueden haber dos personas o dos objetos con la misma
referencia, es decir, no pueden existir dos o ms libros con el mismo ISBN o cota, no
pueden existir vehculos con el mismo Serial de Carrocera o Motor y no pueden existir
varias personas con el mismo nmero de identidad. Esto es lo que se busca evitar con la
Integridad Referencia de una Base de datos.
Integridad Referncial! Y cmo logro eso?.
Una Integridad Referencial abarca reglas a nivel de campos y de registros, empecemos
entonces a crear las reglas que incluyen a los campos. Vamos a crear los Indices dentro de
las tablas (recuerda que en nuestra Base de Datos deben existir actualmente dos tablas: REO
e INGRESO).

Ahora menos entiendo, Un Indice?.
Para crear los ndices en una tabla, debemos seguir los pasos para Modificar una tabla, una
vez que aparece el Diseador o Generador de Tablas, seleccionamos la pestaa ndices, que
muestra el siguiente cuadro:


ndice:Contiene una cuadrcula desplazable para la definicin de ndices. La cuadrcula
tiene cuatro columnas. Indice: Una serie de punteros ordenados lgicamente por los valores
de una clave. Los ndices ofrecen acceso rpido a datos y pueden exigir la unicidad en las
filas de una tabla. Los ndices de Visual FoxPro se mantienen en un archivo de ndice. Vea
tambin ndice candidato, clave principal.

Opciones de la ficha

Orden: Forma en la cual se ordenarn los datos en el ndice, y que puede ser Ascendente o
Descendente. Basta con un Click sobre la Flecha, para que esta cambie de orientacin
ombre: Especifica el nombre de etiqueta para el ndice. Es el nombre fsico con el cual se
guardar el ndice creado. Las Bases de Datos tienen extensin DBC, las Tablas DBF y los
ndices IDX.

Botn para mover: Este es un botn con una flecha de doble punta que se encuentra en el
extremo izquierdo de la fila. Una vez que ha introducido dos o ms filas, utilice el botn
para mover una fila hacia arriba o hacia abajo en la lista.

Tipo: Especifica el tipo de ndice. Primario (slo si la tabla est contenida en una base de
datos), Candidato, nico o Regular o Normal (el predeterminado). Cuando hace clic en una
celda de esta columna, aparece una lista desde la cual puede seleccionar un tipo. No se
requiere una entrada en este campo.

Expresin: Especfica la expresin de ndice, como un nombre de campo o combinaciones
entre varios campos. Haga clic en el botn para crear o editar una expresin en el
Generador de expresiones. Una expresin puede tener hasta 240 caracteres.

Filtro: Especfica la expresin de filtro.Un filtro se utiliza para crear un ndice que
contenga datos "Filtrados" a conveniencia del usuario, es decir puede crear un ndice por
ciudad, pero filtrando que ese ndice solo contenga las ciudades cuya poblacin sea mayor
de 1 milln de habitantes. Haga clic en el botn para crear o editar una expresin en el
cuadro de dilogo del Generador de expresiones.

Botn "Insertar":Inserta un nuevo ndice sobre el ndice seleccionado en la cuadrcula.

Botn "Eliminar": Elimina el ndice seleccionado de la cuadrcula.
Para crear un ndice debemos seguir los siguientes pasos:
1. ombre: Debemos asignarle un nombre al ndice que estamos creando, aqu pueden
privar muchos criterios, pero una recomendacin personal, es que se le asigne el
mismo nombre que asocie el ndice con la tabla a la cual pertenece. Tambin es
vlido colocarle como nombre el mismo del campo que lo genera. Una vez que se
establece el nombre se activan todas las dems opciones del cuadro. El nombre
acepta una longitud de hasta diez (10) Caracteres como mximo. Por los momentos
vamos asignarle el mismo nombre del campo.

2. Tipo: Se refiere al tipo (Principal, Candidato, nico o Regular) de ndice que
vamos a crear. Como seleccionar o asignar un tipo a cada ndice, muy fcil: Un
ndice Principal (Clave Primaria o Campo Clave) se utiliza para evitar la duplicidad
en los datos, es decir; que no existan en este caso dos reos con el mismo cdigo, al
establecer el campo codigo_reo como principal nunca se aceptarn datos repetidos y
los datos se procesan en el mismo orden de ingreso. Slo puede existir un ndice
Principal dentro de una Tabla. Un ndice ormal o Regular es un tipo de ndice
usado bsicamente para ordenar en forma ascendente o descendente los datos de una
tabla, pero no evitan la duplicidad de los datos, entonces pueden existir mltiples
ndice de este tipo dentro de una misma tabla; entonces puede crear un ndice que
ordene por nombre, cdula, nacionalidad, fecha de nacimiento, y hasta por cdigo del
reo. El tipo nico se mantiene en Visual FoxPro por compatibilidad con versiones
anteriores, este tipo crea un ndice que contiene una lista de los datos, sin tomar en
cuanta el nmero de apariciones que estos tengan dentro de la tabla, sern reflejados
una sola vez dentro del ndice, es decir, toma en cuenta nicamente la primera
aparicin de un dato y omite las apariciones sucesivas, una utilidad de este tipo de
ndice dentro de la tabla Reo.DBF, sera por ejemplo crear una lista de todos los
lugares de nacimientos de los presos, como es lgico, gran cantidad de reos proceden
de la misma ciudad, es decir, se repiten varias veces exactamente el sitio de
nacimiento, si se genera un ndice nico con el campo lugar_nac, se creara una lista
con todos los lugares de nacimientos de los presos, sin repetir varias veces un mismo
sitio. El tipo que nos queda, el Candidato, es un "Casi Principal" y funciona de la
misma manera que el tipo Principal, ya que es un potencial Candidato a ser Principal.
Todos los tipos exceptuando el Principal, pueden aparecer ms de una vez dentro de
una misma tabla.

3. Expresin: El campo o grupo de campos que sern utilizados para generar el ndice.
Si no recordamos exactamente que nombre le colocamos al campo, podemos utilizar
el Generador de Expresiones, el cual activamos con un Click sobre el recuadro gris
con tres puntos, situado junto al rectngulo blanco de la Expresin:

Si decidimos utilizar el Generador de Expresiones , est aparece en pantalla, con un "Doble
Click" sobre el campo correspondiente este pasa al recuadro de Expresin o si deseas
puedes teclear la expresin (nombre del campo) que utilizars para generar el ndice. El
generador de indica adems las diferentes funciones que puedes emplear si vas a trabajar
con la combinacin de varios campos.

Podemos usar un slo campo. codigo_reo o la combinacin de varios de ellos:
codigo_reo+nombre_reo (utilizando para ello el manejo y/o manipulacin de campos).

ya tenemos nuestro primer ndice dentro de la tabla Reo:DBF, crea ahora los siguientes
ndices:
Nombre del ndice: Tipo: Expresin:
Cedula_reo Candidato Cedula_reo
Nombre_reo Regular - Normal Nombre_reo
Nacional nico Nacionalidad
Fec_nac Regular - Normal Fec_nac
Lugar_nac nico Lugar_nac
Instr_Prof Regular - Normal Instruccion + Profesion
Codig2_reo Principal Codigo_reo
Repite el mismo procedimiento para la tabla Ingreso.DBF y crea los siguientes ndices:
Nombre del ndice: Tipo: Expresin:
Codigo_reo Regular - Normal Codigo_reo
Nro_boleta Regular - Normal Nro_boleta_enc
Nro_orden nico Nro_orden
Fe_ingreso Regular - Normal Fecha_ingreso
Tribunal nico Tribunal
Tri_nros Regular - Normal tribuanl+Nro_orden_enc+nro_orden+Nro_oficio
Nro_oficio Regular - Normal Nro_oficio
No pudiste crear el ndice Codig2_reo como Principal, Verdad?, recuerda que dentro de
una tabla slo puede existir un ndice principal y como ya existe un ndice Principal dentro
de la tabla Reo.DBF, el ndice Reo8 no puede ser Principal, cmbialo por Regular - Normal.

En el Diseador de Bases de datos verifica si se crearon todos los ndices, para ello, en cada
una de las tablas te mueves al final de la misma, ah deben aparecer todos los ndice creados
anteriormente:

Nuestra Base de Datos cuenta ahora con dos tablas, que poseen informacin relacionada (en
ambas aparece el campo codigo_reo, que deben ser del mismo tipo y las misma longitud).
Vamos entonces a establecer un Relacin Persistente entre ambas tablas.
Si quieres probar como funcionan ts ndices, adiciona nuevos registros a tus tablas (USE,
APPEND) y luego activa los diferntes ndices de la siguiente manera:

Debe mostrar los registros en el mismo orden en que fueron ingresados:

Ahora prueba con los siguientes comandos, el SET ORDER TO (Numero) activa segn el
nmero uno de los ndices creados, Set Order To 1, activar entonces el primer ndice
creado y as sucesivamente:

Recuerdas cual fue el primer ndice creado en la tabla Reo.DBF:

Con el SET ORDER TO 2, muestra:

Existe alguna diferencia entre estos datos y los que se muestran en la ventana anterior, la
respuesta es Si, fijate como aparecen los datos, ordenados por Cdula, prueba entonces con
los dems nmeros.
Informacin Relacionada, Relacin Persistente: Cmo?
Una de las ventajas con la que cuenta el usuario con Visual FoxPro, es la manipulacin de
los datos que este permite, es tarea principal del Analista Programador crear una slida
estructura de los datos, para de esta forma aprovechar al mximo todas las ventajas y
posibilidades que Visual FoxPro pone a su alcance. Cuando se habla de tablas relacionadas,
se dice que son tablas que contienen informacin similar, contenida en una tabla primaria
(donde existe el ndice principal) asociada a una tabla secundaria que contiene, est relacin
viene dada por el proceso de normalizar nuestros datos evitando de esta manera la
redundancia o duplicidad de los datos dentro de la Base de Datos.

Relacin: Un vnculo entre tablas que permite acceder a los datos desde ms sitios que la
tabla seleccionada actualmente. El vnculo es la condicin de combinacin. Para crear
relaciones necesitar ndices en las tablas que desee relacionar.

Relacin Persistente: Relaciones entre tablas que duran ms que simplemente el tiempo de
ejecucin. Las tablas deben estar en una base de datos para poder tener una relacin
persistente. El segmento de lnea que une (relaciona) a dos tablas entre si, es lo que se
conoce como Relacin Persistente
Para preparar la creacin de una relacin, busque un campo comn en las dos tablas y
agregue ndices. Por ejemplo, la tabla Reo.DBF y la tabla Ingreso.DBF tienen un campo
codigo_reo. Para establecer una relacin entre ellas, la tabla Reo necesita un ndice
principal en el campo codigo_reo y la tabla Ingreso necesita un ndice normal en su campo
codigo_reo (tarea que ya completamos anteriormente).
Qu me falta entonces?
La tarea ms sencilla, en el Generador de Bases de Datos, seleccionamos el ndice Principal
o Primario de la Tabla Primaria, dejando el botn Izquierdo del Mouse pisado, arrastramos
el cursor hasta el ndice de la Tabla Secundarias, una vez que se encuentra sobre la seccin
de los ndices de la tabla secundaria, el cursor cambia de forma, convirtindose en un
diminuto rectngulo, lo posicionamos sobre el ndice similar y soltamos el botn del
Mouse. Inmediatamente aparece una lnea (que yo llamo "Patas de Gallina") que establece
la Relacin Permanente entre ambas tablas.

La lnea que une ahora a las dos tablas representa la Relacin Persistente o Permanente
entre ambas, si queremos editar la relacin debemos:
1. Seleccionar la relacin que queremos editar, basta con un simple Click sobre la lnea.
Est accin cambiar inmediatamente la forma de la lnea,. que tomar un color ms
fuerte y un poco ms ancha.

2. A travs del Men de Bases de Datos del Men Principal del Visual FoxPro,
pulsamos la opcin Editar Relacin.

o haciendo uso del Botn Derecho del Mouse sobre la misma lena, aparece un Men
emergente que entre otras opciones muestra la de Editar Relacin.

Una vez completado los dos pasos anteriores, aparece en pantalla el Cuadro de Dilogo
Editar Relacin:

Donde puede observarse claramente, el nombre de las dos tablas relacionadas, el campo que
hace posible dicha relacin. el tipo de relacin y un Botn sumamente importante como lo
es el de la Integridad Referencial al cual nos dedicaremos en lo sucesivo.
Hasta los momentos hemos manipulado los Campos y los ndices de las Tablas, nos falta
entonces la Propiedades de la Tablas para completar nuestro trabajo: lograr la Integridad
Referencial.
Tabla: Fija la regla a nivel de fila, el texto de error de validacin, y un comentario para la
tabla. Este cuadro de dilogo aparece cuando se elige Propiedades de tabla en el Generador
de tablas. Es necesario que haya una base de datos abierta para que aparezca el botn
"Propiedades de tabla" en el Generador de tablas. Las tablas libres no pueden tener
asociados comentarios, reglas o desencadenantes.
Opciones de la ficha

El botn situado a la derecha de cada configuracin muestra el Generador de
expresiones.

Opciones del cuadro de dilogo
Regla de validacin: Especifica una regla a nivel de fila para hacer que se cumpla la
validacin de datos.regla a nivel de registro Una regla de validacin, vinculada a un campo,
que se activa cuando se inserta o modifica el registro, y que suele utilizarse para verificar la
entrada de datos y su exactitud. Las reglas de validacin no se aplican cuando se eliminan
registros. Las reglas de validacin a nivel de registro se activan despus de las reglas a nivel
de campo y antes que los desencadenantes, y funcionan durante las actualizaciones
almacenadas en bfer. registro. Registro: Una unidad de almacenamiento en una tabla.
Todas las tablas pueden contener un gran nmero de registros, cada uno de los cuales consta
de campos.

Mensaje o Texto de validacin: Especifica el mensaje de error que debe ser mostrado si
una entrada no se ajusta a la regla de validacin a nivel de fila.

Desencadenates o Trigger: Cdigo de evento a nivel de registro que se ejecuta despus de
una insercin, una actualizacin o una eliminacin. Es posible adjuntar distintas acciones a
los distintos eventos. Los desencadenantes se ejecutan en ltimo lugar, despus de las
reglas, y no se ejecutan durante las actualizaciones almacenadas en bfer. Suelen utilizarse
para integridad entre tablas. A travs de los desencadenantes se logra que rigen la
coherencia de datos, Referencial (RI): Las reglas Integridad especficamente las
relaciones entre las claves principal y externa de tablas distintas. Visual FoxPro resuelve la
integridad referencial mediante reglas a nivel de campo y a nivel de registro definidas por el
usuario. El Generador de integridad referencial le ayuda a definir reglas para controlar
cmo ser insertan, actualizan o eliminan registros de tablas relacionadas.
ISERTAR: Especifica una regla que debe desencadenarse siempre que se inserta o se
agrega un registro a la tabla.
ACTUALIZAR: Especifica una regla que debe desencadenarse siempre que se actualiza un
registro de la tabla.
ELIMIAR: Especifica una regla que debe desencadenarse siempre que se elimina un
registro de la tabla.
Los tres procesos anteriores de Insercin, Eliminacin y Modificacin (con algunas
excepciones) de Tablas, pueden ser en:
Cascada: Actualiza todos los registros relacionados de la(s) tabla(s) secundaria(s) con el
nuevo valor. No se aplica al proceso de insercin
Restringir: Prohibe la actualizacin si hay registros relacionados en la(s) tabla(s)
secundaria(s)
Ignorar: Permite la actualizacin y deja los registros relacionados slo en la(s) tabla(s)
secundaria(s). Por defecto siempre toma la regla de Ignorar.


El proceso de Actualizacin puede ser establecido en Cascada, para que de esta forma, un
cambio en la Clave o Etiqueta Primaria se produzca en todas las tablas asociadas o
relacionadas con esta. El proceso de Eliminacin debe ser establecido en Restringir y de
esta manera no permitir eliminar registros de una tabla que tengan relacin con otros
registros en tablas secundarias, un ejemplo de esto sera, no permitir eliminar un
Departamento si existen trabajadores asignados a dicho departamento, o eliminar un
registro de un alumnos si este est moroso con la biblioteca. El ltimo desencadenante o el
proceso de Insercin debe es recomendable que este en Ignorar.
Cuando tengamos las Diez (10) tablas que conforman nuestra Base de Datos, aparecern en
todas las relaciones existentes dentro de las misma, estableciendo las mismas reglas
siguiendo la recomendacin anterior.
Reo_difuntos.DBF

Reo_fugas.DBF

Reo_condena.DBF

Reo_excarcelacion.DBF

Reo_Delito.DBF

Ubicacion.DBF

Delito.DBF

Rasgos.DBF


La Estructura de la Base de datos debe quedar as:


La Integridad Referencial para toda la Base de Datos:

En el siguiente captulo encontraras un compendio de aspectos, comandos y/o
funciones tratados hasta el momento, espero que te sirvan de gua aclaratoria....

Potrebbero piacerti anche