Você está na página 1de 66

BASES DE DATOS II

Cu adernillo de procedimientos para el aprendizaje

(Versión para fase inicial)

C O N L A C O LAB OR A C IÓ N DE

C lau dia Adriana Lóp ez Go nzále z

1
BASES DE DATOS II
Cuadernillo de procedimientos para el aprendizaje
2000. Secretaría de Educación Pública/ Dirección General del Bachillerato
COSTO DE RECUPERACIÓN $ 12.00

2
ÍNDICE

Presentación............................................................................................................................................................ 5

UNIDAD I. Programación de Bases de Datos............................................................................................ 8


Situación de aprendizaje......................................................................................................................................... 10
1. Conceptos generales........................................................................................................................................... 12
2. Estructura general de un programa............................................................................................................... 14
3. Procedimientos básicos...................................................................................................................................... 16
¿Qué he aprendido?................................................................................................................................................. 18
Quiero saber más..................................................................................................................................................... 20

UNIDAD II. Elementos básicos de programación de Bases de Datos............................................... 21


1. Uso de variables................................................................................................................................................... 22
2. Expresiones........................................................................................................................................................... 23
3. Instrucciones o comandos básicos................................................................................................................... 25
4. Control del flujo lógico del programa............................................................................................................ 26
¿Qué he aprendido?................................................................................................................................................. 29
Quiero saber más...................................................................................................................................................... 31

UNIDAD III. Manejo de registros................................................................................................................... 32


1. Comandos para la consulta de información.................................................................................................. 33
2. Altas bajas y cambios.......................................................................................................................................... 34
3. Funciones de registros........................................................................................................................................ 35
¿Qué he aprendido?................................................................................................................................................. 37
Quiero saber más...................................................................................................................................................... 39

UNIDAD IV. Manejo de información por pantalla................................................................................... 40


1. Diseño y despliegue de pantallas..................................................................................................................... 41
2. Control de la captura de información por pantalla..................................................................................... 42
3. Diseño de pantallas de ayuda........................................................................................................................... 43
¿Qué he aprendido?................................................................................................................................................. 45
Quiero saber más...................................................................................................................................................... 47

UNIDAD V. Procedimientos.............................................................................................................................. 48
1. Concepto y estructura general de un procedimiento.................................................................................. 50
2. Ejecución o llamada de procedimientos y funciones................................................................................... 51
3. Variables locales y globales............................................................................................................................... 51
4. Trasnferencia de variables a parámetros de procedimientos y subprogramas..................................... 52
5. Integración de programas................................................................................................................................ 52
¿Qué he aprendido?................................................................................................................................................. 54
Quiero saber más...................................................................................................................................................... 56

UNIDAD VI. Impresión de información....................................................................................................... 57


1. Diseño de formatos de impresión.................................................................................................................... 59
2. Comandos de impresión.................................................................................................................................... 60
3. Impresión de información................................................................................................................................. 61
¿Qué he aprendido?................................................................................................................................................. 62
Quiero saber más...................................................................................................................................................... 64

3
4
PRESENTACIÓN

Si comparáramos a las Bases de Datos con libros éstas serían best sellers, ya que
son los productos informáticos más utilizados y vendidos a lo largo del mundo y
se siguen vendiendo, pues son el cimiento de la mayor parte de los sistemas de
información que se manejan a través de las computadoras. Obviamente el producto
que se vende es el sistema, pero en éste va implícita la base de datos.

A donde quiera que voltees encontrarás situaciones dignas de sistematizarse, en


BASES DE DATOS II
tu escuela, en tu trabajo, incluso en tu comunidad, existen aspectos que alguna
vez has deseado que sean más rápidos, menos complicados, con menos papeleo y
más resultados, y quisieras contar con una varita mágica que te permitiera hacer
todo esto; pero es posible que no se necesite tanto y que solamente se requiera de
una computadora con un buen sistema de información instalado, manejando toda
la información a través de una base de datos adecuada. Porque de nada serviría la
computadora si no puedes hacer nada útil con ella.

Hasta el momento has aprendido a través de asignaturas como Bases de Datos I


y Sistemas de Información I la importancia de los sistemas y su implementación
a través de bases de datos relacionales, sin embargo, en estas últimas has llegado
únicamente a crear aplicaciones a través de las herramientas proporcionadas por
el sistema generador de bases de datos pero, ¿por qué quedarte únicamente a este
nivel si puedes empezar a realizar implementaciones que cumplan con todos los
requerimientos que te has establecido?, ¿qué sucede cuando un procedimiento de
los que creas a través del asistente no funciona correctamente?, ¿hay que volver a
crearlo?, ¿no sería más sencillo conocer cómo trabaja dicho procedimiento y sólo
hacer las correcciones pertinentes? Por supuesto que sí, pero para esto es necesario
que conozcas de qué forma trabajan, qué tipo de codificación permite que cumplan
las funciones que te presentan.

La asignatura Bases de Datos II está encaminada a proporcionarte las herramientas


de programación que te permitan resolver problemas como los planteados;
retomaremos temas vistos en la asignatura de Lógica Computacional para las
cuestiones de análisis y diseño, y empezaremos nuestro proceso de aprendizaje
partiendo desde los primeros pasos para crear un programa, pasando por la
identificación de las primeras instrucciones y funciones, avanzando así en el grado
de complejidad para, finalmente, crear una aplicación que resuelva la problemática
inicialmente planteada, a través de un sistema que sea amigable al usuario,
proporcione ventanas de ayuda que le permitan conocer el mismo sistema y además,
faciliten la impresión de la información que se requiera. Con lo anterior te acercas
cada vez más a alcanzar el objetivo de esta capacitación que es: prepararte para
desarrollar procesos de trabajo del campo laboral de la Informática haciendo uso
de procedimientos, técnicas e instrumentos, además de generar actitudes de
valoración y responsabilidad ante el trabajo.

Recuerda que en la modalidad a distancia el esfuerzo mayor está sobre tus hombros,
eres la pieza clave que determina tu grado de avance, aprovecha los materiales
que se te brindan y apóyate en el asesor correspondiente. Al igual que en las
asignaturas anteriores trabajaremos con una guía de estudio y un manual de
ejercicios y prácticas, así como ejercicios que facilitarán la adquisición de los

5
conocimientos teórico-prácticos necesarios para que logres introducirte a la programación en bases
de datos.

De la misma manera que en las guías anteriores, ésta también contará en cada unidad con las secciones:
¿Qué voy a aprender?, ¿Cómo aprendo?, ¿Qué he aprendido? y Quiero saber más.

La primera sección ¿Qué voy a aprender? te presenta los objetivos de la unidad, los temas a cubrir, pero
sobre todo te brinda una panorámica de la importancia que tienen los temas que se incluyen. En la
unidad número 1 se incluye, la actividad de aprendizaje, que no es otra cosa que el planteamiento del
problema que irás resolviendo a lo largo del curso.

La segunda sección ¿Cómo aprendo? contiene los objetivos particulares de los temas de cada unidad, su
relevancia y los cuadros de actividades que facilitarán tu proceso de aprendizaje (no sólo de la teoría
que requieres para programar, sino también de la práctica necesaria para lograrlo) a través de su
conexión con el manual de prácticas y ejercicios que mencionaremos más adelante.

En la sección ¿Qué he aprendido? encontrarás una serie de reactivos que te permitirán autoevaluar si
realmente ya cuentas con los conocimientos necesarios para abordar los temas de la siguiente unidad.
Es esencial que domines cada una de las unidades planteadas para poder pasar a la siguiente, porque
este curso tiene un avance completamente gradual, siempre será importante que tengas las bases
anteriores para la completa comprensión de un nuevo tema.

Finalmente en la cuarta sección, Quiero saber más, se realizan sugerencias de estudio acerca de temas
relacionados con lo que se ha visto en la unidad, proporcionando para ello la referencia bibliográfica
o la dirección mediante la cual puedes tener acceso a la información correspondiente. Recuerda que el
conocimiento es poder y mientras más domines un tema, más herramientas tendrás para resolver los
problemas que se te presenten.

Esta guía se apoya en el Manual de ejercicios y prácticas del curso, que en este caso es el complemento
indispensable para la aplicación de todos los conocimientos teóricos que se adquirirán. Lo que se
estudia y no se practica es como si jamás se hubiese estudiado, ¿de qué te sirve tener dinero en la bolsa
si no te lo puedes gastar? De nada, lo mismo practicando constantemente, cometiendo errores para
así aprender las formas de solución en cada caso, y comentiendo aciertos que te dan la seguridad para
seguir adelante, aprendiendo no sólo lo que el curso abarque sino todo lo que en determinado momento
necesites. Los ejercicios y prácticas de tu manual están encaminados a la aplicación de los temas que
se irán tocando a través de la guía. De tal manera que la experiencia práctica sólo será posible a través
de la resolución de tu manual.

Ubicación de la asignatura

Como hemos mencionado con anterioridad, Bases de Datos II no es una asignatura aislada, se ubica
en el eje de aplicación de la estructura de la Capacitación en Informática y corresponde al sexto
semestre; es un punto de unión entre las asignaturas Bases de Datos I y Lógica Computaciona y
Programación y también de manera indirecta de Sistemas de Información. La importancia de la
asignatura radica precisamente en la unión de los conceptos de bases de datos y la programación
estructurada, proporcionando así un mayor número de herramientas de desarrollo, para aplicaciones
reales; partiendo de lo elemental y dejando así las bases que te permitan la elaboración de aplicaciones
con una complejidad mayor.

6
La ubicación gráfica dentro de la Capacitación en Informática es la siguiente:

Sistemas de Sistemas de
Información I Información II
EJE
BÁSICO
Lógica Computacional
y Programación

Bases de Datos II Bases de Datos II

EJE DE
APLICACIÓN Aplicaciones gráficas Ap licaciones
con programas específicas con
integrados programas integrados

EJE Introducción a las


COMPLEMENTARIO Redes

Relación directa

Relación indirecta

Una vez visto lo anterior es un buen momento para dar los primeros pasos hacia la programación
“Bienvenido”.

Objetivo de la asignatura

Aplicar los conceptos, principios generales y operaciones básicas de las bases de datos en su modalidad de
programación, mediante el conocimiento de su estructura y elementos básicos, las instrucciones para el manejo de
registros, la construcción de procedimientos y la preparación de reportes en pantalla e impresos, para desarrollar
aplicaciones sencillas e integrarse a equipos responsables del desarrollo de sistemas complejos.

7
¿QUÉ VOY A APRENDER?

UNIDAD I
PROGRAMACIÓN DE BASES DE DATOS

Objetivo de la Unidad:
Reconocer los elementos fundamentales de análisis, diseño y programación
de sistemas, mediante el estudio o repaso de sus conceptos generales, los
componentes y estructura de un programa y los procedimientos básicos
para su desarrollo, con el fin de asegurar una base común mínima de
información para las unidades siguientes.

Para poder hablar de programación de bases de datos, tenemos que remitirnos a las diferentes
técnicas de análisis, diseño y programación que existen y de éstas tomar las que más se adecuen
a nuestras necesidades. Como posiblemente recordarás, algunas de las técnicas mencionadas
fueron estudiadas en la asignatura de “Lógica Computacional y Programación”, por otra parte,
en “Base de Datos I” se retomaron aquellas técnicas que se aplican a las bases de datos y se
complementó la información para lograr un panorama integral de los requerimientos que
deben cubrirse para la implementación de un sistema de bases de datos. A lo largo de esta
unidad haremos un repaso de los conceptos más importantes hasta ahora vistos e iremos
enfocándolos hacia la programación de bases de datos.

Elaborar un buen sistema de información no es una tarea que pueda realizarse sentándose a
programar directamente en la computadora, después de haber escuchado brevemente el
planteamiento del problema. Los sistemas de información logrados de esta manera la mayor
parte de las veces no dan respuesta a las diferentes problemáticas que se presentan al utilizarlo.
Pero si por el contrario, previamente a la programación se realiza un análisis detallado de
todas las necesidades del sistema, del tipo de usuario que lo utilizará, de los aspectos no sólo
técnicos sino incluso económicos y sobre todo esto se realiza un diseño detallado que cubra
todos los puntos analizados, entonces se contará con la garantía de que el sistema implementado
tendrá el alcance deseado. Para tal fin es necesario tomar en cuenta las técnicas de análisis y
diseño de sistemas (las cuales recordaremos a través de esta unidad) e identificar aquellas que
nos sirvan para la implementación de un sistema de información que elaboraremos (mismo
que se plantea en la Situación de Aprendizaje). Nos apoyaremos en las reglas de normalización
(objeto de estudio en esta unidad), por tratarse de la base más importante para cualquier
implementación de bases de datos relacionales. El sistema generador de bases de datos con el
que se trabajará es Visual FoxPro (el cual ya se utilizó en Base de Datos I), sin embargo, es
importante que reconozcas que la teoría de análisis, diseño, normalización, y técnicas de
programación, así como mucho de lo que a lo largo de las unidades se presentará, no es
excluyente para otros sistemas generadores de bases de datos o para otros sistemas de
información en general.

En esta unidad repasaremos también las técnicas de programación estructurada y orientada a


objetos que trabajaste en “Lógica Computacional y Programación”, y puntualizaremos a partir

8
de tu propio análisis las diferencias más importantes entre éstas así como sus ventajas y
desventajas. Visual FoxPro permite los dos tipos de programación, sin embargo nos apoyaremos
principalmente en la estructurada, ya que permite al nuevo programador el desarrollo de una
estructura mental de programación que le ayudará posteriormente a desarrollar a otras técnicas
de programación.

Una vez definida la técnica de programación se procederá al establecimiento de la estructura


general de un programa, aprendiendo a reconocer las partes principales de éste. Empezaremos
a identificar cómo asignar valores a las variables que se utilizan, a realizar funciones de distintos
tipos dentro del programa y elaborar cálculos o analizar situaciones basándose en expresiones
aritméticas, lógicas e incluso relacionales.

A continuación se presentan de forma esquemática los temas de la presente unidad.

Sistema de base de datos

Requieren de
Análisis Diseño Técnicas de Programación
Utiliza
Como
Normalización Orientada a objetos Estructurada
Genera
Programas

Mediante
Estructura Procedimientos

Los temas que aparecen sombreados se identifican como los más relevantes dentro de la unidad.

Para la completa comprensión de los temas es muy importante que realices completamente las
actividades sugeridas (ya que son la base para el desarrollo de los temas) y resuelvas las prácticas
y ejercicios sugeridos.

Todo sistema de información debe tener una aplicación práctica real de acuerdo a las necesidades
planteadas; las aplicaciones pueden ser muchas y muy variadas, incluso tú en este momento
puedes estar pensando en alguna, por ejemplo un control de las direcciones y teléfonos de tus
amigos o un sistema que te permita controlar sueldos, puestos, asistencias, permisos, en el
lugar donde trabajas o incluso, un sistema que te permita llevar el registro de la producción
lograda por mes, con las ganancias o pérdidas que esto implique. En cada lugar encontraremos
distintos requerimientos y por lo tanto, los más variados sistemas de información. Para aterrizar
los conocimientos que a lo largo del curso abarcaremos es necesario plantear una situación
real que implique la creación de un sistema de información en bases de datos relacionales, la
cual se encuentra en la Situación de Aprendizaje.

Esta situación será el eje rector de todas las unidades de la guía y de las prácticas establecidas
en el Manual de prácticas y ejercicios. Es importante comentar que todos los aspectos aquí
presentados no son un invento, sino producto de la investigación, para así, obtener un producto
de calidad que te permita plantear de forma práctica todos los conocimiento adquiridos a
través del esfuerzo de investigación y análisis que realizarás a lo largo de la guía.

9
SITUACION DE APRENDIZAJE
El consultorio odontológico VázquezAguilar requiere de un sistema que le permita llevar un
mejor control de sus pacientes, de los tratamientos que reciben y sus costos, con la finalidad de
agilizar algunos procesos que son repetitivos pero importantes.
Un aspecto relevante es el registro de los pacientes que se atienden, ya que la mayor parte de
ellos realiza distintos tratamientos o se convierten en pacientes regulares, por lo que es
importante contar con sus datos generales. En el consultorio el comprobante de pago principal
es el recibo de honorarios, por lo que los documentos que generará el sistema cumplen
únicamente la función de desglosar por paciente los tratamientos que se requieren o aplicaron
y sus costos, así como el total a pagar, ya que todos estos datos difícilmente se pueden incluir
completos en el recibo de honorarios. Una de las ventajas de un documento con las características
ya mencionadas es que puede utilizarse no sólo como complemento del recibo de honorarios,
sino también como presupuesto para el paciente que así lo requiera.
Los datos que el odontólogo necesita manejar de su paciente son los siguientes:
Nombre completo
Dirección
Código Postal
Teléfono
RFC
Sexo
Edad
Peso
Edo. Civil
Observaciones
Los datos: nombre, dirección, código postal y RFC sirven para elaborar el recibo de honorarios;
por otra parte, el nombre, sexo, edad, peso y estado civil permiten al doctor realizar cálculos
de anestesia y tipos de tratamientos y, por último, en observaciones anota información que le
permita evaluar de manera concreta al paciente: las alergias, padecimientos crónicos o
enfermedades como diabetes, hipertensión u otras.
Otra parte importante del sistema es la que maneja los tratamientos y costos, ya que son el
complemento para la elaboración de los presupuestos o desgloses de pagos totales.
Dado que VázquezAguilar es un consultorio de odontología general, se realizan tratamientos
básicos como obturación de resinas y amalgamas, extracciones, endodoncias, prótesis, placas
totales y radiografías, entre otros tratamientos de carácter general. A continuación se presentan
dichos tratamientos con sus costos correspondientes.
• Endodoncias (se cobran por conducto)
Pulpotomía $100.00
Un conducto (dientes) $250.00
Tres conductos (molares) $750.00
• Coronas de acero cromo $120.00
• Profilaxis (limpieza)
Profunda $150.00
Superficial $100.00

10
• Aplicaciones tópicas de fluor $150.00
• Blanqueamiento de dientes $3000.00
• Obturación con amalgamas y resinas $100.00
• Extracciones
Piezas temporales $80.00
Piezas permanentes $100.00
• Incrustaciones
Liga de plata $270.00
Oro $800.00
Porcelana $850.00
• Unidad de prótesis fija (se cobra por unidad)
Metal acrílico $400.00
Metal porcelana $850.00
Jacket acrílico $220.00
Jacket metal acrílico $400.00
Jacket porcelana $850.00
• Prótesis removibles
Metal acrílico (se cobra por unidad) $200.00
• Placas parciales acrílico
2 a 4 piezas $700.00
5, 6 y 7 piezas $1200.00
8, 9, 10 y 11 piezas $1600.00
• Placas parciales porcelana
2 a 4 piezas $1800.00
5, 6 y 7 piezas $3100.00
8, 9, 10 y 11 piezas $4900.00
• Placas parciales de valplast
Unilateral $1800.00
Bilateral $3600.00
• Placas totales
Acrílico $2000.00
Porcelana $4000.00
• Cirugía menor de tercer molar $1000.00
• Radiografía periatical $60.00
• Radiografía oclusal $80.00

La información descrita será la base para la elaboración del sistema, es importante que éste no
presente un manejo complejo ya que la persona que lo utilizará no es experta en el uso de la
computadora.

Otra función que se quiere cubrir es la obtención de nombres y direcciones completas de los
pacientes para, a través de correo, enviar promociones, información sobre nuevos materiales o
tratamientos e incluso, si el paciente así lo solicita, enviar también presupuestos. En este punto
se debe tomar en cuenta factores como la edad, ya que a diferencia de los adultos a un niño no
se le envía este tipo de material.

11
¿CÓMO APRENDO?

1. CONCEPTOS GENERALES

Objetivo:

Ubicar la programación de bases de datos en el contexto del desarrollo de sistemas, mediante un repaso
de los conceptos y técnicas de análisis y diseño de sistemas y de programación para identificar las técnicas
de programación adecuadas para el paquete que se vaya a usar.

Dos de las partes fundamentales en el desarrollo de cualquier sistema son el análisis y el


diseño del mismo. Contrariamente a lo que muchos programadores piensan, analizar aspectos
como identificación de necesidades, viabilidad, especificaciones o diseño de datos o
procedimientos es más una inversión que una pérdida de tiempo, ya que si desde un principio
se analizan los aspectos que a lo largo del camino influirán en el desarrollo del sistema, cuando
se presente una situación a resolver ya se contará con las herramientas necesarias para dar
solución efectiva y, por lo tanto, se puede continuar avanzando hasta ver terminado el proyecto
planteado inicialmente.

Como tú mismo reconocerás, el análisis del sistema no está referido únicamente al software
que se va a desarrollar sino también a aspectos como: estructuras, tiempos, cuestiones de
costos, viabilidad, asignación de funciones (personas involucradas), establecimiento de
restricciones y otros.

Por supuesto te encontrarás con que cada sistema tiene su grado de complejidad. Por ejemplo,
se debe eliminar el paso de análisis referente a la asignación de personal para desarrollo, cuando
desde un principio se sabe que es sólo una persona la que va a trabajar.

El siguiente aspecto importante a considerar es el diseño de sistemas. Una vez que se analizaron
y cubrieron todos los aspectos que pueden influir en el desarrollo del sistema, debes hacer las
consideraciones técnicas y lógicas que te permitirán la codificación ordenada del nuevo sistema.

En la etapa de diseño debes tomar en cuenta aspectos tan importantes como la estructura de
datos que se va a requerir en la implementación del sistema, las relaciones entre los principales
elementos estructurales y los procedimientos que integrarán dichos elementos, es en este
punto donde se da la definición del tipo de programación que se va a utilizar, e incluso se
elaboran las interfaces del sistema con el usuario.

A lo largo del curso se trabajará en Visual FoxPro, por lo que es necesario conocer los pasos a
seguir en el diseño de una base de datos en dicho sistema. Lo primero que debes saber es que
base de datos relacional y tabla no son sinónimos, como recordarás, el primero se refiere a un
conjunto de tablas relacionadas que se manejan como un todo, mientras el segundo es
indispensable de otras tablas. Los pasos que se van a cubrir a lo largo del curso son:

1. Determinar el propósito de base de datos


2. Desarrollar el diagrama entidad-relación de la base de datos
3. Precisar las tablas y campos necesarios
4. Establecer las relaciones
5. Perfeccionar el diseño

12
Un aspecto relevante en el manejo de bases de datos relacionales se encuentra en las reglas de
normalización, que ya has revisado en otras asignaturas, por lo que se dará un repaso a este
punto para poder aplicarlo en la resolución de nuestra Situación de Aprendizaje.

Existen variadas técnicas de programación, sin embargo dos de las más utilizadas son la
programación estructurada y la orientada a objetos. La técnica de programación que se
desarrollará durante el curso es la estructurada ya que permite al nuevo programador desarrollar
una estructura mental básica para su formación. Sin embargo, y como te darás cuenta a través
Visual FoxPro y del texto sugerido, Visual maneja objetos y permite la creación de los mismos,
lo que utilizaremos como una ventaja más que nos evitará trabajar sobre aspectos ya
desarrollados y que simplemente se incorporarán de manera transparente en nuestro desarrollo
estructurado. Por lo tanto es muy importante que sepas identificar sus similitudes y diferencias
para así aprovechar al máximo los recursos con los que cuentas.

A través de la siguientes actividades podrás tener un panorama más específico de los temas
que se te han mencionado, para que puedas además aplicarlos en el desarrollo de tus propios
sistemas.

Actividades de aprendizaje Recursos Productos


Menciona y define cada una de las Pressman, Roger S. Ficha de contenido
etapas del análisis de sistemas Ingeniería del Software, un que considere las
enfoque práctico. 3ª ed., etapas del análisis de
México, McGraw-Hill, pp. sistemas.
155-165

Especifica por qué es importante la Pressman, Roger S. Op. cit., Ficha de contenido
etapa de diseño para cualquier pp. 329-376 acerca del diseño en
sistema, y explica de manera concisa los sistemas.
los siguientes aspectos:
a) Sus fundamentos.
b) Importancia de un buen diseño
modular.
c) El diseño de datos,
arquitectónico y procedimental.
d) Documentación del diseño.

Explica para qué se utiliza el modelo Piattini, Mario/Adoración Ficha de contenido de


Entidad-Relación (E/R), identifica de Miguel. Fundamentos y diagramas Entidad-
cuáles son sus principales elementos modelos de Bases de Datos. 2ª Relación.
y proporciona un ejemplo que te ed., México, Alfaomega, pp.
permita comprender este tipo de 103-114 y 266-273.
modelado.

Realiza el ejercicio No. 1. Manual de ejercicios y Ejercicio resuelto.


prácticas.

Expresa brevemente qué es la teoría Piattini, Mario/Adoración Resumen sobre la


de normalización y cuáles son su de Miguel. Op. cit., pp. 273- teoría de la
formas. 287. normalización.

13
Actividades de aprendizaje Recursos Productos
Revisa el ejemplo de normalización Pinter Les/Pinter John. Ficha de contenido que
propuesto e identifica las formas de Visual FoxPro 3.0 y 5.0 considere las formas de
nomalización en la base de datos Manual de Programación, normalización en
establecida para VisualPro. pp. 50 y 51. tablas.

Resuelve los ejercicios No. 2 y 3. Manual de ejercicios y Ejercicios resueltos.


prácticas.

Describe cuáles son las diferencias Pressman, Roger S. Op. cit., Ficha de contenido
más obvias entre la programación pp. 252-270 y 358-363. sobre programación
estructurada y la orientada a objetos. estructurada y la
orientada a objetos.

Realiza un análisis de la información Personal del Centro de Análisis de la


que se requiere para el control de la Servicios que pueda información.
biblioteca de tu Centro de Servicios. proporcionarte la
Toma en cuenta los siguiente información que requieres.
aspectos:
1. Datos que se necesitan conocer
para el manejo de los libros con
que se cuenta.
2. Información sobre las personas a
las que se realizan préstamos de
material (alumnos, maestros o
personal del centro).
3. Tiempo de préstamo, fecha de
entrega y fecha de recepción del
material.
4. Consecuencia por exceder el
tiempo de préstamo: multas o
sanciones y sus montos por día,
etc.

Elabora el diagrama entidad-relación Análisis de la información Diagrama entidad-


de tu biblioteca, basándote en la de biblioteca. relación biblioteca.
información obtenida.

Establece las tablas normalizadas de Diagrama entidad-relación Tablas normalizadas


la información planteada en el biblioteca. de biblioteca.
diagrama entidad-relación de la
biblioteca.

14
2. ESTRUCTURA GENERAL DE UN PROGRAMA

Objetivo:

Identificar las partes o secciones de un programa, la función que cumplen y las relaciones entre ellas, a
través de reconocer el encabezado, las definiciones de variables y constantes, los procedimientos,
subprogramas o clases de objetos y su cuerpo principal de instrucciones.

Todo programa cuenta con una estructura base para su creación, que permite la identificación
de lo que se está codificando, no sólo por parte del programador sino también de aquellos que
estén interesados en el análisis del código para mejorar o mantener la aplicación.

Un programa consta normalmente de los siguientes elementos:

- Encabezado
- Definición de variables y constantes
- Expresiones y comandos
- Procedimientos
- Función
- Cierre y terminación.

Estos elementos por lo regular conservan el orden en que se presentan, sin embargo, y como
ya tendrás oportunidad de trabajar, para el caso de Visual FoxPro existen algunas variaciones
sobre esta estructura en particular.

Por ejemplo, en Visual FoxPro no se requiere de encabezados formales o propios de las


instrucciones del código del sistema; pero se puede agregar a los programas como encabezado
de la documentación referente al nombre del programa, su objetivo y quien lo elaboró; si
deseas agregar información adicional lo puedes hacer ya que esto realmente dependerá de tu
propio estilo o necesidad.

Otro aspecto diferente con el que te enfrentarás en Visual FoxPro es que no es necesario que
la definición de variables y constantes globales se realice al inicio del programa, sin embargo
sí se recomienda, ya que si la variable en algún momento se escribe mal el compilador la
interpreta como la declaración de otra variable y este tipo de errores es muy difícil de identificar.
En lo que toca a los procedimientos o funciones estos se definen en módulos separados del
programa principal, cuidando únicamente que al ser llamados se establezca la ruta correcta.

Finalmente podrás notar, cuando empieces a programar, que a diferencia de otros lenguajes,
en Visual FoxPro no existen comandos específicos para indicar el inicio o fin de un programa
principal (no así en el caso de los procedimientos o funciones), por lo que los elementos de
cierre o terminación no serán encontrados en este tipo de programas.

A continuación se presentan las actividades que debes realizar para entender este tema, y
empezar con la programación en Visual FoxPro.

15
Actividades de aprendizaje Recursos Productos
Describe con tus propias palabras los Ayuda de Visual Fox Pro Ficha de contenido
siguientes elementos de un Presiona F1, selecciona acerca de los
programa: índice y digita de acuerdo a elementos de
cada caso: Programa.
- Encabezados - Encabezado, agregar
- Constante en el asistente para la
- Variable documentación
- Expresión - Constante, asignar
- Comando valores a
- Procedimiento - Variable, definición
- Función. - Comando, definición
- Procedimiento,
definición
- Procedimientos de
función definidos por
el usuario
- Función, definición.
Explica cómo trabaja Visual FoxPro
Ficha de contenido
con las variables. Pinter Les/Pinter John. sobre las variables de
Op. cit., pp. 174-176. Visual FoxPro.
Resuelve la práctica No. 1.
Práctica resuelta.
Manual de ejercicios y
prácticas.

3. PROCEDIMIENTOS BÁSICOS

Objetivo:

Explicar el proceso de elaboración de una base de datos, a partir de describir la secuencia de procedimientos
para la captura, depuración, ejecución y compilación de un programa de bases de datos y los instrumentos
disponibles para llevarlas a cabo.

Para esta asignatura la creación de la base de datos y su manejo estará fundamentada en Visual
FoxPro, que permitirá el correcto funcionamiento del sistema en general. Por eso, es importante
que puedas reconocer los pasos que se siguen para la elaboración de un programa, ya que de
esto depende el que puedas identificar en el caso de una falla, cuál de los pasos no se ha realizado
completamente. Dichos pasos son los siguientes:

1. Captura
2. Depuración
3. Compilación
4. Ejecución

De éstos el que podemos identificar de forma inmediata es el proceso de captura, pues se


refiere a la inserción del código que forma el programa. En el caso de Visual FoxPro el proceso
de captura se realiza en la ventana de Programas que se obtiene seleccionando Administrador
de Proyectos, la pestaña Código y el botón Nuevo o Modificar, si ya existe el archivo.

16
Por su parte, el proceso de compilación permite pasar el código generado por el usuario a
lenguaje de máquina y en ocasiones a lenguaje ensamblador; será parte de tu empresa identificar
de qué forma trabaja el compilador de Visual FoxPro.
Mientras tanto, en el proceso de depuración se pueden identificar errores de sintaxis, que al
irse analizando, permiten al usuario ubicar errores de lógica y de entrada de datos. Finalmente,
una vez que el programa ha sido depurado y compilado se ejecuta, lo que no es otra cosa que
poner en funcionamiento el programa que se realizó. Visual FoxPro cuenta con sus propias
herramientas de depuración y ejecución que aprenderás a identificar.
Existen herramientas que analizan una línea de código y después realizan las acciones específicas,
en lugar de producir una traducción de código de máquina para que se ejecute posteriormente;
estas herramientas se conocen como intérpretes, pero no son muy utilizadas en los sistemas
generadores de bases de datos por lo que no serán objeto de profundización.
Adicionalmente en Visual FoxPro como en otros sistemas generadores de bases de datos se
pueden generar programas ejecutables con la extensión .EXE que pueden correrse sin necesidad
de tener Visual FoxPro.
Visual FoxPro cuenta con una forma propia para realizar todos los pasos que se han mencionado,
incluso en algunos de ellos cuenta además con una lógica distinta, es por eso que se presentan
las siguientes actividades de aprendizaje que te permitirán adquirir los conocimientos teórico-
prácticos necesarios para el correcto manejo del proceso descrito.
Actividades de aprendizaje Recursos Productos
Define cómo se realizan los procesos Pinter Les/Pinter John. Ficha de contenido
de ejecución y compilación en Visual Op. cit., p. 171 acerca de la ejecución y
FoxPro. compilación en Visual
FoxPro.
Explica los siguientes pasos para la Ayuda de Visual FoxPro Ficha de contenido
elaboración de un programa, Presiona F1, selecciona sobre la depuración,
incluyendo las instrucciones con su Índice y digita lo compilación y ejecución
sintaxis, a través de las cuáles se siguiente en cada caso: en Visual FoxPro.
realizan en Visual FoxPro. · Depurar, definición
· Depurar · Debug
· Compilar · Compilar
· Ejecutar · Compile
· Ejecutar programas
· Do

Describe el proceso de generación de Pinter Les/Pinter John. Ficha de contenido


una aplicación y su relación con la Op. cit., pp. 84-86 acerca de la generación
generación de ejecutables. de aplicaciones y
ejecutables.
Genera la base de datos y las tablas Tablas normalizadas de Base de Datos de
correspondientes a través del biblioteca y el sistema biblioteca en Visual
Diseñador de Bases de Datos de generador de Bases de FoxPro.
Visual FoxPro, estableciendo Datos de Visual FoxPro
también sus relaciones. Puedes 5.0.
tomar como ejemplo la práctica No.
1 de tu Manual de prácticas y ejercicios.

17
¿QUÉ HE APRENDIDO?

A continuación encontrarás unas actividades de evaluación para esta unidad que te permitirán
valorar tus avances hasta este momento.

1. Identifica el nombre del proceso de análisis que se está describiendo:

a) Implica la evaluación del análisis de costo-beneficio. ______________________

b) En este proceso se realizan las entrevistas con el cliente


y la información recogida se organiza en un documento de
conceptos del sistema. ______________________

c) A través de este proceso se evitan inversiones en sistemas


que no se pueden concretar por cuestiones económicas,
técnicas o legales. _____________________

d) En este proceso es asignada a uno o más elementos,


cada función del sistema con sus características de interfaz
y rendimiento requerido. ______________________

2. Responde las preguntas:

a) Explica brevemente qué implica la normalización para los sistemas en Visual FoxPro.

b) ¿Qué es programación estructurada?

3. Relaciona las columnas:

( ) Encabezado a) Respuesta=.F.

( ) Variable b)FOR I = 1 TO valor final


ENDFOR
( ) Procedimiento
c)&& Elaborado por: Claudia López
( ) Comando && Elimina registros en blanco.

d) PROCEDURE Buscar
.
:
ENDPROC

4. Selecciona la respuesta correcta:

4.1. Verificación del funcionamiento por línea o módulo de un programa.

a) Compilación
b) Verificación
c) Depuración
d) Fraductor

18
4.2. Son los programas que corren sin necesidad de tener Visual FoxPro instalado.

a)Aplicaciones
b) Ejecutables
c) Independientes
d) Mixtos

4.3. Introducción del código del programa.

a) Captura
b) Codificación
c) Compilación
d) Interpretación

4.4. Visual FoxPro realiza de manera transparente este paso al ejecutar el programa.

a) Compilación
b) Depuración
c) Generación de .Exe
d) Ejecución

5. Resume paso a paso cómo llevaste a cabo el proceso de planeación y creación de la Base de
Datos biblioteca, cubriendo los aspectos:

• Análisis de los datos


• Modelado (diagrama entidad-relación)
• Tablas y Normalización.
• Creación de la B.D.

19
QUIERO SABER MÁS

Otra técnica de programación aprovechada por Visual FoxPro es la orientada a eventos, que es
un modelo de programación que hace énfasis en el código de evento, en lugar del código
secuencial empleado en la programación por procedimientos, para que lo vayas comprendiendo
te sugerimos que consultes el libro de apoyo: Visual FoxPro 3.0 y 5.0 Manual de Programación.
Pinter Les/Pinter John páginas 90,91, 243 y 244.

El diseño del sistema es fundamental, por lo cual te sugerimos que analices el ejemplo del
diseño de un sistema de bases de datos de una situación real, el cual encontrarás en la dirección
de internet http://members.xoom.com/analista/directorio/tecinf/basedatos.htm.

Por otra parte, si quieres saber un poco más acerca del modelado y gestión de bases de datos
puedes consultar la dirección http://www.inei.gob.pe/cpi/bancopub/libfree/lib607/n00.htm.

20
¿QUÉ VOY A APRENDER?

UNIDAD II
ELEMENTOS BÁSICOS DE PROGRAMACIÓN
DE BASES DE DATOS
Objetivo de la Unidad:
Manejar las operaciones básicas y los elementos básicos de los programas
de bases de datos, mediante la aplicación de las reglas para el uso de
variables y constantes, la construcción de expresiones y las instrucciones
de control de entrada-salida y de flujo lógico, con el fin de utilizarlas
correctamente en la construcción de programas.

Para la construcción de un programa se requiere de una serie interminable de comandos,


asignaciones y estructuras, muchos de los cuales son fundamentales en cualquier programa y
los podemos ver repetirse una y otra vez debido a que son la base de muchos procedimientos,
funciones e incluso del programa principal.

Siempre necesitarás asignar el valor a una variable, o repetir un proceso un número n de veces
hasta que se cumpla una condición o también, elegir entre opciones distintas e incluso decidir
qué pasa si se cumple una condición y qué ocurre en el caso contrario.

La presente unidad abarca todos los temas básicos que te permitirán dar solución a situaciones
como las ya mencionadas, sin olvidar que todo se abordará bajo las estructuras que plantea
Visual FoxPro que es el Sistema Manejador de Bases de Datos utilizado.

El siguiente esquema presenta los temas a tratar durante esta unidad:

Programa

Cuenta con

Variables Expresiones Comandos Flujo lógico


Para De tipo De A través de

Asignación Funciones Apertura Control Lectura Inst. Comandos Comandos


de de Aritméticas Lógicas y de y de de de
valores conversión cierre pantalla escritura selección control selección

Recuerda que seguimos manejando la situación de aprendizaje planteada inicialmente, por lo


que los nuevos conceptos van encaminados a dirigirte en el proceso de solución de dicha
situación, mediante esta guía y el Manual de ejercicios y prácticas.

21
¿CÓMO APRENDO?

1. USO DE VARIABLES

Objetivo:

Dominar el uso de variables y funciones, mediante el estudio y aplicación de las instrucciones para
asignar y convertir valores de variables y constantes, con el fin de construir expresiones correctamente y
permitir controlar el flujo del programa.

Como recordarás, una variable es un espacio en memoria representado por una cadena de
caracteres que almacena datos de cualquier tipo. La asignación se establece cuando defines los
datos o el valor que contiene una variable.

Dentro de Visual FoxPro esta asignación se realiza de varias maneras: es posible definirlas
dentro del cuadro de Comandos, dentro de la ventana de programa en procedimientos y
funciones e incluso en el programa principal. Algo muy importante es que la variable se define
en el momento de asignar un dato o valor, esto podrás verificarlo a través de las prácticas y
ejercicios de todo el curso.

Las variables pueden ser de varios tipos: de memoria, memoria del sistema, locales, privadas y
públicas. La asignación a variables de memoria del sistema es realizada de forma inmediata por
Visual FoxPro y el usuario no interviene. Los valores del resto de las variables sí son asignadas
por el usuario. Ejemplos de este tipo de asignación son:

Impuesto IVA = 1.15


Costo Bucal = costo Donde costo es el campo perteneciente a la tabla Tratamientos.

Si observas las asignaciones anteriores son idénticas a las que nosotros realizamos de forma
manual.

Otra herramienta importante que podemos utilizar son las funciones, las cuales son un conjunto
de instrucciones que generan como salida un valor único una vez introducidos los parámetros
de entrada. Dichas funciones pueden ser propias de Visual FoxPro o también pueden ser
generadas por el usuario. El uso de funciones es indispensable para cualquier aplicación de allí
la relevancia que tendrá para ti como nuevo programador. Más adelante aprenderás a generar
funciones, sin embargo, hasta este momento lo indispensable es que conozcas algunas de las
más utilizadas y que son proporcionadas por Visual FoxPro.

Las sintaxis de una función es la siguiente:

Nombrefunción(argumentos) Donde argumentos(o parámetros) son los


datos, campos o variables a introducir en la
función.

Y puede utilizarse dentro de otras instrucciones.

22
Dentro de las funciones encontramos una clasificación interesante, y que corresponde a las
funciones de conversión, estas son funciones ya creadas en Visual FoxPro que tienen como
finalidad:

• Transformar los datos o valores de una variable de un tipo a otro.


• Cambiar las características de la variable.
• Obtener operaciones de extracción o concatenación de cadenas de caracteres entre otros.

Existen otras clasificaciones de funciones que tú mismo descubrirás.

A continuación se presentan las actividades de aprendizaje que te permitirán cubrir todos los
aspectos de este subtema.

Actividades de aprendizaje Recursos Productos


Menciona y explica brevemente las Pinter Les/Pinter John. Resumen que
cinco formas de asignación de Op. cit., pp. 175-177. considere las
valores a variables que se utilizan en asignaciones de
Visual FoxPro. valores a variables.

Realiza una tabla con un mínimo de Iglesias, Rubén. Visual Tabla de las funciones
cuatro funciones por cada una de las FoxPro 5.0 Fundamentos y de Visual FoxPro.
siguientes clasificaciones: Técnicas de Programación.
- Búsqueda 3ª ed., México, Alfaomega,
- Cálculos en tablas pp. 29-32,51-58.
- Tratamiento de caracteres
- Manipulación de fechas
- Arreglos

Recuerda la sintaxis de la función,


nombrefunción()

Elabora una tabla con las funciones Iglesias, Rubén. Op. cit., p. Tabla de “Variables de
de conversión entre variables en 15. conversión en Visual
Visual FoxPro y proporciona un FoxPro”.
ejemplo distinto al que proporciona Ayuda de Visual FoxPro
la ayuda por cada función. F1, Índice, Nombre de la
Función, Ejemplos.

2. EXPRESIONES

Objetivo:
Evaluar y utilizar expresiones de diferentes tipos, mediante el estudio y aplicación de las reglas de
construcción de las mismas, para incorporarlas en las instrucciones del programa.
Como recordarás, una expresión es una sentencia que nos permite realizar operaciones con
constantes, variables, cadenas o campos, entre otros. Has utilizado expresiones desde que
aprendiste a sumar hasta la fecha. Las expresiones pueden ser de tipo aritmético, lógico y
relacional.

23
Las expresiones aritméticas son aquellas que incluyen operadores matemáticos como +, -, *, /
y () los cuales cuando se trata de cálculos en la computadora tienen un estricto orden de
procedencia. Algunos ejemplos de expresiones aritméticas son los siguientes:
Suma=5 + 5
Multisuma=6*7+9
Álgebra=a4-8b*8c
Paréntesis=(7+5)/((5-1)*9)
También existen las expresiones lógicas, este tipo de expresiones son básicas dentro de la
programación, ya que se utilizan mucho en condicionantes o en el control de ciclos entre otras.
Estas expresiones arrojan valores de cierto (T) o falso (F). Las más utilizadas son AND, OR y
NOT, y como quizás recuerdes (de tus clases de matemáticas) cada una tiene su propio
comportamiento como veremos a continuación:
And Or Not
E E S E E S E S
T T T T T T T F
T F F T F T F T
F T F F T T
F F F F F F
Un ejemplo de expresión lógica es: sexo= ’M’ and apellidos >= ‘M’
Otro tipo de expresiones que también es importante que tengas presente es la relacional, que
se utiliza para construir condiciones de comparación de variables, constantes y campos, entre
otros. Manipulan valores numéricos y de otros tipos para producir valores lógicos. Los
operadores que se utilizan son >, <, >=, <=, <> e =. Este tipo de expresión se puede ejemplificar
de la siguiente manera:
Costo > 100
Costo < 50 and costo >= 51
Es importante que manejes de forma correcta los diferentes tipos de expresiones mencionados,
ya que son parte de las bases para una correcta programación en un Visual FoxPro. Enseguida
se presentan las actividades de aprendizaje que te permitirán reforzar y complementar lo visto
hasta el momento.
Actividades de aprendizaje Recursos Productos
Explica cómo funciona el Pinter Les/Pinter John. Op. Ficha de contenido
Generador de Expresiones y los cit., pp. 5 y 371. sobre el generador de
elementos que lo conforman. Expresiones.
Describe brevemente el uso de los Pinter Les/Pinter John. Op. Ficha de contenido
operadores aritméticos + y – para cit., pp. 177-178. que considere el uso de
el caso de datos numéricos y tipo operadores aritméticos
carácter. en datos numéricos y
tipo carácter.
Elabora una tabla con el orden de Ayuda de Visual FoxPro Tabla sobre la
preferencia de los operadores Presiona F1, selecciona procedencia de
aritméticos y proporciona tres Índice, digita operadores, Operadores
ejemplos. numéricos. aritméticos.
Resuelve el ejercicio No. 4. Manual de ejercicios y prácticas. Ejercicio resuelto.

24
3. INSTRUCCIONES O COMANDOS BÁSICOS

Objetivo:

Aplicar las instrucciones mínimas necesarias para construir un programa, mediante el uso de los comandos
o instrucciones para iniciar, terminar y controlar la pantalla de entrada-salida, con el fin de observar el
comportamiento integral de un primer programa.

Existen instrucciones que te permitirán reconocer el inicio y final de procedimientos, funciones,


comando, y para algunos lenguajes el inicio o final de un programa principal, que es como se
conoce a aquel del cual se ejecutan los diferentes módulos del sistema. Este tipo de instrucciones
se conocen más propiamente como de apertura y cierre.

Por darte un ejemplo, en algunos lenguajes de programación estructurada, el programa principal


puede llevar como instrucción de apertura un “Begin” y como instrucción de cierre un “End”,
sin embargo, algo realmente interesante en Visual FoxPro y que aplica para algunos sistemas
generadores de bases de datos similares, es que en éstos el programa principal no requiere de
instrucciones o comandos que indiquen el inicio o fin del programa, no así cuando se trata de
procedimientos, funciones o comandos como verás mas adelante a detalle. Aún cuando no se
puede identificar como un encabezado de programa principal, te recomendamos que al inicio
del programa escribas datos como los siguientes:
&& Nombre del programa: Nombre
&& Autor(es):
&& Propósito

Esto con la finalidad de indicar, entre otras cosas, que aquí empieza tu programa principal.
Los datos a incluir dependerán de tu propia necesidad.

Ahora bien, otro aspecto que debes tener siempre en cuenta cuando estés generando un sistema
es el control de la pantalla. Lo primero es definir de qué pantalla se está hablando, si de la
principal de Visual FoxPro conocida como consola o de una ventana de entrada y salida de
datos, ya que involucran un manejo distinto. En el caso de la consola se usan instrucciones
simples que permiten visualizar datos de salida provenientes de consultas o variables. Es
importante recalcar que la consola no es un medio de lectura, es decir, que es posible desplegar
información más no escribir en ella.

En el caso de las ventanas de entrada – salida, podrás generarlas a través de la herramienta de


creación de formularios y aprenderás a programar las instrucciones requeridas para cada uno
de los eventos del formulario. Existen instrucciones (que tú mismo reconocerás y aplicarás)
que te permitirán controlar la consola o un formulario desde un programa principal.
Paralelamente también se cuenta con instrucciones de lectura y escritura. Las de escritura se
utilizan para desplegar los datos de salida en la consola o las diferentes ventanas. Manejar
correctamente este tipo de instrucciones te evitará muchos problemas en el despliegue de la
información que lo requiera.
Entre los más comunes se encuentran los comandos de Display o Display Fields, Browse o
Browse Fields, ? o Print; más las instrucciones de ejecución de los reportes y formularios
dentro de los programas o la ventana de Comandos. Debe tomarse en cuenta que cada reporte
o formulario posee su propio código, el cual trabajaremos posteriormente.

25
Por su parte las instrucciones de lectura permiten, como su nombre lo dice, leer la información
que el usuario introduce al sistema. Nunca debes olvidar que es el usuario el que finalmente va
a alimentar la base de datos del sistema, por lo que es también primordial que utilices
correctamente este tipo de instrucciones.

Para que puedas conocer todas las instrucciones de las que hasta aquí se te ha hablado y
aprendas a utilizarlas, es importante que realices las actividades que se presentan a continuación:

Actividades de aprendizaje Recursos Productos


Describe la sintaxis de Ayuda de Visual FoxPro . Ficha de contenido
procedimientos y funciones, e Presiona F1, selecciona sobre las instrucciones
identifica los elementos de apertura Índice y digita de Apertura y Cierre
y cierre. ‘procedimientos, crear’ y en Procedimientos y
‘funciones, crear definidos funciones.
por el usuario.

Elabora una tabla con las Pinter Les/Pinter John. Tabla de las
instrucciones de entrada y salida de Op. cit., pp. 181,182. instrucciones de
datos que pueden utilizarse en Visual entrada y salida de
FoxPro. Visual FoxPro.

Explica brevemente las principales Pinter Les/Pinter John. Ficha de contenido


características y funciones de los Op. cit., pp. 208-216. acerca de los
formularios, incluye cuál es la formularios.
instrucción que permite la ejecución
del formulario.

Investiga cómo se utilizan las Ayuda de Visual FoxPro Ficha de contenido


siguientes instrucciones de escritura Presiona F1, selecciona que considere las
en Visual FoxPro y proporciona un Índice y digita display, principales
ejemplo: Browse y? instrucciones de
- Display escritura o despliegue
- Browse en Visual FoxPro.
- ?

Proporciona mediante una tabla las Ayuda de Visual FoxPro . Tabla sobre las
instrucciones de lectura más Presiona F1, selecciona principales
utilizadas para formularios y Índice y digita This, instrucciones de
ventanas, con su descripción y un Thisform yThisformset. lectura.
ejemplo.

Resuelve los ejercicios No. 5 y 6. Manual de Prácticas y Ejercicios resueltos.


Ejercicios.

26
4. CONTROL DEL FLUJO LÓGICO DEL PROGRAMA
Objetivo:
Aplicar las instrucciones para controlar la lógica de flujo del programa, mediante el uso de las instrucciones
de condición, repetición, iteración y selección de casos, para la captura de tablas y la construcción de
programas más complejos.
A fin de completar todas las instrucciones que integran los elementos básicos de la programación
de base de datos, no se deben pasar por alto las instrucciones de selección (los famosos If ’s que
tú mismo aprenderás más adelante), ya que te permiten la ejecución de varios comandos
dependiendo del resultado de una expresión lógica. Este tipo de instrucciones lo encuentras
en todos los lenguajes de programación y por supuesto Visual FoxPro no es la excepción.
Un ejemplo de su utilización es el siguiente:
Supongamos que tienes una base de datos con los nombres, sexo, teléfonos y edades de tus
amigos y quisieras calcular la edad promedio de las amigas que están registradas, no aplicarías
la función promedio() sobre el campo edad para toda la base, porque incluirías las edades de los
hombres; necesitas primero seleccionar los registros cuyo sexo sea “femenino” y después aplicar
la función. Las instrucciones que te permiten hacer este tipo de discriminación son precisamente
las de selección y como ves son indispensables, ya que en cualquier momento del funcionamiento
del sistema se requerirá de una toma de decisión.
Ahora bien, también existen comandos que permiten la repetición de instrucciones conforme
a una condición lógica establecida. Dicha condición puede incluir una variable que se incremente
dentro del propio ciclo.
Los ciclos son estructuras repetitivas que se ejecutan mientras se cumple una condición lógica,
a diferencia de las iteraciones en donde se define previamente el número de veces que se repetirá
la estructura.
Retomando el ejemplo anterior para verificar cuáles de los registros contienen femenino en el
campo sexo, necesitas recorrer todos los registros de la base de datos hasta encontrar el final
de archivo e ir seleccionando los que cumplan con la condición. Lo que utilizarías en este caso
sería un ciclo, el cual puedes implementar, mediante un scan o un while, entre otros, que por
supuesto aprenderás y practicarás en tus actividades de aprendizaje correspondientes.
En lo que toca a algunos casos en los que las alternativas de solución a una misma interrogante
pueden ser “n” y se necesita algo mas que un if o ifs anidados para cubrir las distintas
posibilidades; éstos se pueden resolver a través de instrucciones de selección de casos como
CASE la cual ejecuta el conjunto de comandos de la expresión condicional que se evalúa como
verdadera (.T.).
Por ejemplo, si a una pregunta se tienen 4 distintas soluciones y para cada solución existe una
acción distinta, esto se puede implementar mediante un case. En el caso de un cajero automático
la pregunta podría ser:
¿Qué operación desea realizar?
1) Retirar efectivo
2) Consultar su saldo
3) Cambiar nip
4) Salir

27
Donde por supuesto cada opción implica una operación distinta. Como ves las instrucciones
de selección de casos pueden simplificarte mucho la programación.
A continuación se presentan las actividades de aprendizaje que te permitirán aprender y
practicar las instrucciones mencionadas.
Actividades de aprendizaje Recursos Productos
Identifica las siguientes Pinter Les/Pinter John. Tabla de instrucciones
instrucciones de control de flujo: Op. cit., pp. 173,178 y 179. de control más
- If utilizadas.
- While
- For
- Scan
A partir de éstas elabora una tabla
en la que incluyas su sintaxis, la
descripción de su funcionamiento y
un ejemplo.

Explica cuáles son las ventajas y Rubén Iglesias. Op. cit., Ficha de contenido
desventajas entre utilizar el WHILE pp.80-82. “WHILE VS FOR”.
y utilizar el FOR.
Describe cómo se utiliza la Pinter Les/Pinter John. Ficha de contenido
instrucción scan, incluyendo sus tres Op. cit., pp. 46, 47 y178. sobre la instrucción
diferentes formas de SCAN.
implementación; proporciona un
ejemplo
Menciona para qué se utiliza la Ayuda de Visual FoxPro Ficha de contenido
instrucción Case, proporcionando Presiona F1, selecciona acerca de la
además su sintaxis y un ejemplo. Índice y digita case. instrucción Case.
Realiza la práctica 2. Manual de prácticas y Práctica resuelta.
ejercicios.
Elabora un programa que analice la Sistema Generador de Programa que calcule
fecha de entrega y recepción de los Bases de Datos de Visual adeudos por multa del
libros que se prestan, calcula si se FoxPro y Base de Datos préstamo en
adeuda o no por multa y a cuánto de Biblioteca Biblioteca.
asciende, poniendo dicho monto en
un campo correspondiente al adeudo.
Debes cubrir los siguientes puntos:
· Realiza el cálculo para todos los
registros de la tabla en la que
tienes a las personas autorizadas
para préstamo de material.
· Documenta tu programa con los
comentarios correspondientes.
· Para la elaboración de tu
programa puedes tomar como
referencia la práctica No. 2 de tu
manual de prácticas y ejercicios.

28
¿QUÉ HE APRENDIDO?

Enseguida se presenta un conjunto de actividades que te permitirán evaluar el grado de


aprendizaje adquirido hasta el momento.

1. Relaciona las columnas correctamente:

Concepto Definición

( ) Variables de memoria a) Permite la conversión de un dato tipo


FechaHora a un dato de tipo carácter.

( ) Average [] b) Cadena de caracteres con la capacidad


de almacenar un dato numérico o
alfanumérico

( ) TTOC() c) Permite cambiar las características de


los datos de una variable

( ) Variable d) Función que permite calcular el promedio


de una lista de valores o conjunto de
registros.

( ) Función de conversión e) Son variables no definidas por el usuario.

2. Resuelve las siguientes expresiones:

(7+(4+3)*5*2-5)/9= _____________________
*7+4/2+(9*11-5)/2= ____________________
10-8/2*5+5*4-10= ______________________
J and K ________________________________
J and L ________________________________ donde J,L=True y K,I=False
J or IL

3. Selecciona la respuesta correcta:

( ) Es una expresión relacional.

a) NOTA b) A <= B c) A OR B

( ) Son instrucciones de apertura y cierre en Visual FoxPro.

a) FUNCTION...ENDFUNC b) Inicio...Fin c)Begin...End

( ) Permite la lectura de un dato introducido por el usuario en una ventana.

a) ? costo b) costo = this.value c) display costo

29
Despliega directamente en la ventana activa el valor de una variable

a) BROWSE fields b) ? dato c) DISPLAY fields

4. Identifica el nombre del comando de acuerdo a la descripción brindada:

a) Recorre automáticamente toda una tabla y permite filtrar la búsqueda mediante For o While.
b) Permite la realización del ciclo marcando por sí misma el número de iteraciones a realizar.
c) Brinda N+1 conjunto de instrucciones para N+1 opciones distintas planteadas.
d) Establece las acciones a seguir en caso de cumplirse o no una condicionante.
e) Es recomendable la instrucción de este comando para la realización de ciclos en los que no
intervengan muchos registros.

5. Elabora un programa que verifique cuántas personas tienen adeudo de material. Documéntalo
mediante los comentarios en el programa. Utiliza alguna de las instrucciones de control de
flujo.

30
QUIERO SABER MÁS

Para que puedas reconocer que todo lo que se ha manejado hasta aquí son los principios básicos
de la programación estructurada, te invitamos a revisar el Capítulo 2 del libro Programación en
Pascal de Arthur M. Keller, pp. 9-29.

Crea tus propios formularios a través de los asistentes de Visual FoxPro, esto te proporcionará
nuevas ideas sobre la programación orientada a eventos, además de que te permitirá
familiarizarte con la entrada y salida de información a través de éstos. Para poder trabajar con
dichos asistentes te recomendamos revisar la unidad IV de tu guía de Bases de Datos I.

31
¿QUÉ VOY A APRENDER?

UNIDAD III
MANEJO DE REGISTROS

Objetivo de la Unidad:

Instrumentar las operaciones fundamentales sobre los registros de la


base de datos, mediante la aplicación de las instrucciones para consultar,
dar de alta, de baja y modificar el contenido de los mismos, con el fin
de incorporar estas capacidades a los programas y satisfacer las
especificaciones de diseño.

En base de datos, el lugar donde se guarda la información correspondiente a una entidad se


conoce como registro; la presente unidad pretende abarcar los temas correspondientes al manejo
en general de estas entidades fundamentales.

Como sabes un registro puede agregarse a una base de datos, modificarse e incluso borrarse;
pero no sólo eso, se pueden buscar registros dentro de una base de datos atendiendo a un filtro
determinado o basándose en los índices correspondientes, también pueden realizarse operaciones
sobre algunos campos de registros. Todo esto ya lo has realizado a través de los asistentes,
ahora se trata de que puedas hacerlo a través de programas elaborados por ti. Por eso la
presente unidad está especialmente dedicada a introducir los conceptos e instrucciones que te
permitirán, a través de la programación, manejar los registros tal y como sabes que se pueden
utilizar.

A continuación se presenta un esquema con los temas a tratar a lo largo de la unidad.

Registros

Se pueden realizar
con
Consultas Bajas Altas Cambios Funciones

A través de Mediante A través de Mediante

Despliegue Índices y Eliminación Inserción Modificación


y filtros
búsqueda

No olvides que todos los temas y habilidades correspondientes a esta unidad serán desarrollados
a través de la guía de estudio y tu manual de prácticas y ejercicios.

32
¿CÓMO APRENDO?

1. COMANDOS PARA LA CONSULTA DE INFORMACIÓN

Objetivo:

Instrumentar la consulta de información, mediante la aplicación de las instrucciones para encontrar,


indizar y filtrar registros, así como para desplegar registros y campos seleccionados, con el fin de utilizar
estas capacidades en el desarrollo de programas.

El despliegue de información del contenido de una tabla no es muy diferente a los tipos de
despliegue que has visto hasta el momento. De hecho los únicos que cambian son los argumentos
con los que se combinan las instrucciones vistas, sin embargo, también éstos ya han sido
considerados en las actividades de aprendizaje que has realizado. No obstante existe una
instrucción que no hemos visto por ser muy específica de tablas, dicha instrucción es List que
despliega los datos de una tabla en una área de trabajo actual, pero en forma de listado, es
decir, a lo largo de la ventana y de forma continua. Para la correcta utilización de esta instrucción
se requiere de la combinación de esta con otras instrucciones que conocerás y que van a ser de
mucha utilidad para el despliegue de resultados en el momento de la programación.

En otro orden e ideas, en ocasiones necesitamos localizar información específica en registros o


campos, ya sea para su despliegue o para realizar operaciones sobre los mismos. En estos casos
se habla de búsqueda de información, para lo cual se cuenta con instrucciones que permiten
esta búsqueda de acuerdo a un criterio establecido. Una de las más comunes es Locate, ya que
puede utilizarse sin necesidad de indexar la tabla; sin embargo, hay otros tan poderosos como
éste y lo importante no es saber que existen sino saber cómo utilizarlos y entender las ventajas
que cada instrucción ofrece. También existen funciones ya creadas en Visual FoxPro que puedes
utilizar como herramientas importantes en tus procesos de búsqueda.

Hay que mencionar que los procesos de búsqueda pueden valerse también de los índices de la
base de datos aún cuando estos últimos cobran importancia por sí mismos, ya que los índices
son archivos que se utilizan para determinar el orden de los registros de una tabla dependiendo
de un requerimiento establecido. Es importante que sepas cómo se establecen, su utilidad y
cómo se clasifican para que puedas hacer un uso correcto de ellos. Muchas veces el correcto
establecimiento de un índice permite salvar la integridad de una tabla.

A fin de complementar debemos decir que existe una herramienta muy importante la cual
permite clasificar y discriminar la información contenida en la base de datos, dicha herramienta
se encuentra en los filtros que muchas veces se apoyan en los índices establecidos y se utilizan
cuando se desea visualizar información con ciertas características. Por lo tanto, se dice que los
filtros se implementan en conjunto con las instrucciones de búsqueda e indexación.

Es necesario que aprendas y apliques todas las instrucciones y funciones que te permiten
realizar las búsquedas, indexaciones, filtraciones y despliegues de la información que requieras;
todo lo cual lograrás mediante la resolución de las actividades de aprendizaje que a continuación
se presentan.

33
Actividades de aprendizaje Recursos Productos
Explica en qué ocasiones es Pinter Les/Pinter John. Ficha de contenido
adecuado utilizar las siguientes Op. cit., pp. 40 y 41. que considere otras
instrucciones y cómo se utilizan: instrucciones de
- List despliegue.
- Set Escape

Describe cómo se utilizan y Pinter Les/Pinter John. Ficha de contenido


funcionan las instrucciones Locate y Op. cit., pp. 180 y 181. sobre las instrucciones
Seek . Locate y Seek.

Define para qué sirven las funciones Rubén Iglesias. Op. cit., p. Ficha de contenido
Seek () y Found() y explica cuál es la 30. acerca de las funciones
diferencia de la primera con la Seek y Found.
instrucción Seek.

Menciona cómo funcionan los Pinter Les/Pinter John. Ficha de contenido


índices en las bases de datos, qué Op. cit., pp. 47-50. sobre los índices.
diferencia hay entre los archivos idx
y cdx , y cómo se pueden crear y usar
índices.

Explique cómo funciona la Pinter Les/Pinter John. Ficha de contenido


instrucción Set Filter y por qué es Op. cit., pp. 45, 382 y383. acerca de los filtros.
importante la filtración en el análisis
del contenido de una tabla.
Proporciona también algunos
ejemplos de expresiones de filtro.

Realiza el ejercicio No. 7. Manual de prácticas y Ejercicio resuelto.


ejercicios.

2. ALTAS BAJAS Y CAMBIOS

Objetivo:
Dar de alta, modificar y eliminar registros, mediante la aplicación de instrucciones para agregar,
eliminar y modificar, con el fin de permitir la actualización por programa de bases de datos.

Una base de datos normalmente va cambiando de tamaño de acuerdo a las necesidades del
usuario. En ocasiones se agregarán nuevos registros, por ejemplo: para el caso de nuestra
situación de aprendizaje se puede requerir agregar más pacientes a la tabla correspondiente;
este proceso de alta de registros se conoce también como inserción de registros. Las
instrucciones que te permiten introducir dichos registros son Append blank e Insert que ya
estudiarás más a detalle.

Otras veces lo que se requiere es quitar registros completos, retomando el ejemplo, podrían
quitarse pacientes que tienen más de tres años de no hacerse un tratamiento; en este caso se
procede a la eliminación de registros. Dentro de Visual FoxPro y otros sistemas generadores
de bases de datos se definen dos tipos de eliminación llamadas lógica y física.

34
En la eliminación lógica se marca el registro que se desea eliminar y en la eliminación física se
aplica una instrucción a la tabla, después de la cual no es posible recuperar los registros
eliminados. Sin embargo, se puede desmarcar un registro elegido mediante la eliminación
lógica. Serás tú el responsable de identificar dichas instrucciones de eliminación de registros y
aprender a utilizarlas.

Existen también los casos en que se desea modificar sólo algunas partes de un(os) registro(s)
ya integrados a la base de datos. Siguiendo con el ejemplo, podría modificarse el peso de un
paciente, para hacer los cálculos correctos de anestesia, o quizás otras observaciones como
cuando a alguien le han diagnosticado recientemente diabetes, en general, datos importantes
que se deben considerar. También podrían aumentarse en un 10% el precio de los tratamientos
y se realizaría una modificación general. Para estos casos se cuenta con instrucciones que
permiten la modificación del contenido de los registros. Tales como replace y update, que
también estudiarás e implementarás.

Enseguida se presentan las actividades de aprendizaje que te permitirán cubrir los puntos que
se han mencionado.

Actividades de aprendizaje Recursos Productos


Describe el funcionamiento y la Rubén Iglesias. Op. cit., pp. Ficha de contenido
sintaxis de las instrucciones Append 11, 65 y 66. sobre append Blank e
e
Blank Insert . Insert.

Explica brevemente el Pinter Les/Pinter John. Ficha de contenido


funcionamiento de las instrucciones Op. cit., pp. 39, 388 acerca de delete,
Delete, Recall y Pack . Recall y Pack.

Define el funcionamiento de las Ayuda de Visual FoxPro Ficha de contenido


instrucciones Replace y Update, Presiona F1, elige Índice y sobre Replace o
proporcionando su sintaxis y digita: Update.
estableciendo además la diferencia en - Replace
el uso de una u otra. - Update, update –sql

Resuelve los ejercicios 8, 9 y 10. Manual de prácticas y Ejercicios resueltos.


ejercicios.

Genera un programa en Visual Sistema Generador de Programa Inserción


FoxPro que inserte un nuevo Bases de Datos de Visual de registros en blanco
registro en blanco a la tabla que FoxPro. de biblioteca.
contiene a las personas que puede
prestarse el material de biblioteca.

Elabora un programa que elimine el Sistema Generador de Programa Eliminación


registro creado en el programa Bases de Datos de Visual de registros de
Inserción de registros de biblioteca. FoxPro. biblioteca.

35
3. FUNCIONES DE REGISTROS

Objetivo:

Manipular registros, mediante la utilización de los comandos y funciones propias de ellos, con el fin de
obtener campos o registros nuevos.

El manejo de registros y sus campos muchas veces implica que se realicen operaciones sobre
los mismos, para lo cual existen funciones e instrucciones que nos permiten hacerlo de forma
inmediata y sin necesidad de que el programador genere más código. Este tipo de funciones se
conocen como de registro.

Para ilustrar en qué ocasiones se pueden aplicar, retomaremos nuestra situación de aprendizaje.
Si queremos saber cuántos pacientes son menores de 18 podemos utilizar la función count()
acompañada de la condicionante de la edad<18. La función nos libera de introducir contadores
o código adicional cada que se cumple la condición. Como ésta existen otras funciones que son
de gran ayuda para la implementación y simplificación del código.

Resuelve las siguientes actividades de aprendizaje que te permitirán conocer las principales
instrucciones y funciones para el manejo de registros.
Actividades de aprendizaje Recursos Productos
Describe el funcionamiento del Rubén Iglesias. Op. cit., p. Resumen acerca de la
comando Calculate, estableciendo 32. función Calculate.
su relación con las funciones de
registros.

Prepara una tabla con algunas de las Rubén Iglesias.Op. cit., p. Tabla de funciones de
funciones de registros que pueden 32. registros.
utilizarse en combinación con la
instrucción Calculate.

Resuelve la práctica No. 3. Manual de prácticas y Práctica resuelta


ejercicios.

Realiza un programa que permita Sistema Generador de Programa Inserción


insertar un nuevo libro (registro) en Bases de Datos de Visual de registro con
la tabla correspondiente, puedes FoxPro información de
utilizar los siguientes datos: biblioteca.
Fundamentos y modelos de Bases
de Datos.
Adoración de Miguel/Mario
Piattini.
2ª Edición
Alfaomega Grupo Editor S.A.
Colocación: C172

Elabora un programa que establezca Sistema Generador de Programa Mayor


a cuánto asciende el adeudo mayor Bases de Datos de Visual adeudo de biblioteca.
por multa en la tabla de las personas FoxPro.
autorizadas al uso del material.

36
¿QUÉ HE APRENDIDO?

Las siguientes actividades te permitirán evaluar el grado de aprendizaje adquirido hasta el


momento.

1. Indica si las siguientes expresiones son verdaderas o falsas.

( ) La visualización del contenido de la base de datos parcial o total se conoce como despliegue
de información.
( ) La instrucción LIST es la única que se utiliza para desplegar información en la consola.
( ) El comando Browse despliega los datos en ventana.
( ) La búsqueda de información se lleva a cabo únicamente por comandos de menú.
( ) Seek permite la búsqueda de registros en tablas indexadas.
( ) La función FOUND() permite encontrar registros en una tabla.

2. Explica la diferencia entre un archivo IDX y un archivo CDX.

3. ¿Para qué se utilizan los filtros en Visual FoxPro?

4. Proporciona tres ejemplos de expresiones filtro.

5. Relaciona las columnas correctamente:

Concepto Definición

( ) Append Blank a) Desmarca los registros seleccionados para


( ) Updatee liminación.
( ) Recall b) Inserta datos en una tabla.
( ) Insert c) Actualiza los datos de un registro.
( ) Pack d) Eliminación física de los registros.
e) Inserta un registro en blanco.

6. Proporciona la tabla final después de haber aplicado las siguientes instrucciones.

Cveaplicacion Rfc Clavetrat Fecha


A001 JULO560212 T002 23/12/99
A002 MAFC690328 T001 3/05/00
A003 JULO560212 T003 30/01/00
A004 MOHL950812 T001 12/11/99
A005 MOHL950812 T001 16/02/00

INSERT INTO aplicacion (cveaplicacion,rfc,cvetrat,fecha) ;


VALUES (A006, «LOPA651212», «T002»,06/01/00)

UPDATE aplicacion SET clavetrat= “T004”;


where cveaplicacion=”A005”

Delete for clavetrat = «T002»

Recall All

37
Delete for clavetrat = «T001»

Pack

Cveaplicacion Rfc Clavetrat Fecha

7. Selecciona la respuesta correcta:

( ) Proporciona el número de registros de una tabla que cumpla con la condición lógica sexo
= “F”.

a) count() b)calculate count(sexo)=”F” c)count for sexo=”F” to cuenta

( ) Detecta el número mayor del campo edad de la tabla Pacientes.

a) count() b) calculate max(edad) c) max (edad)

( ) Calcula el valor total del campo costo de la tabla Tratamientos.

a) sum (costo) b) sum() c) calculate sum(costo)

( ) Arroja el promedio de edades de la tabla Pacientes.

a) CALCULATE b) CALCULATE c) AVERAGE()


AVG(edad) AVERAGE(edad)

8. Realiza un programa que agregue un nuevo registro con información en todos sus campos
a la tabla del personal autorizado para el préstamo de libros de tu Centro de Servicios.

38
QUIERO SABER MÁS

Algunas de las instrucciones que se utilizan en los manejadores de bases de datos incluyendo
Visual FoxPro vienen del lenguaje SQL. Investiga qué instrucciones de SQL pueden ser
aplicadas a Visual FoxPro, para esto puedes entrar a la ayuda de Visual FoxPro, seleccionar
índice y digitar SQL, introducción a comandos; también, una vez seleccionado el folder índice
puedes verificar las funciones que inician con SQL (por ejemplo SQLCOMMIT() ). SQL es
tan poderoso que se utiliza en variados sistemas generadores de bases de datos.

Otros aspectos interesantes a repasar, ya que SQL es tan relevante, son:

• ¿De dónde surge SQL?


• ¿Cómo ha evolucionado?

Para lo cual te sugerimos retomes el libro Fundamentos y modelos de bases de datos de Miguel
Castaño y Piattini Velthuis, en las páginas 215 a 218.

A lo largo del texto se hace referencia a las ventajas de la tecnología Rushmore, te invitamos
a que entiendas de qué se trata, consultando uno de los libros de apoyo del curso: Iglesias,
Rubén. Visual FoxPro 5.0 Fundamentos y Técnicas de Programación, pp. 73 y 74.

Para investigar más a fondo este tema accesa a la siguiente dirección de Internet http://
www.facea.uchile.cl/intranet/uca/soporte/academia/ddocencia/c_labbe/foxpro/fp_indic.htm
en la secciones de “Manejo de una tabla” y “Operaciones en una tabla”.

39
¿QUÉ VOY A APRENDER?

UNIDAD IV
MANEJO DE INFORMACIÓN
POR PANTALLA
Objetivo de la Unidad:
Diseñar y construir interfaces de pantalla amigables para los programas
de bases de datos, mediante la aplicación de las instrucciones para el
diseño de presentaciones y pantallas, así como para la captura y
validación de los datos introducidos por el usuario, con el fin de
coadyuvar a mantener la integridad de la base de datos, desarrollar
aplicaciones susceptibles de ser utilizadas por usuarios no expertos y
mejorar el aspecto de las mismas.

Para cualquier sistema se requiere de una interfaz que permita al usuario trabajar de forma
sencilla y agradable en el mismo. Por lo tanto, la creación de dichas interfaces ocupan una
parte importante del diseño y del tiempo que se emplea en la implementación. Una buena
interface es la conclusión de todas las estructuras de manejo desarrolladas en la base de datos.
En los sistemas generadores de bases de datos se proporcionan las herramientas que permiten
la elaboración de dichas interfaces, también conocidas como formularios. Las herramientas
son básicamente los asistentes para la creación de formularios (que ya has trabajado en la
asignatura anterior) y el generador de formularios que nos permitirá diseñarlos, pero que
proporciona un mayor control al programador sobre los datos que lo conforman.
A través de esta unidad aprenderás a manipular la base de datos mediante los formularios,
proporcionando una interacción real al usuario final. Trabajarás con las propiedades de los
campos, y te valdrás de los eventos propios de los controles del formulario, creando, a través
del código de Visual FoxPro, nuevos métodos cuando sea necesario.
Finalmente, bajo la misma lógica de desarrollo realizarás ventanas de ayuda que por supuesto
no pueden faltar en cualquier interface, ya que son el medio por el cual el usuario se introduce
al manejo del sistema.
Los temas a cubrir en esta unidad son lo siguientes:
Pantallas

Existen de

Despliegue Control de captura Ayuda

Mediante Mediante

Títulos, Control
Control xx
Control de Formato
Control x
etiquetas y lim. de
props.des
cursor propiedades
campos rango

40
¿CÓMO APRENDO?

1. DISEÑO Y DESPLIEGUE DE PANTALLAS

Objetivo:

Diseñar y programar pantallas de captura de datos, mediante el conocimiento y aplicación de las


instrucciones o procedimientos para incorporar títulos y etiquetas, controlar el cursor y dar formato a las
mismas, para facilitar las operaciones sobre la base de datos.

La generación de pantallas no tiene que convertirse en un proceso complicado, de hecho en la


asignatura de Base de Datos I cubriste este tema a través del asistente de generación de
formularios. El problema con el que te puedes enfrentar cuando se realizan las pantallas por
este medio, es que estás sujeto a los parámetros de diseño del asistente, además de que si en
algún momento la pantalla no funciona como esperabas, es más complicado resolver los
problemas ya que muchas veces los métodos implementados no son transparentes al usuario.
Por esto, si quieres tener un control absoluto sobre la pantalla que diseñas el mejor método es
realizarla a través del generador de formularios, el cual te permite un contacto directo con los
datos y con los controles propios del formulario.

Dentro de los aspectos a cubrir en este tema están; el correcto uso de los controles de formulario,
tales como: etiquetas, títulos y campos, que son los que finalmente te proporcionan el control
sobre la información de la base de datos. Otro aspecto es el control del movimiento cursor
dentro del formulario, el cual se realiza mediante la definición del orden de los tabuladores de
los distintos controles del formulario. Por otro lado, todo lo referente a formato lo podrás
manejar a partir de las propiedades de los controles correspondientes.

Existen formas para simplificar el manejo de la información contenida en la base de datos, una
de ellas es la vista que estudiarás y que será uno de los ejes para la implementación de la
pantalla principal de nuestro sistema.

La realización de las siguientes actividades de aprendizaje te permitirá alcanzar el objetivo


inicialmente planteado.
Actividades de aprendizaje Recursos Productos
Explica la importancia de las Pinter Les/Pinter John. Ficha de contenido
propiedades para los objetos que Op. cit., pp. 211 y 212. sobre la Importancia
integran el formulario y para el de las propiedades en
formulario. los objetos del
formulario.

Elabora una tabla con las Pinter Les/Pinter John. Tabla acerca de las
propiedades más utilizadas de los Op. cit., pp. 252-257. propiedades más
objetos del formulario y su utilizadas en objetos
funcionamiento. de formulario.

Realiza una comparación entre Rubén Iglesias. Op. cit., pp. Ficha de contenido
consultas y vistas, estableciendo sus 42-49. sobre las vistas vs
similitudes en diseño y sus consultas.
diferencias en funcionamiento.

41
Actividades de aprendizaje Recursos Productos
Realiza el ejercicio 11. Manual de ejercicios y Ejercicio resuelto.
prácticas
Establece las diferencias y similitudes Pinter Les/Pinter John. Ficha de contenido
entre: etiqueta, cuadro de texto, cuadro Op. cit., pp. 221 y 225. sobre: etiqueta, cuadro
de edición, cuadro combinado y cuadro de texto, cuadro de
de lista, además de su relación con los edición, cuadro
campos de la base de datos. combinado y cuadro
de lista
Describe brevemente el proceso para Pinter Les/Pinter John. Descripción del
establecer las paradas de tabulador Op. cit., pp. 237 y 238. proceso de paradas de
dentro del formulario. tabulación.
Elabora un cuadro sinóptico con los Pinter Les/Pinter John. Cuadro sinóptico que
elementos que te permiten dar formato Op. cit., pp. 229,233,234, considere el formato al
al formulario, tomando en cuenta la 253 y 254. formulario y sus
herramienta de Visual FoxPro y las objetos.
propiedades de los objetos del
formulario.
Crea un vista que relacione la tabla del Sistema Generador de Vista de Biblioteca.
personal autorizado a préstamo de Bases de Datos de
material y la tabla de libros que Visual FoxPro
manejas en tu sistema de Biblioteca.
Puedes tomar los campos más
importantes del personal y agregar dos
o tres (los que requieras) campos para
identificar qué libros tiene en préstamo.
Cuida de establecer correctamente las
relaciones. Puedes tomar como
referencia el ejercicio No. 11 de tu
manual de prácticas y ejercicios.

2. CONTROL DE LA CAPTURA DE INFORMACIÓN POR PANTALLA


Objetivo:
Incorporar a las pantallas de captura mecanismos de control de la información, mediante el conocimiento
y aplicación de las instrucciones para restringir el tipo, tamaño y dominio de los datos, para coadyuvar
a mantener la integridad de la base de datos.
Una vez que hemos creado el diseño de la pantalla, a través del formulario se deben definir los
procedimientos que deseamos ejecuten cada uno de los controles que se establecen, para lo
cual aprenderemos a trabajar con los eventos correspondientes, creando en éstos métodos
bajo la lógica de programación estructurada y utilizando las instrucciones apropiadas para el
manejo del formulario.
Por ejemplo, podrás especificar qué va a hacer un botón del formulario cuando des un clic
sobre él, y podrás modificar su acción de acuerdo a lo que realmente requieras. Esto te permite
la libertad de establecer y controlar todas las acciones que consideres necesarias sin apegarte
a un esquema establecido.

42
La codificación no es el único medio de control en los formularios, también la correcta definición
del dominio permite la regulación de funcionamiento del mismo.

Las siguiente actividades te permitirán conocer y aplicar las instrucciones que requieres para
la creación de métodos en eventos, estableciendo a través de éstas y el dominio de la base de
datos el control que se requiere.

Actividades de aprendizaje Recursos Productos


Genera un cuadro sinóptico con las Rubén Iglesias. Op. cit., Cuadro sinóptico
propiedades de control de los campos pp. 191,193-195,219 y acerca de las
del formulario con su descripción, 220. propiedades de
tales como: ControlSource, Enabled, Ayuda de Visual FoxPro control.
Name, TabIndex, Value, Visible, Selecciona Propiedades,
RowSource, RowSourceType y elige Style y presiona F1.
Style, explica por qué se denominan
propiedades de control.
Explica qué son los métodos (eventos) Rubén Iglesias. Op. cit., Ficha de contenido
y describe cuáles son los más comunes pp. 166-169,196-203. sobre métodos.
para el formulario y sus controles.
Describe para qué se utilizan las Pinter Les/Pinter John. Ficha de contenido
propiedades de formulario: Op. cit., P.p. 249-259 acerca de las
- Release propiedades Hide y
- Hide Release y Load.
- Load
Estableciendo además sus diferencias.
Realiza los ejercicios No. 12 y 13. Manual de ejercicios y Ejercicios resueltos.
prácticas.

Elabora un resumen del concepto Piattini Mario. Op. cit., Resumen acerca de
Dominios y establece qué elementos pp. 129-131. dominio.
de las tablas utilizadas (Aplicación,
Tratamientos y Pacientes) forman
parte de los dominios de la base de
datos Consultorio.
Resuelve la práctica No. 4. Manual de Ejercicios y Práctica resuelta.
Prácticas.

Utilizando la vista que creaste para tu Sistema Generador de Formulario de


aplicación de Biblioteca, genera un Bases de Datos de Visual Biblioteca.
formulario para el manejo de la FoxPro.
información. El formulario debe
permitirte el movimiento entre los
registros existentes, además de
agregar o eliminar registros. Puedes
utilizar la técnica de arrastre
planteada en el ejercicio 12 y tomar la
práctica 4 como guía para la
elaboración de tu formulario.

43
3. DISEÑO DE PANTALLAS DE AYUDA

Objetivo:

Diseñar pantallas de ayuda y analizar estéticamente una pantalla, mediante el conocimiento y aplicación
de las instrucciones específicas y la aplicación de reglas generales de composición gráfica, para facilitar
el uso de la aplicación y mejorar su aspecto.

Una vez que se ha diseñado la pantalla principal debes proporcionar al usuario la información
necesaria para poder utilizar cada uno de los controles de la misma, esto lo logras mediante la
creación de pantallas de ayuda que no son otra cosa que ventanas de despliegue de información
que contienen la explicación de cada uno de los controles del formulario. Pero que son
indispensables en cualquier aplicación.

Este es un tema breve pero muy importante que lograrás comprender a través de las siguientes
actividades de aprendizaje.

Actividades de aprendizaje Recursos Productos


Describe las siguientes instrucciones Ayuda de Visual FoxPro Cuadro sinóptico con
en un cuadro sinóptico. Presiona F1, selecciona el las instrucciones.
- Set botón de Índice y escribe
- Set Path to las instrucciones a definir.
- Set Help to
- SetAll
- Help Id
- HelpContextId
- WhatThisButton
- WhatThisHelp
- WhatThisHelpId

Define también de qué forma puedes


utilizar las instrucciones anteriores
en la ejecución de la ayuda de tu
aplicación

Realiza la práctica No. 5. Manual de Prácticas y Práctica resuelta.


Ejercicios.

Explica la diferencia entre Tablas Rubén Iglesias. Op. cit., Ficha de contenido
dependientes y Tablas libres. pp. 7 y 8. acerca de las tablas
dependientes y libres.

Resuelve la práctica No. 6. Manual de Ejercicios y Práctica resuelta.


Prácticas.

Crea el módulo de ayuda para tu Sistema Generador de Módulo de Ayuda de


sistema de Biblioteca e intégralo a tu Bases de Datos de Visual Biblioteca integrado a
formulario. Puedes tomar como base FoxPro. formulario de
lo realizado en las prácticas 5 y 6 de Biblioteca.
tu manual de prácticas y ejercicios.

44
¿QUÉ HE APRENDIDO?

A continuación encontrarás unas actividades de evaluación para esta unidad que te permitirán
valorar tus avances hasta el momento.

1. Identifica el nombre del proceso de análisis que se está describiendo.

a) Es la pantalla que permite visualizar e insertar datos.

b) Sólo permiten la introducción de texto.

c) Es la propiedad que permite ligar un dato de una tabla con la caja de texto.

d) Es el evento que permite ejecutar instrucciones al momento de cargar una forma.

e) Contiene los datos de una tabla o más y permite actualizar los datos de las tablas sin
necesidad de ejecutarla nuevamente.

2. Responde brevemente lo siguiente:

a) Explica qué significa dominio en la base de datos.

b) Define las diferencias principales entre eventos y propiedades.

3. Relaciona correctamente las siguientes columnas:

Control Definición
( ) a) Permite varias líneas de texto y se utiliza para los campos
memo.
( ) b) Se utiliza para ejecutar instrucciones y su evento principal es
click.
( ) c) Posibilita la visualización del contenido de un campo.

( ) d) Despliega los elementos en forma de lista, como: valores,


matrices o campos.
( ) e) Funciona para introducir texto como etiqueta.

4. Selecciona la respuesta correcta:

( ) Activa la ayuda del programador en el formulario y desactiva la del usuario.

a) Set b) Set path to c) Set help to

( ) Permiten cambiar las características de los controles de un formulario.

a)Métodos b) Propiedades c) Eventos

45
( ) Se utilizan para crear la ayuda de una aplicación.

a) Vista b) Tablas dependientes c) Tablas libres

( ) Establece ayuda interactiva a los controles de un formulario.

a) HelpContextID b) SET c) WhatThisHelp

( ) Es la propiedad que establece el orden de tabulación en los controles de un formulario.

a) Tab b) TabIndex c) Orden de tabulación

5. Presenta a tu asesor el formulario de biblioteca que generaste en esta unidad, incluyendo


las pantallas de ayuda correspondientes. Describe además el proceso de creación en tu
sistema de Biblioteca incluyendo los siguientes aspectos:

- Vistas
- Formulario
- Pantallas de Ayuda
- Integración de ayuda al formulario

46
QUIERO SABER MÁS

Es importante la profundización del tema de formularios en Visual FoxPro para lo cual te


sugerimos consultes el documento proporcionado en Internet en la dirección http://
www.guegue.com.ni/free/emmysoft/vfp.html en el archivo formularios.zip.

A lo largo de la unidad también se desarrolló la implementación de la ayuda dentro de un


formulario. Sin embargo, esta ayuda se creó únicamente para explicar el funcionamiento de un
formulario, pero la ayuda puede utilizarse también para auxiliar al usuario o al programador
sobre otros aspectos de la programación. El siguiente texto te permite identificar los tres
tipos de ayuda que se pueden implementar. Identifícalos e investiga como implementar en tu
formulario los tipo de ayuda a los que se hace mención.

LOS TIPOS DE AYUDA QUE PUEDES USAR

Tu puedes crear tres tipos de Ayuda para tus • Los temas de ayuda estándares pueden
aplicaciones y hacer así más amigable tu también ser retomados del buscador de
presentación objetos para así documentar las propiedades
y métodos que se definen en los distintos
• La ayuda sensible al contexto se utiliza para módulos elaborados.
describir los elementos que conforman la
interface de tu aplicación. • Finalmente los temas de ayuda estándares
Se puede crear ayuda sensible al contexto pueden ser desplegados mediante la selección
para cajas de diálogo creadas por del botón de ayuda en la caja de diálogo o
formularios elaborados por el usuario o para en un control de la barra de herramientas.
formatos de acceso a la aplicación. Este tipo
de ayuda se puede desplegar a) dando click Cuando se da click en un botón de ayuda en una
en el signo de interrogación propio de la barra caja de diálogo o ventana de despliegue, la ayuda
de título y dando click posteriormente sobre se presenta en una ventana separada. Se puede
el control del que se desea la ayuda o también también asociar el tema de ayuda a un botón de
b) posicionando el cursor sobre el control y una caja de diálogo creándolo a través de las
presionando SHIFT-F1; en este último caso un funciones InputBox y MsgBox, además de que se
signo de interrogación flotante aparece sobre puede proporcionar temas de ayuda sobre los
el control que se seleccionó. errores resultantes de la utilización de los métodos
Se puede crear este tipo de ayuda para Raise. De forma similar se puede incluir un menú o
barras de herramientas. La ayuda sensible al un botón en la barra de herramientas para
contexto para estas barras se accesa desplegar un tema de ayuda.
presionando SHIFT-F1 y dando click en el
control correspondiente o seleccionando ¿Qué
es esto? en el menú de ayuda antes de
presionar el control sobre el que se desea
consultar.

47
¿QUÉ VOY A APRENDER?

UNIDAD V
PROCEDIMIENTOS

Objetivo de la Unidad:
Incorporar procedimientos (sub-rutinas u objetos) a los programas,
mediante el conocimiento y aplicación de sus componentes, estructura y
forma de relación con el programa principal, con el fin de minimizar el
volumen de código necesario y facilitar la comprensión y mantenimiento
del mismo.

En los tiempos donde sólo se ocupaban interfaces textuales difíciles de comprender y manejar,
con una pobre presentación, despliegue y edición de datos a veces incomprensibles y pantallas
austeras, se necesitaban crear líneas y líneas de instrucciones que a veces para el programador
representaban una pérdida de tiempo y se terminaba con un programa pesado en código,
diseñando la pantalla de interfaz de usuario hasta la impresión de un reporte.

Es por eso que en la actualidad los sistemas son pensados para los usuarios, en el manejo de la
interfaz, y para los desarrolladores, en métodos menos complicados de programar. No viene
de más convenir que los manejadores de bases de datos contienen todas las herramientas
necesarias para que nuestro sistema final cumpla con perspectivas que en tiempos anteriores
eran imposibles de cumplir, tales como: la presentación de un producto impecable, robustez y
soporte del sistema a niveles local y global (redes), y amigabilidad cumpliendo con los estándares
establecidos.

En Visual FoxPro sólo es necesario crear procesos que manejen los datos dentro de una consulta
o vista, e instrucciones que ejecuten un formulario o reporte por medio de controles. Es muy
importante recalcar que gracias a la programación de procedimientos y funciones dentro de
este sistema generador de bases de datos, es posible crear verdaderas pantallas de interface de
usuario y menos dolores de cabeza para los programadores.

Aunque el lenguaje de Visual FoxPro se basa en la programación de eventos, no son menos


importantes los procedimientos y funciones, ya que pueden ejecutarse desde cualquier evento
de un control que contenga un formulario, reporte, menú o función. Asimismo, con los conceptos
separados de la implementación de procedimientos o funciones y la programación de eventos,
podríamos hablar de una programación estructurada en términos de facilidad de unión y
ejecución de código en la creación de sistemas.

También es muy importante comprender el uso de variables entre procedimientos y funciones,


cómo se transfieren, si por valor o por parámetro (conceptos que entendidos pueden ser
herramientas muy poderosas), y que garanticen la funcionalidad y facilidad de uso de un sistema.

48
Complementarás tu aprendizaje con reglas de programación muy importantes, que te ayudarán
a ti y a otros a comprender con facilidad la lógica de un sistema, siendo estas reglas las que
establecen conceptos de estandarización, documentación y robustez del sistema.

El siguiente esquema muestra los temas a cubrir en esta unidad.

Procedimientos

Basándose en

Estructura Integración Ejecución o llamada

Utilizan A través de
Variables
locales y
globales Estandarización Documentación Pruebas

Mediante su

Transfencia

Como ves todo va enfocado hacia procedimientos, por lo que deseamos que con el desarrollo
de la teoría y la práctica propuestas llegues a manejarlos eficientemente.

49
¿CÓMO APRENDO?

1. CONCEPTO Y ESTRUCTURA GENERAL DE UN PROCEDIMIENTO

Objetivo:

Comprender el concepto, la utilidad y estructura de los procedimientos (sub-rutinas o clases de objetos)


a partir de la revisión de su aplicabilidad y componentes, para simplificar la estructura y reducir el
volumen de código y trabajo necesarios para instrumentar una aplicación.

Crear procedimientos y funciones es la forma más fácil de hacer que una pantalla funcione
correctamente según sus requerimientos. Sin la programación de código, el manejo de
información se vuelve un caos. Es importante utilizar conceptos de programación, ya que con
ello te darás cuenta de la utilidad de los procedimientos y las funciones dentro de una pantalla
de edición de datos y sabrás que no sólo es necesario usar la programación de eventos.

Es importante que entiendas que la programación de eventos y los procedimientos o funciones


no están peleados, podríamos decir que son los complementos perfectos para crear interfaces
maestras confiables y robustas.

Conocerás estructuras de procedimientos y funciones, a través de sus diferencias principales


de programación. Para el procedimiento, sus instrucciones iniciales, el cuerpo principal e
instrucciones finales lo complementarán, tal que contenga la capacidad de ejecutarse de cualquier
elemento con instrucciones de llamada, todo en Visual FoxPro.

A continuación te introducirás al mundo de los procedimientos desarrollando las actividades


de aprendizaje de este capítulo.

Actividades de aprendizaje Recursos Productos


Define qué es un procedimiento y Ayuda de Visual FoxPro Ficha de contenido
para qué se utiliza. Específica su Presiona F1, selecciona el sobre los
estructura e identifica las botón Índice y escribe: procedimientos.
instrucciones de: Encabezado, - procedimiento,
Declaraciones, Cuerpo principal y definición
Fin. - procedimientos,
crear

Define qué es una función y Ayuda de Visual FoxPro Ficha de contenido


establece sus diferencias con un Presiona F1, selecciona el acerca de las
procedimiento. Especifica su botón Índice y escribe: funciones.
estructura. - función definida por
el usuario, definición.
- Función

50
2. EJECUCIÓN O LLAMADA DE PROCEDIMIENTOS Y FUNCIONES

Objetivo:

Aplicar las formas de llamada o ejecución de procedimientos, mediante el estudio de la sintaxis de las
instrucciones respectivas, para incorporarlas a los programas de aplicación.

En el lenguaje de Visual FoxPro existen instrucciones que nos permiten realizar llamadas de
procedimientos o funciones. Éstas se realizan desde un control del formulario en el caso de los
programas; las llamadas para funciones pueden ser realizadas desde un reporte, el evento
correspondiente en el control del formulario, etiquetas y consultas.

Realizando las siguientes actividades de aprendizaje aprenderás la aplicación y sintaxis de las


instrucciones para la llamada o ejecución de los procedimientos y funciones dentro de un
sistema.
Actividades de aprendizaje Recursos Productos
Describe y explica la sintaxis de las Ayuda de Visual FoxPro Ficha de contenido
instrucciones que permiten llamar a Presiona F1, selecciona el sobre las llamadas a
procedimientos y funciones. botón Índice y escribe: funciones y
- Do procedimientos.
- Do <programa>
- Funciones, llamar

Resuelve el ejercicio 14. Manual de Prácticas y


Ejercicios. Ejercicio resuelto.

Realiza la práctica No. 7. Manual de Prácticas y Práctica resuelta.


Ejercicios.

Elabora un procedimiento que Sistema Generador de Programa principal y


calcule la suma total de los adeudos Bases de Datos de Visual procedimiento de
generados por multas en el momento FoxPro. cálculo de adeudo total
en que se corre el procedimiento. en Biblioteca.
Despliega el resultado en una
ventana temporal (usa wait widow).
Crea también el programa desde el
cual se ejecuta dicho procedimiento.
Puedes tomar como referencia el
ejercicio No. 14.

3. VARIABLES LOCALES Y GLOBALES


Objetivo:
Comprender las ventajas y aplicación de variables locales y globales en procedimientos, por medio de
una discusión del uso de memoria y la portabilidad del código, para reducir el consumo de recursos de los
programas y el trabajo implícito en la construcción de nuevas aplicaciones.

51
Uno de los aspectos indispensables en la programación de procedimientos es el manejo de
variables. De allí la importancia de entender los tipos de variables que se manejan y su campo
de acción. Es relevante definir cuándo una variable puede ser accesada por cualquier
procedimiento o función y cuándo son específicas de un procedimiento, lo cual se determina a
través de su declaración.
La siguiente actividad de aprendizaje te permitirá manejar los tipos de declaración de variables
dentro de los programas de Visual FoxPro.
Actividades de aprendizaje Recursos Productos
Establece la diferencia entre variable Ayuda de Visual FoxPro Ficha de contenido
local y variable pública, y su campo Presiona F1, selecciona el acerca de las
de acción en procedimientos y/o botón Índice y escribe: diferencias entre
programas principales. - local variables Locales y
- public. Públicas.
Pinter Les/Pinter John,
Op. cit., pp. 103, 115, 116,
433 y 434.

4. TRANSFERENCIA DE VARIABLES A PARÁMETROS DE PROCEDIMIENTOS Y


SUBPROGRAMAS

Objetivo:
Transferir valores de variables entre programas y procedimientos o subrutinas, a través del conocimiento
y aplicación de las reglas específicas, para el uso adecuado de las variables entre rutinas.
Continuando con el tema anterior, otro punto relevante acerca de las variables es que pueden
ser utilizadas en un procedimiento o función, a través de su transferencia por valor o referencia,
conceptos simples y muy importantes porque hacen posible controlar el envío de parámetros
entre los mismos. Resuelve las actividades de aprendizaje para que puedas comprender lo
antes mencionado.
Actividades de aprendizaje Recursos Productos
Explica ampliamente cómo se realiza Ayuda de Visual FoxPro Explicación sobre el
el paso de parámetros por variable o Presiona F1, selecciona el paso de parámetros
por referencia entre procedimientos, botón Índice y escribe set por valor y por
funciones y programa principal. udfparms. referencia.
Resuelve el ejercicio 15. Manual de Prácticas y Ejercicio resuelto.
Ejercicios.
Resuelve la práctica No. 8. Manual de Prácticas y Práctica resuelta.
Ejercicios.
Elabora un programa que aumente un Sistema Generador de Programa y función
10% el monto de adeudo por multa Bases de Datos de Visual incremento de adeudos
para todos los registros de la tabla del FoxPro. por multas de
personal autorizado a préstamos de Biblioteca.
material. Hazlo mediante la creación
de una función que reciba parámetros
por referencia.

52
5. INTEGRACIÓN DE PROGRAMAS

Objetivo:
Completar un ciclo de desarrollo de sistemas en equipo, incorporando reglas de estandarización de
pantallas y reportes, instructivos de operación para el usuario, documentación técnica y procedimientos
de prueba, con el fin de obtener una imagen de las complicaciones y responsabilidades implícitas en el
desarrollo de un sistema profesional.
Recuerda que antes de crear un sistema se toman en cuenta puntos importantes, desde el
diseño mismo hasta la liberación del sistema.
Para la elaboración de los procedimientos del sistema se establecen reglas de programación
tales como: formato de letra del código (mayúsculas, minúsculas), estandarización de los datos
y pantallas (tablas, campos, vistas, formularios e informes).
Paralelamente se tiene que realizar la documentación del sistema desde cómo funciona ( a
través incluso de manuales de usuario y para el programador), hasta la descripción del
funcionamiento del mismo código.
Una vez cubiertos estos puntos, se procede a las pruebas que nos permitan evaluar la
funcionalidad, facilidad de uso y todos lo factores de métrica y calidad necesarios que permiten
hablar de la robustez del sistema.
Las siguientes actividades de aprendizaje te proporcionarán las bases para que puedas
determinar la integración de los programas del sistema.
Actividades de aprendizaje Recursos Productos
Investiga los siguientes tipos de Pressman Roger S. Op. Resumen sobre los
documentación que se generan para cit. , pp. 210, 374, 376-379 tipos de
los sistemas de información y y 754. documentación.
descríbelos brevemente:
- Manual de Usuario
- Manual Preliminar de
operación/instalación
- Documentación del diseño
*Herramientas de
documentación.
Define brevemente los procesos de: Pressman Roger S. Op. Ficha de contenido
corrección, fiabilidad, eficiencia, cit., pp. 576-581. acerca de los Factores
integridad, facilidad de uso, facilidad y Métricas de Calidad
de mantenimiento, flexibilidad, del Software.
facilidad de prueba, portabilidad,
reusabilidad e interoperabilidad.
Todos estos son factores y métricas
utilizadas para probar que un software
es robusto y funciona óptimamente,
incluye también los factores de
estandarización y funcionalidad. Te
sugerimos analizar la tabla 17.1 de
Factores y Métricas de calidad.

53
Actividades de aprendizaje Recursos Productos
El formulario de Biblioteca creado es Formulario de Biblioteca. Manual de Usuario del
la ventana principal de interacción Pressman Roger S. Op. cit., Sistema de Biblioteca.
del sistema con el usuario y la parte p. 577. Cuestionario de
fundamental de tu sistema. Factores de Calidad.
Basándose en el funcionamiento de
éste elabora:
a) Un manual de usuario que
permita a cualquier usuario hacer
uso de tu sistema.
b) Un cuestionario con las
preguntas de los Factores de
calidad del software de Mc Call
resueltas con base en tu
perspectiva del sistema de
biblioteca creado; explica
también el porqué de tus
respuestas.

54
¿QUÉ HE APRENDIDO?

A continuación se presentan algunos reactivos que te permitirán evaluar el grado de aprendizaje


adquirido hasta el momento.

1. Relaciona las columnas correctamente:

Concepto Definición
( ) ENDPROC a) Regresa un valor dado un parámetro de entrada.
( ) Do b) Devuelve el control del programa al programa que
( ) PROCEDURE nombre llama.
( ) Return() c) Es la instrucción que finaliza un procedimiento.
( ) FUNCTION() d) Ejecuta el procedimiento en la ventana de comandos
( ) Declaraciones o en formulario
e) Es la definición de variables locales o públicas dentro
de un procedimiento.
f) Establece el inicio de un procedimiento

2. Verifica la sintaxis de las siguientes instrucciones e indica si son verdaderas (V) o falsas (F).

a) DO PROCEDURE miprocedimiento ( )

b) PROCEDURE miproc
.
.
ENDPROC ( )

c) PUBLIC private Listadevariables ( )

d) LOCAL Listadevariables ( )

e) SET UDFPARMS TO VALUE


STORE valor TO variable ( )

3. Selecciona la respuesta correcta:

( ) Es el grado en que un programa satisface sus especificaciones y consigue los objetivos de


la misión encomendada por el cliente.

a) Corrección b) Integridad c) Fiabilidad

( ) Es el esfuerzo requerido para modificar un programa operativo.

a) Facilidad de uso b) Facilidad de operación c) Flexibilidad

55
( ) Se refiere al uso de estructuras de datos y de tipos iguales a lo largo de todo el sistema.

a) Consistencia b) Estandarización en los datos c) Eficiencia en la ejecución

( ) La independencia funcional de los componentes del programa.

a) Autodocumentación b) Simplicidad c) Modularidad

( ) Son los conceptos que se utilizan en el cuerpo de un procedimiento.

a) Procedure miproc b) Procedure miproc c) Procedure miproc


Declaraciones Cuerpo principal Declaraciones
Cuerpo principal Declaraciones Endproc
Endproc Endproc

4. Identifica el nombre del concepto de acuerdo a la descripción brindada:

a) Se obtiene mediante la evaluación del conjunto de características y de posibilidades del


programa, la generalidad de las funciones que se entregan y la seguridad de todo el sistema.

b) Permite la introducción de parámetros para generar un resultado.

c) Orienta al usuario sobre el manejo del sistema.

d) Es el concepto que define a un software que cumple con todos los factores y métricas de
calidad establecidos.

e) Es la instrucción que permite enviar datos por valor o referencia.

5. Presenta a tu asesor el sistema de Biblioteca funcionando, incluyendo:

a) Los diferentes programas y procedimientos creados para su funcionamiento


b) El manual de usuario elaborado
c) Un análisis basado en el cuestionario de Mc Call realizado sobre la calidad del sistema
generado.

56
QUIERO SABER MÁS

Uno de los temas más complicados, cuando de procedimientos y funciones, se trata es quizás
el manejo de variables. No debes perder de vista que en este tema en particular se trabaja bajo
la lógica de la programación estructurada. Esto permite que los conceptos teóricos puedan
compartirse en los lenguajes que permitan este tipo de programación. Por esta razón y para
ampliar el tema de paso de variables, te invitamos a revisar el material correspondiente en el
libro Programación en Pascal de Arthur M. Keller, páginas 114-124.

Es importante que no observes el proceso de programación como algo aislado y propio de


Visual FoxPro, ya que muchos de los conceptos y prácticas que utilizas en éste son también
válidos para otros lenguajes, pues la programación estructurada no es exclusiva de Visual
FoxPro. Para que puedas realizar un comparativo y además establecer las similitudes que te
permitan en un futuro actuar en otros lenguajes, te sugerimos revisar la siguiente tabla
comparativa.

Procedimientos y su definición
Procedimientos en Visual FoxPro Procedimientos en Pascal
Definición Definición

El procedimiento imprime el valor de I, este El procedimiento imprime el valor de I y se


procedimiento se almacena como programa en una incluye como parte del programa principal que se
ventana independiente I.prg está ejecutando.

procedure I procedure I
I=10 begin
?I I=10;
endproc Writeln (‘I =’, I);
end

Llamada o ejecución Llamada o ejecución

Para ejecutarlo se utiliza la instrucción Do al inicio del Para ejecutarlo se escribe el nombre del procedimiento
programa. dentro del programa principal.

I;
Do I

Estructura del programa Estructura del programa

El siguiente código se guarda dentro del programa I.prg Esta es la estructura de un programa completo en Pascal
en donde no es necesario dividir en varios programas
Do I procedimientos y programa principal, si no que todo está
en un solo programa.
procedure I
I=10 Program impresión
?I Var I:integer
endproc
Procedure I
La siguiente instrucción se incluye desde cualquier programa begin
en el que se quiera ejecutar el procedimiento. I=10;
Writeln (‘I =’, I);
do c:\”I.prg” End;

Begin
I;
End

57
¿QUÉ VOY A APRENDER?

UNIDAD VI
IMPRESIÓN DE INFORMACIÓN

Objetivo de la Unidad:

Incorporar a los programas de bases de datos la posibilidad de generar


reportes impresos, mediante el conocimiento y aplicación de las
instrucciones para el diseño y uso de formatos de impresión, con el fin
de satisfacer las especificaciones de diseño.

Una manera de tener constancia del trabajo que se realiza a través de un sistema o de la
información que contiene, es a través de un medio escrito que puede ser de lo más variado. Los
más comunes se conocen como reportes y permiten presentar la información requerida bajo
un formato definido. Todos los sistemas deben contar con este tipo de salidas.

Imagina que en un lugar de trabajo existe un sistema que entre otras cosas lleva el registro de
las horas extras de cada trabajador en una quincena, y para el pago de las mismas se requiere
por un lado, una relación de los trabajadores que tuvieron horas extras y el total a pagar, y por
otro lado la impresión de los recibos individuales con el cálculo realizado para dicho pago y el
total. Obviamente este tipo de reportes debe haberse definido en el sistema para que el usuario
lo pueda ejecutar sin ningún problema. De no hacerlo, en vez de simplificarse las cosas se
complicarán, piensa en la persona que realiza el cálculo generando los recibos por separado y
copiando los datos del sistema, una locura ¿verdad? De situaciones como esta podemos recalcar
que la generación de reportes por un sistema es una cuestión indispensable.

A través de la presente unidad aprenderás a generar reportes a través del sistema generador
de bases de datos, aprovechando la información que la base de datos contiene y aplicando los
formatos necesarios para cubrir los requerimiento que se planteen. El diseño de reportes no es
algo nuevo para ti, puesto que ya lo manejaste en Base de Datos I a través del asistente
correspondiente. La meta en Base de Datos II, es que aprendas a realizar los reportes sin
necesidad de un asistente, definiendo tus propios formatos e introduciendo la codificación
necesaria para lograrlo.

Otro aspecto que abarcaremos es la impresión de etiquetas, que forma parte de la impresión de
reportes especiales y que es muy útil para ayudar a la clasificación de la información que se
imprime. Por ejemplo, si una editorial requiere mandar a sus suscriptores mensualmente la
revista “X” se imprimen las etiquetas con toda la información de cada suscriptor que está
registrado en la base de datos correspondiente, para poder enviarlas por correo, el tiempo que
tardan en generarse las etiquetas es el tiempo de impresión y no más.

58
Los reportes que se generan van en relación directa con la necesidad de cada usuario (empresa
o particular), por lo que el diseño de los mismos siempre estará en manos del encargado de
crear el sistema.

A continuación se presentan de forma esquemática los temas que se abarcarán durante la


unidad y que te permitirán alcanzar el objetivo de la misma.

Impresión

A través de

Formatos Comandos de Impresión Menús u otros

Al finalizar esta unidad contarás con los elementos necesarios para la generación de un sistema
completo, apoyado en la programación y el mayor aprovechamiento del sistema generador de
bases de datos elegido.

59
¿CÓMO APRENDO?

1. DISEÑO DE FORMATOS DE IMPRESIÓN


Objetivo:
Diseñar formatos de impresión, mediante el uso de las instrucciones, lenguajes o procedimientos específicos
del paquete, para presentar la información que exija la especificación.
Hasta este momento la generación de reportes ha sido para ti un proceso sencillo pero poco
profundizado, por lo que para poder programar aquí primero tendrás que aprender a crear y
utilizar los reportes sin necesidad de asistente, recuerda que el hacerlo te brinda la posibilidad
de adecuar la aplicación a tus requerimientos reales y de corregir los funcionamientos que no
se apeguen a lo deseado.
Existen procedimientos específicos en el sistema generador de base de datos que te permitirán
diseñar tus propios formatos de impresión, lo importante es no sólo que los conozcas, sino
también que los utilices y aproveches para así mas adelante poder reconocer en donde es
necesaria la programación de un procedimiento, programa o función, para la optimización de
la aplicación y en donde el sistema generador puede cumplir con lo inicialmente especificado.
Como reconocerás la generación de reportes es un proceso sencillo que no requiere de tanto
esfuerzo como las unidades anteriores, quizás también porque con lo visto hasta el momento,
esto resulta mas simple de lo que podría esperarse. Por eso en este tema se incluirá como
complemento la agrupación, que no es otra cosa que poder imprimir todos los registros de una
base de datos dada que cumpla con una cierta condición. La agrupación es muy importante en
la generación de reportes ya que te permite dar solución a situaciones como la siguiente: Se
necesita un reporte de todas las personas que están trabajando por honorarios para cierta
empresa y se debe incluir los datos completos de cada empleado, incluyendo su sueldo. En este
caso se forma un grupo que en el campo tipo_contratación registre honorarios, y se imprime
la información de todas las personas que cumplen la condición. Como ves la agrupación puede
resolver muchas situaciones que por su cotidianeidad se deben atender.
Enseguida se presentan las actividades de aprendizaje que te permitirán cubrir el objetivo del
tema inicialmente planteado.

Actividades de aprendizaje Recursos Productos


Menciona cuáles son los comandos Pinter Les/Pinter John. Ficha de contenido
del menú Informe y cómo funcionan. Op. cit., pp. 348-351. sobre el Menú
Informe.
Realiza un esquema donde Rubén Iglesias. Op. cit., pp.
identifiques las bandas del generador 262-263. Ficha de contenido
de reporte y explica para que se acerca del generador
utilizan. de reportes.

Explica en qué consiste la Ayuda de Visual FoxPro Ficha de contenido


agrupación en los reportes, y cómo Presiona F1, selecciona sobre la agrupación.
se realiza. índice y busca:
– agrupar datos

60
Actividades de aprendizaje Recursos Productos
Especifica cómo se crean e insertan Ayuda de Visual FoxPro Resumen acerca de las
las variables de memoria en los Presiona F1, selecciona variables de informe.
reportes. índice y busca:
– Variables del informe,
cuadro de diálogo.

Resuelve los ejercicios 16 y 17. Manual de prácticas y Ejercicios resueltos.


ejercicios.

Diseña un reporte en el cual se Sistema Generador de Reporte de Biblioteca


agrupen los datos de la vista de Bases de Datos de Visual agrupado por nombre
Biblioteca, basándote en las personas FoxPro del libro.
que tienen en préstamo un
determinado libro. Para lograr dicho
reporte puedes tomar como
referencia los procedimientos
realizados en los ejercicios 16 y 17.

2. COMANDOS DE IMPRESIÓN

Objetivo:

Construir procedimientos de impresión de reportes, mediante el conocimiento y aplicación de las


instrucciones específicas, para imprimir reportes en los formatos prediseñados.

De la misma manera que existen instrucciones específicas para la generación de formulario,


procedimientos, funciones y otros , también existen instrucciones propias de la generación de
reportes o informes como también se les conoce. Dichas instrucciones se aplican bajo la misma
lógica de programación hasta el momento trabajada, pero permiten manipular la impresión,
las ventanas que se presentan al usuario e incluso el tipo de reporte que se imprimirá.

Si en lugar de crear un procedimiento que permita elegir el reporte a imprimir y lo cargue en


la ventana de vista previa, utilizas la instrucción que te permite realizar todo esto en un solo
paso, comprenderás cuan importante es no sólo saber programar, sino también conocer y
saber utilizar las instrucciones, funciones o procedimientos ya creados en el sistema generador
de bases de datos, para la simplificación de cualquier implementación.

A continuación se proporcionan las actividades de aprendizaje que te permitirán identificarte


con las instrucciones más importantes dentro de la generación de reportes, para su
implementación en programas o procedimientos.

61
Actividades de aprendizaje Recursos Productos
Describe cómo trabaja la función Ayuda de Visual FoxPro Ficha de contenido
selected, proporcionando también su Presiona F1, selecciona sobre la función
sintaxis y un ejemplo. índice y busca selected. Selected.

Proporciona la explicación del Pinter Les/Pinter John. Ficha de contenido


funcionamiento y sintaxis de las Op. cit., pp. 363 y 364. acerca de la
siguientes instrucciones instrucción Report
- report form ... preview Form.
- report form ... to printer
[prompt]
Especifica qué diferencia existe en
poner o no el prompt en la última
expresión.

Define cómo funcionan la variable Ayuda de Visual FoxPro Resumen sobre


_pageno y la función date () Presiona F1, selecciona _pageno y date().
índice y busca:
- _pageno
- date()

Implementa un reporte que Sistema Generador de Reporte principal de


despliegue la información que se Bases de Datos de Visual Biblioteca.
requiere presentar en la bilblioteca FoxPro.
de tu centro de servicios. Para esto
es necesario que tengas detectado
qué tipo de reportes son necesarios
en dicha Biblioteca.

Realiza la práctica No. 9. Manual de Prácticas y Práctica resuelta.


Ejercicios.

3. IMPRESIÓN DE INFORMACIÓN

Objetivo:

Construir menús u otros mecanismos de control de impresión, mediante las técnicas aprendidas
anteriormente, para la impresión selectiva de reportes.

Una vez que se genera el diseño de formato de un reporte se requiere de la creación de un


medio que permita la impresión del reporte diseñado, este puede ser un menú, una barra de
herramientas o incluso una ventana con las opciones de impresión necesarias para el sistema,
cualquiera es válida, lo importante es que cumpla la finalidad con la que ha sido creada.

Para ilustrar un poco lo anterior recordemos que siempre que se desea imprimir un documento
ya diseñado (para el caso de un procesador de palabras), es necesario seleccionar la opción de
impresión (ya sea mediante un botón o mediante el menú) y dependiendo de la selección se
presenta una caja de diálogo en la que definimos las características de impresión que requerimos.
Esto mismo lo podemos facilitar al usuario en la aplicación que se ha implementando, por

62
ejemplo, poner un botón que mande a impresión y la caja de diálogo correspondiente. Este tipo
de aspectos son los que le dan calidad a una aplicación y son este tipo de herramientas las que
serán objeto del tema.

Una de las impresiones de reportes especiales que se utilizan es la generación de etiquetas, la


cual no difiere mucho de la impresión de reportes, ya que es solamente un tipo de reporte más,
sin embargo, será objeto de nuestra atención para poder así completar los objetivos inicialmente
planteados.

Resuelve las siguientes actividades de aprendizaje para que puedas comprender no sólo la
importancia de los temas, sino la forma de trabajarlos.

Actividades de aprendizaje Recursos Productos


Describe el funcionamiento de los Ayuda de Visual FoxPro Ficha de contenido
elementos que conforman los Presiona F1, selecciona índice sobre la impresión de
siguientes cuadros de diálogo: y busca: documentos.
- Imprimir informes - Imprimir informes
- Imprimir etiquetas - Imprimir etiquetas
- Imprimir, cuadro de diálogo - Imprimir, cuadro de
diálogo

Realiza la práctica No. 10. Manual de Prácticas y ejercicios. Práctica resuelta.

Elabora un formulario desde el cual Sistema Generador de Bases Formulario de


se pueda mandar a imprimir, a de Datos de Visual FoxPro Impresión.
gusto del usuario, los diferentes
tipos de reportes de Biblioteca
hasta el momento generados.

63
¿QUÉ HE APRENDIDO?

Resuelve las siguientes preguntas, mismas que te permitirán evaluar el grado de aprendizaje
adquirido hasta el momento.

1. Indica si las siguientes expresiones son verdaderas o falsas.

( ) Se utilizaría la variable de memoria Date() para insertar la fecha en un informe.

( ) Con el comando Informe rápido es posible crear un informe sin necesidad de seleccionar
una fuente de datos en el entorno de datos.

( ) La sección principal de un informe consta de los datos de la banda Detalle.

( ) No es necesario que se ordene una tabla o vista para agrupar datos.

( ) Se muestra la caja de diálogo de imprimir con la expresión Preview.

( ) Para la creación de un informe se selecciona la pestaña Documentos del Administrador de


Proyectos.

2. Responde lo siguiente:

a) Define la variable _pageno.

b) ¿Para qué se utilizan las variables de memoria dentro de los informes?

c) ¿Con qué control insertas una variable de memoria?

3. Relaciona las columnas correctamente:

Concepto Definición

( ) a) Manda a impresión un informe de manera

( ) Selected inmediata.

( ) report form informe.frx preview b) Se utilizan para la rotulación de folders o sobres.

( ) Etiquetas c) Permite insertar una etiqueta.

( ) report form informe.frx to d) Indica cuando un elemento está seleccionado.


printer e) Despliega un informe en pantalla como vista
previa.

64
4. Selecciona la respuesta correcta:

( ) Inserta el número de página a un informe

a) page b) _page c) _pageno

( ) Función que permite totalizar un campo.

a) suma() b) sum(campo) c) suma(campo)

( ) Opción que se activa al manejar etiquetas en el cuadro de diálogo Preparar página.

a) Orden al imprimir b) Columnas c) Área de impresión

( ) Opción del menú Archivo que da acceso a la selección de orientación de impresión de un


informe.

a) Preparar página b) Imprimir c) Vista preliminar

5. Explica el proceso de creación de los distintos tipos de reporte por agrupación abarcados,
anexando la impresión de dichos reportes y la descripción (documentación) de cómo se
maneja y pone en funcionamiento el proceso de impresión.

65
QUIERO SABER MÁS

Existen algunos sistemas cuya salida no es precisamente un reporte o informe como lo


conocemos, el tipo de salida que generan es muy diferente pero también se basa en la información
almacenada en un sistema de bases de datos como lo que conocemos. Este tipo de reportes
especiales como también se les denominan reciben el nombre de código de barras. Para que
puedas darte una idea de en qué consisten, te sugerimos leer en el libro Código de Barras de
Guillermo E. Erdei. 3a ed., México, Mc. Graw Hill, páginas 13, 25-30.

También puedes consultar la dirección de internet http://www.guegue.com.ni/free/emmysoft/


vfp.html en la sección de reportes para completar la información de los temas abarcados en
esta unidad.

Una de las herramientas avanzadas para la impresión de reportes es la selección mediante


criterios de los elementos de una tabla. Esto se puede lograr a través de la combinación de
instrucciones; logrando así reportes de mejor calidad. El siguiente texto te da algunas ideas de
cómo puedes implementar la generación de este tipo de impresiones.

Imprimiendo reportes o etiquetas mediante un criterio

Si tu reporte o etiquetas incluye agrupaciones o necesitas ordenar los datos, puedes utilizar varias de
las acepciones de la instrucción SELECT – SQL, para obtener los resultados que deseas.

A continuación se presentan dos ejemplos que te permitirán seleccionar los datos enviados a un reporte
o etiqueta.

a) Este ejemplo utiliza también los casos de agrupación válidos mediante GROUP BY y ORDER BY, así
como el comando REPORT FORM.

SELECT * ;
FROM tastrade!customer ;
WHERE customer.country = “Canada” ;
GROUP BY customer.region ;
ORDER BY customer.postal_code, customer.company_name ;
INTO CURSOR MyCursor
REPORT FORM MYREPORT.FRX

b) Para el siguiente ejemplo se utiliza el comando LABEL FORM

SELECT * ;
FROM tastrade!customer ;
WHERE customer.country = “Canada” ;
GROUP BY customer.region ;
ORDER BY customer.postal_code, customer.company_name ;
INTO CURSOR mycursor
LABEL FORM MYLABEL.LBX

La instrucción SELECT-SQL brinda otras posibilidades en la impresión de reportes y etiquetas.

66

Você também pode gostar