base de datos ii_cuadernillo de procedimientos

66
Cuadernillo de procedimientos para el aprendizaje CON LA COLABORACIÓN DE Claudia Adriana López González ( Ve r s ió n par a f as e i n i c i a l ) BASES DE DATOS II

Upload: orlando-tzec-may

Post on 30-Jun-2015

10.739 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Base de datos II_Cuadernillo de procedimientos

1

Cuadernillo de procedimientos para el aprendizaje

CON LA COLAB ORACIÓN DE

Claudia Adriana López González

(Versión para fase inicial)

BASES DE DATOS II

Page 2: Base de datos II_Cuadernillo de procedimientos

2

BASES DE DATOS IICuadernillo de procedimientos para el aprendizaje2000. Secretaría de Educación Pública/ Dirección General del BachilleratoCOSTO DE RECUPERACIÓN $ 12.00

Page 3: Base de datos II_Cuadernillo de procedimientos

3

ÍNDICE

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

UNIDAD I. Programación de Bases de Datos............................................................................................ 8Situación de aprendizaje......................................................................................................................................... 101. Conceptos generales........................................................................................................................................... 122. Estructura general de un programa............................................................................................................... 143. Procedimientos básicos...................................................................................................................................... 16¿Qué he aprendido?................................................................................................................................................. 18Quiero saber más..................................................................................................................................................... 20

UNIDAD II. Elementos básicos de programación de Bases de Datos............................................... 211. Uso de variables................................................................................................................................................... 222. Expresiones........................................................................................................................................................... 233. Instrucciones o comandos básicos................................................................................................................... 254. Control del flujo lógico del programa............................................................................................................ 26¿Qué he aprendido?................................................................................................................................................. 29Quiero saber más...................................................................................................................................................... 31

UNIDAD III. Manejo de registros................................................................................................................... 321. Comandos para la consulta de información.................................................................................................. 332. Altas bajas y cambios.......................................................................................................................................... 343. Funciones de registros........................................................................................................................................ 35¿Qué he aprendido?................................................................................................................................................. 37Quiero saber más...................................................................................................................................................... 39

UNIDAD IV. Manejo de información por pantalla................................................................................... 401. Diseño y despliegue de pantallas..................................................................................................................... 412. Control de la captura de información por pantalla..................................................................................... 423. Diseño de pantallas de ayuda........................................................................................................................... 43¿Qué he aprendido?................................................................................................................................................. 45Quiero saber más...................................................................................................................................................... 47

UNIDAD V. Procedimientos.............................................................................................................................. 481. Concepto y estructura general de un procedimiento.................................................................................. 502. Ejecución o llamada de procedimientos y funciones................................................................................... 513. Variables locales y globales............................................................................................................................... 514. Trasnferencia de variables a parámetros de procedimientos y subprogramas..................................... 525. Integración de programas................................................................................................................................ 52¿Qué he aprendido?................................................................................................................................................. 54Quiero saber más...................................................................................................................................................... 56

UNIDAD VI. Impresión de información....................................................................................................... 571. Diseño de formatos de impresión.................................................................................................................... 592. Comandos de impresión.................................................................................................................................... 603. Impresión de información................................................................................................................................. 61¿Qué he aprendido?................................................................................................................................................. 62Quiero saber más...................................................................................................................................................... 64

Page 4: Base de datos II_Cuadernillo de procedimientos

4

Page 5: Base de datos II_Cuadernillo de procedimientos

5

PRESENTACIÓN

BA

SES D

E D

ATO

S II

Si comparáramos a las Bases de Datos con libros éstas serían best sellers, ya queson los productos informáticos más utilizados y vendidos a lo largo del mundo yse siguen vendiendo, pues son el cimiento de la mayor parte de los sistemas deinformación que se manejan a través de las computadoras. Obviamente el productoque 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, entu escuela, en tu trabajo, incluso en tu comunidad, existen aspectos que algunavez has deseado que sean más rápidos, menos complicados, con menos papeleo ymás resultados, y quisieras contar con una varita mágica que te permitiera hacertodo esto; pero es posible que no se necesite tanto y que solamente se requiera deuna computadora con un buen sistema de información instalado, manejando todala información a través de una base de datos adecuada. Porque de nada serviría lacomputadora si no puedes hacer nada útil con ella.

Hasta el momento has aprendido a través de asignaturas como Bases de Datos Iy Sistemas de Información I la importancia de los sistemas y su implementacióna 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 porel sistema generador de bases de datos pero, ¿por qué quedarte únicamente a estenivel si puedes empezar a realizar implementaciones que cumplan con todos losrequerimientos que te has establecido?, ¿qué sucede cuando un procedimiento delos que creas a través del asistente no funciona correctamente?, ¿hay que volver acrearlo?, ¿no sería más sencillo conocer cómo trabaja dicho procedimiento y sólohacer las correcciones pertinentes? Por supuesto que sí, pero para esto es necesarioque conozcas de qué forma trabajan, qué tipo de codificación permite que cumplanlas funciones que te presentan.

La asignatura Bases de Datos II está encaminada a proporcionarte las herramientasde programación que te permitan resolver problemas como los planteados;retomaremos temas vistos en la asignatura de Lógica Computacional para lascuestiones de análisis y diseño, y empezaremos nuestro proceso de aprendizajepartiendo desde los primeros pasos para crear un programa, pasando por laidentificación de las primeras instrucciones y funciones, avanzando así en el gradode complejidad para, finalmente, crear una aplicación que resuelva la problemáticainicialmente 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 acercascada vez más a alcanzar el objetivo de esta capacitación que es: prepararte paradesarrollar procesos de trabajo del campo laboral de la Informática haciendo usode procedimientos, técnicas e instrumentos, además de generar actitudes devaloració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 materialesque se te brindan y apóyate en el asesor correspondiente. Al igual que en lasasignaturas anteriores trabajaremos con una guía de estudio y un manual deejercicios y prácticas, así como ejercicios que facilitarán la adquisición de los

Page 6: Base de datos II_Cuadernillo de procedimientos

6

conocimientos teórico-prácticos necesarios para que logres introducirte a la programación en basesde 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, perosobre todo te brinda una panorámica de la importancia que tienen los temas que se incluyen. En launidad número 1 se incluye, la actividad de aprendizaje, que no es otra cosa que el planteamiento delproblema 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, surelevancia y los cuadros de actividades que facilitarán tu proceso de aprendizaje (no sólo de la teoríaque requieres para programar, sino también de la práctica necesaria para lograrlo) a través de suconexió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 sirealmente 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, porqueeste curso tiene un avance completamente gradual, siempre será importante que tengas las basesanteriores 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 temasrelacionados con lo que se ha visto en la unidad, proporcionando para ello la referencia bibliográficao la dirección mediante la cual puedes tener acceso a la información correspondiente. Recuerda que elconocimiento es poder y mientras más domines un tema, más herramientas tendrás para resolver losproblemas 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 complementoindispensable para la aplicación de todos los conocimientos teóricos que se adquirirán. Lo que seestudia y no se practica es como si jamás se hubiese estudiado, ¿de qué te sirve tener dinero en la bolsasi no te lo puedes gastar? De nada, lo mismo practicando constantemente, cometiendo errores paraasí aprender las formas de solución en cada caso, y comentiendo aciertos que te dan la seguridad paraseguir adelante, aprendiendo no sólo lo que el curso abarque sino todo lo que en determinado momentonecesites. Los ejercicios y prácticas de tu manual están encaminados a la aplicación de los temas quese irán tocando a través de la guía. De tal manera que la experiencia práctica sólo será posible a travésde 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 ubicaen el eje de aplicación de la estructura de la Capacitación en Informática y corresponde al sextosemestre; es un punto de unión entre las asignaturas Bases de Datos I y Lógica Computaciona yProgramación y también de manera indirecta de Sistemas de Información. La importancia de laasignatura radica precisamente en la unión de los conceptos de bases de datos y la programaciónestructurada, proporcionando así un mayor número de herramientas de desarrollo, para aplicacionesreales; partiendo de lo elemental y dejando así las bases que te permitan la elaboración de aplicacionescon una complejidad mayor.

Page 7: Base de datos II_Cuadernillo de procedimientos

7

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

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 deprogramación, mediante el conocimiento de su estructura y elementos básicos, las instrucciones para el manejo deregistros, la construcción de procedimientos y la preparación de reportes en pantalla e impresos, para desarrollaraplicaciones sencillas e integrarse a equipos responsables del desarrollo de sistemas complejos.

Sistemas deInformación I

Sistemas deInformación II

Bases de Datos II

Aplicaciones gráficascon programas

integrados

Bases de Datos II

Aplicacionesespecíficas con

programas integrados

Introducción a lasRedes

EJEBÁSICO

EJE DEAPLICACIÓN

EJECOMPLEMENTARIO

Lógica Computacionaly Programación

Relación directa

Relación indirecta

Page 8: Base de datos II_Cuadernillo de procedimientos

8

PROGRAMACIÓN DE BASES DE DATOS

Objetivo de la Unidad:

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

UNIDAD IUNIDAD IUNIDAD IUNIDAD IUNIDAD I¿QUÉ VOY A APRENDER?

Para poder hablar de programación de bases de datos, tenemos que remitirnos a las diferentestécnicas de análisis, diseño y programación que existen y de éstas tomar las que más se adecuena nuestras necesidades. Como posiblemente recordarás, algunas de las técnicas mencionadasfueron 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 secomplementó la información para lograr un panorama integral de los requerimientos quedeben cubrirse para la implementación de un sistema de bases de datos. A lo largo de estaunidad haremos un repaso de los conceptos más importantes hasta ahora vistos e iremosenfocá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 aprogramar directamente en la computadora, después de haber escuchado brevemente elplanteamiento del problema. Los sistemas de información logrados de esta manera la mayorparte 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 detodas las necesidades del sistema, del tipo de usuario que lo utilizará, de los aspectos no sólotécnicos sino incluso económicos y sobre todo esto se realiza un diseño detallado que cubratodos los puntos analizados, entonces se contará con la garantía de que el sistema implementadotendrá el alcance deseado. Para tal fin es necesario tomar en cuenta las técnicas de análisis ydiseño de sistemas (las cuales recordaremos a través de esta unidad) e identificar aquellas quenos sirvan para la implementación de un sistema de información que elaboraremos (mismoque 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 cualquierimplementación de bases de datos relacionales. El sistema generador de bases de datos con elque se trabajará es Visual FoxPro (el cual ya se utilizó en Base de Datos I), sin embargo, esimportante que reconozcas que la teoría de análisis, diseño, normalización, y técnicas deprogramación, así como mucho de lo que a lo largo de las unidades se presentará, no esexcluyente para otros sistemas generadores de bases de datos o para otros sistemas deinformación en general.

En esta unidad repasaremos también las técnicas de programación estructurada y orientada aobjetos que trabajaste en �Lógica Computacional y Programación�, y puntualizaremos a partir

Page 9: Base de datos II_Cuadernillo de procedimientos

9

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

Una vez definida la técnica de programación se procederá al establecimiento de la estructurageneral de un programa, aprendiendo a reconocer las partes principales de éste. Empezaremosa identificar cómo asignar valores a las variables que se utilizan, a realizar funciones de distintostipos dentro del programa y elaborar cálculos o analizar situaciones basándose en expresionesaritméticas, lógicas e incluso relacionales.

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

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 lasactividades sugeridas (ya que son la base para el desarrollo de los temas) y resuelvas las prácticasy ejercicios sugeridos.

Todo sistema de información debe tener una aplicación práctica real de acuerdo a las necesidadesplanteadas; las aplicaciones pueden ser muchas y muy variadas, incluso tú en este momentopuedes estar pensando en alguna, por ejemplo un control de las direcciones y teléfonos de tusamigos o un sistema que te permita controlar sueldos, puestos, asistencias, permisos, en ellugar donde trabajas o incluso, un sistema que te permita llevar el registro de la producciónlograda por mes, con las ganancias o pérdidas que esto implique. En cada lugar encontraremosdistintos requerimientos y por lo tanto, los más variados sistemas de información. Para aterrizarlos conocimientos que a lo largo del curso abarcaremos es necesario plantear una situaciónreal que implique la creación de un sistema de información en bases de datos relacionales, lacual 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 establecidasen 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 productode calidad que te permita plantear de forma práctica todos los conocimiento adquiridos através del esfuerzo de investigación y análisis que realizarás a lo largo de la guía.

Sistema de base de datos

Análisis Diseño Técnicas de Programación

Normalización Orientada a objetos Estructurada

Programas

Estructura Procedimientos

Requieren de

UtilizaComo

Genera

Mediante

Page 10: Base de datos II_Cuadernillo de procedimientos

10

SITUACION DE APRENDIZAJE

El consultorio odontológico VázquezAguilar requiere de un sistema que le permita llevar unmejor control de sus pacientes, de los tratamientos que reciben y sus costos, con la finalidad deagilizar algunos procesos que son repetitivos pero importantes.

Un aspecto relevante es el registro de los pacientes que se atienden, ya que la mayor parte deellos realiza distintos tratamientos o se convierten en pacientes regulares, por lo que esimportante contar con sus datos generales. En el consultorio el comprobante de pago principales 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 aplicarony sus costos, así como el total a pagar, ya que todos estos datos difícilmente se pueden incluircompletos en el recibo de honorarios. Una de las ventajas de un documento con las característicasya 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 completoDirecciónCódigo PostalTeléfonoRFCSexoEdadPesoEdo. CivilObservaciones

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álculosde anestesia y tipos de tratamientos y, por último, en observaciones anota información que lepermita evaluar de manera concreta al paciente: las alergias, padecimientos crónicos oenfermedades como diabetes, hipertensión u otras.

Otra parte importante del sistema es la que maneja los tratamientos y costos, ya que son elcomplemento 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 tratamientosbásicos como obturación de resinas y amalgamas, extracciones, endodoncias, prótesis, placastotales y radiografías, entre otros tratamientos de carácter general. A continuación se presentandichos tratamientos con sus costos correspondientes.

• Endodoncias (se cobran por conducto)Pulpotomía $100.00Un conducto (dientes) $250.00Tres conductos (molares) $750.00

• Coronas de acero cromo $120.00

• Profilaxis (limpieza)Profunda $150.00Superficial $100.00

Page 11: Base de datos II_Cuadernillo de procedimientos

11

� Aplicaciones tópicas de fluor $150.00� Blanqueamiento de dientes $3000.00� Obturación con amalgamas y resinas $100.00� Extracciones

Piezas temporales $80.00Piezas permanentes $100.00

� IncrustacionesLiga de plata $270.00Oro $800.00Porcelana $850.00

� Unidad de prótesis fija (se cobra por unidad)Metal acrílico $400.00Metal porcelana $850.00Jacket acrílico $220.00Jacket metal acrílico $400.00Jacket porcelana $850.00

� Prótesis removiblesMetal acrílico (se cobra por unidad) $200.00

� Placas parciales acrílico2 a 4 piezas $700.005, 6 y 7 piezas $1200.008, 9, 10 y 11 piezas $1600.00

� Placas parciales porcelana2 a 4 piezas $1800.005, 6 y 7 piezas $3100.008, 9, 10 y 11 piezas $4900.00

� Placas parciales de valplastUnilateral $1800.00Bilateral $3600.00

� Placas totalesAcrílico $2000.00Porcelana $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 nopresente un manejo complejo ya que la persona que lo utilizará no es experta en el uso de lacomputadora.

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

Page 12: Base de datos II_Cuadernillo de procedimientos

12

1. CONCEPTOS GENERALES

Objetivo:

Ubicar la programación de bases de datos en el contexto del desarrollo de sistemas, mediante un repasode los conceptos y técnicas de análisis y diseño de sistemas y de programación para identificar las técnicasde 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 eldiseño del mismo. Contrariamente a lo que muchos programadores piensan, analizar aspectoscomo identificación de necesidades, viabilidad, especificaciones o diseño de datos oprocedimientos es más una inversión que una pérdida de tiempo, ya que si desde un principiose analizan los aspectos que a lo largo del camino influirán en el desarrollo del sistema, cuandose presente una situación a resolver ya se contará con las herramientas necesarias para darsolución efectiva y, por lo tanto, se puede continuar avanzando hasta ver terminado el proyectoplanteado inicialmente.

Como tú mismo reconocerás, el análisis del sistema no está referido únicamente al softwareque se va a desarrollar sino también a aspectos como: estructuras, tiempos, cuestiones decostos, viabilidad, asignación de funciones (personas involucradas), establecimiento derestricciones 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, cuandodesde 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 analizarony cubrieron todos los aspectos que pueden influir en el desarrollo del sistema, debes hacer lasconsideraciones 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 dedatos que se va a requerir en la implementación del sistema, las relaciones entre los principaleselementos estructurales y los procedimientos que integrarán dichos elementos, es en estepunto donde se da la definición del tipo de programación que se va a utilizar, e incluso seelaboran 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 aseguir en el diseño de una base de datos en dicho sistema. Lo primero que debes saber es quebase de datos relacional y tabla no son sinónimos, como recordarás, el primero se refiere a unconjunto de tablas relacionadas que se manejan como un todo, mientras el segundo esindispensable de otras tablas. Los pasos que se van a cubrir a lo largo del curso son:

1. Determinar el propósito de base de datos2. Desarrollar el diagrama entidad-relación de la base de datos3. Precisar las tablas y campos necesarios4. Establecer las relaciones5. Perfeccionar el diseño

¿CÓMO APRENDO?

Page 13: Base de datos II_Cuadernillo de procedimientos

13

Un aspecto relevante en el manejo de bases de datos relacionales se encuentra en las reglas denormalización, que ya has revisado en otras asignaturas, por lo que se dará un repaso a estepunto 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 laprogramación estructurada y la orientada a objetos. La técnica de programación que sedesarrollará durante el curso es la estructurada ya que permite al nuevo programador desarrollaruna estructura mental básica para su formación. Sin embargo, y como te darás cuenta a travésVisual 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 yadesarrollados y que simplemente se incorporarán de manera transparente en nuestro desarrolloestructurado. Por lo tanto es muy importante que sepas identificar sus similitudes y diferenciaspara 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 temasque se te han mencionado, para que puedas además aplicarlos en el desarrollo de tus propiossistemas.

Actividades de aprendizaje Recursos ProductosMenciona y define cada una de lasetapas del análisis de sistemas

Especifica por qué es importante laetapa de diseño para cualquiersistema, y explica de manera concisalos 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 modeloEntidad-Relación (E/R), identificacuáles son sus principales elementosy proporciona un ejemplo que tepermita comprender este tipo demodelado.

Realiza el ejercicio No. 1.

Expresa brevemente qué es la teoríade normalización y cuáles son suformas.

Pressman, Roger S.Ingeniería del Software, unenfoque práctico. 3ª ed.,México, McGraw-Hill, pp.155-165

Pressman, Roger S. Op. cit.,pp. 329-376

Piattini, Mario/Adoraciónde Miguel. Fundamentos ymodelos de Bases de Datos. 2ªed., México, Alfaomega, pp.103-114 y 266-273.

Manual de ejercicios yprácticas.

Piattini, Mario/Adoraciónde Miguel. Op. cit., pp. 273-287.

Ficha de contenidoque considere lasetapas del análisis desistemas.

Ficha de contenidoacerca del diseño enlos sistemas.

Ficha de contenido dediagramas Entidad-Relación.

Ejercicio resuelto.

Resumen sobre lateoría de lanormalización.

Page 14: Base de datos II_Cuadernillo de procedimientos

14

Actividades de aprendizaje Recursos ProductosRevisa el ejemplo de normalizaciónpropuesto e identifica las formas denomalización en la base de datosestablecida para VisualPro.

Resuelve los ejercicios No. 2 y 3.

Describe cuáles son las diferenciasmás obvias entre la programaciónestructurada y la orientada a objetos.

Realiza un análisis de la informaciónque se requiere para el control de labiblioteca de tu Centro de Servicios.Toma en cuenta los siguienteaspectos:1. Datos que se necesitan conocer

para el manejo de los libros conque se cuenta.

2. Información sobre las personas alas que se realizan préstamos dematerial (alumnos, maestros opersonal del centro).

3. Tiempo de préstamo, fecha deentrega y fecha de recepción delmaterial.

4. Consecuencia por exceder eltiempo de préstamo: multas osanciones y sus montos por día,etc.

Elabora el diagrama entidad-relaciónde tu biblioteca, basándote en lainformación obtenida.

Establece las tablas normalizadas dela información planteada en eldiagrama entidad-relación de labiblioteca.

Pinter Les/Pinter John.Visual FoxPro 3.0 y 5.0Manual de Programación,pp. 50 y 51.

Manual de ejercicios yprácticas.

Pressman, Roger S. Op. cit.,pp. 252-270 y 358-363.

Personal del Centro deServicios que puedaproporcionarte lainformación que requieres.

Análisis de la informaciónde biblioteca.

Diagrama entidad-relaciónbiblioteca.

Ficha de contenido queconsidere las formas denormalización entablas.

Ejercicios resueltos.

Ficha de contenidosobre programaciónestructurada y laorientada a objetos.

Análisis de lainformación.

Diagrama entidad-relación biblioteca.

Tablas normalizadasde biblioteca.

Page 15: Base de datos II_Cuadernillo de procedimientos

15

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, atravé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ónde lo que se está codificando, no sólo por parte del programador sino también de aquellos queesté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 comoya tendrás oportunidad de trabajar, para el caso de Visual FoxPro existen algunas variacionessobre esta estructura en particular.

Por ejemplo, en Visual FoxPro no se requiere de encabezados formales o propios de lasinstrucciones del código del sistema; pero se puede agregar a los programas como encabezadode la documentación referente al nombre del programa, su objetivo y quien lo elaboró; sideseas agregar información adicional lo puedes hacer ya que esto realmente dependerá de tupropio estilo o necesidad.

Otro aspecto diferente con el que te enfrentarás en Visual FoxPro es que no es necesario quela definición de variables y constantes globales se realice al inicio del programa, sin embargosí se recomienda, ya que si la variable en algún momento se escribe mal el compilador lainterpreta 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 delprograma 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 programaprincipal (no así en el caso de los procedimientos o funciones), por lo que los elementos decierre 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, yempezar con la programación en Visual FoxPro.

Page 16: Base de datos II_Cuadernillo de procedimientos

16

3. PROCEDIMIENTOS BÁSICOS

Objetivo:

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

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

1. Captura2. Depuración3. Compilación4. Ejecución

De éstos el que podemos identificar de forma inmediata es el proceso de captura, pues serefiere a la inserción del código que forma el programa. En el caso de Visual FoxPro el procesode captura se realiza en la ventana de Programas que se obtiene seleccionando Administradorde Proyectos, la pestaña Código y el botón Nuevo o Modificar, si ya existe el archivo.

Actividades de aprendizaje Recursos ProductosDescribe con tus propias palabras lossiguientes elementos de unprograma:

- Encabezados- Constante- Variable- Expresión- Comando- Procedimiento- Función.

Explica cómo trabaja Visual FoxProcon las variables.

Resuelve la práctica No. 1.

Ayuda de Visual Fox ProPresiona F1, seleccionaíndice y digita de acuerdo acada caso:

- Encabezado, agregaren el asistente para ladocumentación

- Constante, asignarvalores a

- Variable, definición- Comando, definición- Procedimiento,

definición- Procedimientos de

función definidos porel usuario

- Función, definición.

Pinter Les/Pinter John.Op. cit., pp. 174-176.

Manual de ejercicios yprácticas.

Ficha de contenidoacerca de loselementos dePrograma.

Ficha de contenidosobre las variables deVisual FoxPro.

Práctica resuelta.

Page 17: Base de datos II_Cuadernillo de procedimientos

17

Por su parte, el proceso de compilación permite pasar el código generado por el usuario alenguaje de máquina y en ocasiones a lenguaje ensamblador; será parte de tu empresa identificarde qué forma trabaja el compilador de Visual FoxPro.

Mientras tanto, en el proceso de depuración se pueden identificar errores de sintaxis, que alirse 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 queponer en funcionamiento el programa que se realizó. Visual FoxPro cuenta con sus propiasherramientas 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 sistemasgeneradores 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 sepueden generar programas ejecutables con la extensión .EXE que pueden correrse sin necesidadde 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 presentanlas 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 ProductosDefine cómo se realizan los procesosde ejecución y compilación en VisualFoxPro.

Explica los siguientes pasos para laelaboración de un programa,incluyendo las instrucciones con susintaxis, a través de las cuáles serealizan en Visual FoxPro.· Depurar· Compilar· Ejecutar

Describe el proceso de generación deuna aplicación y su relación con lageneración de ejecutables.

Genera la base de datos y las tablascorrespondientes a través delDiseñador de Bases de Datos deVisual FoxPro, estableciendotambién sus relaciones. Puedestomar como ejemplo la práctica No.1 de tu Manual de prácticas y ejercicios.

Pinter Les/Pinter John.Op. cit., p. 171

Ayuda de Visual FoxProPresiona F1, seleccionaÍndice y digita losiguiente en cada caso:· Depurar, definición· Debug· Compilar· Compile· Ejecutar programas· Do

Pinter Les/Pinter John.Op. cit., pp. 84-86

Tablas normalizadas debiblioteca y el sistemagenerador de Bases deDatos de Visual FoxPro5.0.

Ficha de contenidoacerca de la ejecución ycompilación en VisualFoxPro.

Ficha de contenidosobre la depuración,compilación y ejecuciónen Visual FoxPro.

Ficha de contenidoacerca de la generaciónde aplicaciones yejecutables.

Base de Datos debiblioteca en VisualFoxPro.

Page 18: Base de datos II_Cuadernillo de procedimientos

18

A continuación encontrarás unas actividades de evaluación para esta unidad que te permitiránvalorar 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 clientey la información recogida se organiza en un documento deconceptos del sistema. ______________________

c) A través de este proceso se evitan inversiones en sistemasque 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 interfazy 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

( ) Procedimientoc)&& 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ónb) Verificaciónc) Depuraciónd) Fraductor

¿QUÉ HE APRENDIDO?

Page 19: Base de datos II_Cuadernillo de procedimientos

19

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

a)Aplicacionesb) Ejecutablesc) Independientesd) Mixtos

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

a) Capturab) Codificaciónc) Compilaciónd) Interpretación

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

a) Compilaciónb) Depuraciónc) Generación de .Exed) Ejecución

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

• Análisis de los datos• Modelado (diagrama entidad-relación)• Tablas y Normalización.• Creación de la B.D.

Page 20: Base de datos II_Cuadernillo de procedimientos

20

QUIERO SABER MÁS

Otra técnica de programación aprovechada por Visual FoxPro es la orientada a eventos, que esun modelo de programación que hace énfasis en el código de evento, en lugar del códigosecuencial empleado en la programación por procedimientos, para que lo vayas comprendiendote 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 deldiseño de un sistema de bases de datos de una situación real, el cual encontrarás en la direcciónde 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 datospuedes consultar la dirección http://www.inei.gob.pe/cpi/bancopub/libfree/lib607/n00.htm.

Page 21: Base de datos II_Cuadernillo de procedimientos

21

ELEMENTOS BÁSICOS DE PROGRAMACIÓNDE BASES DE DATOS

Objetivo de la Unidad:

Manejar las operaciones básicas y los elementos básicos de los programasde bases de datos, mediante la aplicación de las reglas para el uso devariables y constantes, la construcción de expresiones y las instruccionesde control de entrada-salida y de flujo lógico, con el fin de utilizarlascorrectamente en la construcción de programas.

UNIDAD IIUNIDAD IIUNIDAD IIUNIDAD IIUNIDAD II

¿QUÉ VOY A APRENDER?

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 ylos 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 veceshasta que se cumpla una condición o también, elegir entre opciones distintas e incluso decidirqué 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 situacionescomo las ya mencionadas, sin olvidar que todo se abordará bajo las estructuras que planteaVisual FoxPro que es el Sistema Manejador de Bases de Datos utilizado.

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

Recuerda que seguimos manejando la situación de aprendizaje planteada inicialmente, por loque los nuevos conceptos van encaminados a dirigirte en el proceso de solución de dichasituación, mediante esta guía y el Manual de ejercicios y prácticas.

Programa

Variables

Cuenta con

Expresiones Comandos Flujo lógico

Asignaciónde

valores

Funcionesde

conversiónAritméticas Lógicas

Para De tipo De A través de

Lecturay

escritura

Inst.de

selección

Aperturay

cierre

Comandosde

control

Comandosde

selección

Controlde

pantalla

Page 22: Base de datos II_Cuadernillo de procedimientos

22

¿CÓMO APRENDO?

1. USO DE VARIABLES

Objetivo:

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

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

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

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

Impuesto IVA = 1.15Costo 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 formamanual.

Otra herramienta importante que podemos utilizar son las funciones, las cuales son un conjuntode instrucciones que generan como salida un valor único una vez introducidos los parámetrosde entrada. Dichas funciones pueden ser propias de Visual FoxPro o también pueden sergeneradas 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 generarfunciones, sin embargo, hasta este momento lo indispensable es que conozcas algunas de lasmá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 losdatos, campos o variables a introducir en lafunción.

Y puede utilizarse dentro de otras instrucciones.

Page 23: Base de datos II_Cuadernillo de procedimientos

23

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

• 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 losaspectos de este subtema.

2. EXPRESIONES

Objetivo:

Evaluar y utilizar expresiones de diferentes tipos, mediante el estudio y aplicación de las reglas deconstrucció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 conconstantes, variables, cadenas o campos, entre otros. Has utilizado expresiones desde queaprendiste a sumar hasta la fecha. Las expresiones pueden ser de tipo aritmético, lógico yrelacional.

Actividades de aprendizaje Recursos ProductosMenciona y explica brevemente lascinco formas de asignación devalores a variables que se utilizan enVisual FoxPro.

Realiza una tabla con un mínimo decuatro funciones por cada una de lassiguientes clasificaciones:

- Búsqueda- Cálculos en tablas- Tratamiento de caracteres- Manipulación de fechas- Arreglos

Recuerda la sintaxis de la función,nombrefunción()

Elabora una tabla con las funcionesde conversión entre variables enVisual FoxPro y proporciona unejemplo distinto al que proporcionala ayuda por cada función.

Pinter Les/Pinter John.Op. cit., pp. 175-177.

Iglesias, Rubén. VisualFoxPro 5.0 Fundamentos yTécnicas de Programación.3ª ed., México, Alfaomega,pp. 29-32,51-58.

Iglesias, Rubén. Op. cit., p.15.

Ayuda de Visual FoxProF1, Índice, Nombre de laFunción, Ejemplos.

Resumen queconsidere lasasignaciones devalores a variables.

Tabla de las funcionesde Visual FoxPro.

Tabla de �Variables deconversión en VisualFoxPro�.

Page 24: Base de datos II_Cuadernillo de procedimientos

24

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 deprocedencia. Algunos ejemplos de expresiones aritméticas son los siguientes:

Suma=5 + 5Multisuma=6*7+9Álgebra=a4-8b*8cParéntesis=(7+5)/((5-1)*9)

También existen las expresiones lógicas, este tipo de expresiones son básicas dentro de laprogramació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 yNOT, y como quizás recuerdes (de tus clases de matemáticas) cada una tiene su propiocomportamiento como veremos a continuación:

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, quese utiliza para construir condiciones de comparación de variables, constantes y campos, entreotros. Manipulan valores numéricos y de otros tipos para producir valores lógicos. Losoperadores que se utilizan son >, <, >=, <=, <> e =. Este tipo de expresión se puede ejemplificarde la siguiente manera:

Costo > 100Costo < 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. Enseguidase presentan las actividades de aprendizaje que te permitirán reforzar y complementar lo vistohasta el momento.

And Or NotE E S E E S E ST T T T T T T FT F F T F T F TF T F F T TF F F F F F

Actividades de aprendizaje Recursos ProductosExplica cómo funciona elGenerador de Expresiones y loselementos que lo conforman.

Describe brevemente el uso de losoperadores aritméticos + y � parael caso de datos numéricos y tipocarácter.

Elabora una tabla con el orden depreferencia de los operadoresaritméticos y proporciona tresejemplos.

Resuelve el ejercicio No. 4.

Pinter Les/Pinter John. Op.cit., pp. 5 y 371.

Pinter Les/Pinter John. Op.cit., pp. 177-178.

Ayuda de Visual FoxProPresiona F1, seleccionaÍndice, digita operadores,numéricos.

Manual de ejercicios y prácticas.

Ficha de contenidosobre el generador deExpresiones.

Ficha de contenidoque considere el uso deoperadores aritméticosen datos numéricos ytipo carácter.

Tabla sobre laprocedencia deOperadoresaritméticos.

Ejercicio resuelto.

Page 25: Base de datos II_Cuadernillo de procedimientos

25

3. INSTRUCCIONES O COMANDOS BÁSICOS

Objetivo:

Aplicar las instrucciones mínimas necesarias para construir un programa, mediante el uso de los comandoso instrucciones para iniciar, terminar y controlar la pantalla de entrada-salida, con el fin de observar elcomportamiento 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 seconoce a aquel del cual se ejecutan los diferentes módulos del sistema. Este tipo de instruccionesse conocen más propiamente como de apertura y cierre.

Por darte un ejemplo, en algunos lenguajes de programación estructurada, el programa principalpuede 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 sistemasgeneradores de bases de datos similares, es que en éstos el programa principal no requiere deinstrucciones o comandos que indiquen el inicio o fin del programa, no así cuando se trata deprocedimientos, funciones o comandos como verás mas adelante a detalle. Aún cuando no sepuede identificar como un encabezado de programa principal, te recomendamos que al iniciodel 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 sistemaes el control de la pantalla. Lo primero es definir de qué pantalla se está hablando, si de laprincipal de Visual FoxPro conocida como consola o de una ventana de entrada y salida dedatos, ya que involucran un manejo distinto. En el caso de la consola se usan instruccionessimples que permiten visualizar datos de salida provenientes de consultas o variables. Esimportante recalcar que la consola no es un medio de lectura, es decir, que es posible desplegarinformació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 decreación de formularios y aprenderás a programar las instrucciones requeridas para cada unode 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 seutilizan para desplegar los datos de salida en la consola o las diferentes ventanas. Manejarcorrectamente este tipo de instrucciones te evitará muchos problemas en el despliegue de lainformación que lo requiera.

Entre los más comunes se encuentran los comandos de Display o Display Fields, Browse oBrowse Fields, ? o Print; más las instrucciones de ejecución de los reportes y formulariosdentro de los programas o la ventana de Comandos. Debe tomarse en cuenta que cada reporteo formulario posee su propio código, el cual trabajaremos posteriormente.

Page 26: Base de datos II_Cuadernillo de procedimientos

26

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

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

Actividades de aprendizaje Recursos ProductosDescribe la sintaxis deprocedimientos y funciones, eidentifica los elementos de aperturay cierre.

Elabora una tabla con lasinstrucciones de entrada y salida dedatos que pueden utilizarse en VisualFoxPro.

Explica brevemente las principalescaracterísticas y funciones de losformularios, incluye cuál es lainstrucción que permite la ejecucióndel formulario.

Investiga cómo se utilizan lassiguientes instrucciones de escrituraen Visual FoxPro y proporciona unejemplo:

- Display- Browse- ?

Proporciona mediante una tabla lasinstrucciones de lectura másutilizadas para formularios yventanas, con su descripción y unejemplo.

Resuelve los ejercicios No. 5 y 6.

Ayuda de Visual FoxPro .Presiona F1, seleccionaÍndice y digita�procedimientos, crear� y�funciones, crear definidospor el usuario.

Pinter Les/Pinter John.Op. cit., pp. 181,182.

Pinter Les/Pinter John.Op. cit., pp. 208-216.

Ayuda de Visual FoxProPresiona F1, seleccionaÍndice y digita display,Browse y?

Ayuda de Visual FoxPro .Presiona F1, seleccionaÍndice y digita This,Thisform yThisformset.

Manual de Prácticas yEjercicios.

Ficha de contenidosobre las instruccionesde Apertura y Cierreen Procedimientos yfunciones.

Tabla de lasinstrucciones deentrada y salida deVisual FoxPro.

Ficha de contenidoacerca de losformularios.

Ficha de contenidoque considere lasprincipalesinstrucciones deescritura o despliegueen Visual FoxPro.

Tabla sobre lasprincipalesinstrucciones delectura.

Ejercicios resueltos.

Page 27: Base de datos II_Cuadernillo de procedimientos

27

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 instruccionesde condición, repetición, iteración y selección de casos, para la captura de tablas y la construcción deprogramas más complejos.

A fin de completar todas las instrucciones que integran los elementos básicos de la programaciónde base de datos, no se deben pasar por alto las instrucciones de selección (los famosos If �s quetú mismo aprenderás más adelante), ya que te permiten la ejecución de varios comandosdependiendo del resultado de una expresión lógica. Este tipo de instrucciones lo encuentrasen 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 tusamigos y quisieras calcular la edad promedio de las amigas que están registradas, no aplicaríasla función promedio() sobre el campo edad para toda la base, porque incluirías las edades de loshombres; necesitas primero seleccionar los registros cuyo sexo sea �femenino� y después aplicarla función. Las instrucciones que te permiten hacer este tipo de discriminación son precisamentelas de selección y como ves son indispensables, ya que en cualquier momento del funcionamientodel sistema se requerirá de una toma de decisión.

Ahora bien, también existen comandos que permiten la repetición de instrucciones conformea una condición lógica establecida. Dicha condición puede incluir una variable que se incrementedentro 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 elcampo sexo, necesitas recorrer todos los registros de la base de datos hasta encontrar el finalde archivo e ir seleccionando los que cumplan con la condición. Lo que utilizarías en este casosería un ciclo, el cual puedes implementar, mediante un scan o un while, entre otros, que porsupuesto 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 interrogantepueden ser �n� y se necesita algo mas que un if o ifs anidados para cubrir las distintasposibilidades; éstos se pueden resolver a través de instrucciones de selección de casos comoCASE la cual ejecuta el conjunto de comandos de la expresión condicional que se evalúa comoverdadera (.T.).

Por ejemplo, si a una pregunta se tienen 4 distintas soluciones y para cada solución existe unaacción distinta, esto se puede implementar mediante un case. En el caso de un cajero automáticola pregunta podría ser:

¿Qué operación desea realizar?1) Retirar efectivo2) Consultar su saldo3) Cambiar nip4) Salir

Page 28: Base de datos II_Cuadernillo de procedimientos

28

Donde por supuesto cada opción implica una operación distinta. Como ves las instruccionesde selección de casos pueden simplificarte mucho la programación.

A continuación se presentan las actividades de aprendizaje que te permitirán aprender ypracticar las instrucciones mencionadas.

Actividades de aprendizaje Recursos ProductosIdentifica las siguientesinstrucciones de control de flujo:

- If- While- For- Scan

A partir de éstas elabora una tablaen la que incluyas su sintaxis, ladescripción de su funcionamiento yun ejemplo.

Explica cuáles son las ventajas ydesventajas entre utilizar el WHILEy utilizar el FOR.

Describe cómo se utiliza lainstrucción scan, incluyendo sus tresdiferentes formas deimplementación; proporciona unejemplo

Menciona para qué se utiliza lainstrucción Case, proporcionandoademás su sintaxis y un ejemplo.

Realiza la práctica 2.

Elabora un programa que analice lafecha de entrega y recepción de loslibros que se prestan, calcula si seadeuda o no por multa y a cuántoasciende, poniendo dicho monto enun campo correspondiente al adeudo.Debes cubrir los siguientes puntos:· Realiza el cálculo para todos los

registros de la tabla en la quetienes a las personas autorizadaspara préstamo de material.

· Documenta tu programa con loscomentarios correspondientes.

· Para la elaboración de tuprograma puedes tomar comoreferencia la práctica No. 2 de tumanual de prácticas y ejercicios.

Pinter Les/Pinter John.Op. cit., pp. 173,178 y 179.

Rubén Iglesias. Op. cit.,pp.80-82.

Pinter Les/Pinter John.Op. cit., pp. 46, 47 y178.

Ayuda de Visual FoxProPresiona F1, seleccionaÍndice y digita case.

Manual de prácticas yejercicios.

Sistema Generador deBases de Datos de VisualFoxPro y Base de Datosde Biblioteca

Tabla de instruccionesde control másutilizadas.

Ficha de contenido�WHILE VS FOR�.

Ficha de contenidosobre la instrucciónSCAN.

Ficha de contenidoacerca de lainstrucción Case.

Práctica resuelta.

Programa que calculeadeudos por multa delpréstamo enBiblioteca.

Page 29: Base de datos II_Cuadernillo de procedimientos

29

Enseguida se presenta un conjunto de actividades que te permitirán evaluar el grado deaprendizaje 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=FalseJ 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

¿QUÉ HE APRENDIDO?

Page 30: Base de datos II_Cuadernillo de procedimientos

30

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éntalomediante los comentarios en el programa. Utiliza alguna de las instrucciones de control deflujo.

Page 31: Base de datos II_Cuadernillo de procedimientos

31

Para que puedas reconocer que todo lo que se ha manejado hasta aquí son los principios básicosde la programación estructurada, te invitamos a revisar el Capítulo 2 del libro Programación enPascal 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 condichos asistentes te recomendamos revisar la unidad IV de tu guía de Bases de Datos I.

QUIERO SABER MÁS

Page 32: Base de datos II_Cuadernillo de procedimientos

32

Registros

Consultas Bajas Altas Cambios Funciones

Desplieguey

búsqueda

Índices yfiltros

Eliminación Inserción Modificación

Se pueden realizarcon

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

MANEJO DE REGISTROS

Objetivo de la Unidad:

Instrumentar las operaciones fundamentales sobre los registros de labase 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 finde incorporar estas capacidades a los programas y satisfacer lasespecificaciones de diseño.

UNIDAD IIIUNIDAD IIIUNIDAD IIIUNIDAD IIIUNIDAD III

¿QUÉ VOY A APRENDER?

En base de datos, el lugar donde se guarda la información correspondiente a una entidad seconoce como registro; la presente unidad pretende abarcar los temas correspondientes al manejoen 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 filtrodeterminado o basándose en los índices correspondientes, también pueden realizarse operacionessobre 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 lapresente unidad está especialmente dedicada a introducir los conceptos e instrucciones que tepermitirán, a través de la programación, manejar los registros tal y como sabes que se puedenutilizar.

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

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

Page 33: Base de datos II_Cuadernillo de procedimientos

33

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 utilizarestas capacidades en el desarrollo de programas.

El despliegue de información del contenido de una tabla no es muy diferente a los tipos dedespliegue que has visto hasta el momento. De hecho los únicos que cambian son los argumentoscon los que se combinan las instrucciones vistas, sin embargo, también éstos ya han sidoconsiderados en las actividades de aprendizaje que has realizado. No obstante existe unainstrucción que no hemos visto por ser muy específica de tablas, dicha instrucción es List quedespliega los datos de una tabla en una área de trabajo actual, pero en forma de listado, esdecir, a lo largo de la ventana y de forma continua. Para la correcta utilización de esta instrucciónse requiere de la combinación de esta con otras instrucciones que conocerás y que van a ser demucha 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 ocampos, ya sea para su despliegue o para realizar operaciones sobre los mismos. En estos casosse habla de búsqueda de información, para lo cual se cuenta con instrucciones que permitenesta búsqueda de acuerdo a un criterio establecido. Una de las más comunes es Locate, ya quepuede 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 ventajasque cada instrucción ofrece. También existen funciones ya creadas en Visual FoxPro que puedesutilizar 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 labase de datos aún cuando estos últimos cobran importancia por sí mismos, ya que los índicesson archivos que se utilizan para determinar el orden de los registros de una tabla dependiendode un requerimiento establecido. Es importante que sepas cómo se establecen, su utilidad ycómo se clasifican para que puedas hacer un uso correcto de ellos. Muchas veces el correctoestablecimiento de un índice permite salvar la integridad de una tabla.

A fin de complementar debemos decir que existe una herramienta muy importante la cualpermite clasificar y discriminar la información contenida en la base de datos, dicha herramientase encuentra en los filtros que muchas veces se apoyan en los índices establecidos y se utilizancuando se desea visualizar información con ciertas características. Por lo tanto, se dice que losfiltros 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 permitenrealizar 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ónse presentan.

¿CÓMO APRENDO?

Page 34: Base de datos II_Cuadernillo de procedimientos

34

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 delusuario. En ocasiones se agregarán nuevos registros, por ejemplo: para el caso de nuestrasituació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. Lasinstrucciones que te permiten introducir dichos registros son Append blank e Insert que yaestudiarás más a detalle.

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

Actividades de aprendizaje Recursos ProductosExplica en qué ocasiones esadecuado utilizar las siguientesinstrucciones y cómo se utilizan:

- List- Set Escape

Describe cómo se utilizan yfuncionan las instrucciones Locate ySeek.

Define para qué sirven las funcionesSeek() y Found() y explica cuál es ladiferencia de la primera con lainstrucción Seek.

Menciona cómo funcionan losíndices en las bases de datos, quédiferencia hay entre los archivos idxy cdx, y cómo se pueden crear y usaríndices.

Explique cómo funciona lainstrucción Set Filter y por qué esimportante la filtración en el análisisdel contenido de una tabla.Proporciona también algunosejemplos de expresiones de filtro.

Realiza el ejercicio No. 7.

Pinter Les/Pinter John.Op. cit., pp. 40 y 41.

Pinter Les/Pinter John.Op. cit., pp. 180 y 181.

Rubén Iglesias. Op. cit., p.30.

Pinter Les/Pinter John.Op. cit., pp. 47-50.

Pinter Les/Pinter John.Op. cit., pp. 45, 382 y383.

Manual de prácticas yejercicios.

Ficha de contenidoque considere otrasinstrucciones dedespliegue.

Ficha de contenidosobre las instruccionesLocate y Seek.

Ficha de contenidoacerca de las funcionesSeek y Found.

Ficha de contenidosobre los índices.

Ficha de contenidoacerca de los filtros.

Ejercicio resuelto.

Page 35: Base de datos II_Cuadernillo de procedimientos

35

En la eliminación lógica se marca el registro que se desea eliminar y en la eliminación física seaplica una instrucción a la tabla, después de la cual no es posible recuperar los registroseliminados. Sin embargo, se puede desmarcar un registro elegido mediante la eliminaciónlógica. Serás tú el responsable de identificar dichas instrucciones de eliminación de registros yaprender 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 unpaciente, para hacer los cálculos correctos de anestesia, o quizás otras observaciones comocuando a alguien le han diagnosticado recientemente diabetes, en general, datos importantesque se deben considerar. También podrían aumentarse en un 10% el precio de los tratamientosy se realizaría una modificación general. Para estos casos se cuenta con instrucciones quepermiten la modificación del contenido de los registros. Tales como replace y update, quetambién estudiarás e implementarás.

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

Actividades de aprendizaje Recursos ProductosDescribe el funcionamiento y lasintaxis de las instrucciones AppendBlank e Insert.

Explica brevemente elfuncionamiento de las instruccionesDelete, Recall y Pack.

Define el funcionamiento de lasinstrucciones Replace y Update,proporcionando su sintaxis yestableciendo además la diferencia enel uso de una u otra.

Resuelve los ejercicios 8, 9 y 10.

Genera un programa en VisualFoxPro que inserte un nuevoregistro en blanco a la tabla quecontiene a las personas que puedeprestarse el material de biblioteca.

Elabora un programa que elimine elregistro creado en el programaInserción de registros de biblioteca.

Rubén Iglesias. Op. cit., pp.11, 65 y 66.

Pinter Les/Pinter John.Op. cit., pp. 39, 388

Ayuda de Visual FoxProPresiona F1, elige Índice ydigita:

- Replace- Update, update �sql

Manual de prácticas yejercicios.

Sistema Generador deBases de Datos de VisualFoxPro.

Sistema Generador deBases de Datos de VisualFoxPro.

Ficha de contenidosobre append Blank eInsert.

Ficha de contenidoacerca de delete,Recall y Pack.

Ficha de contenidosobre Replace oUpdate.

Ejercicios resueltos.

Programa Inserciónde registros en blancode biblioteca.

Programa Eliminaciónde registros debiblioteca.

Page 36: Base de datos II_Cuadernillo de procedimientos

36

3. FUNCIONES DE REGISTROS

Objetivo:

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

El manejo de registros y sus campos muchas veces implica que se realicen operaciones sobrelos mismos, para lo cual existen funciones e instrucciones que nos permiten hacerlo de formainmediata y sin necesidad de que el programador genere más código. Este tipo de funciones seconocen 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 contadoreso código adicional cada que se cumple la condición. Como ésta existen otras funciones que sonde gran ayuda para la implementación y simplificación del código.

Resuelve las siguientes actividades de aprendizaje que te permitirán conocer las principalesinstrucciones y funciones para el manejo de registros.

Actividades de aprendizaje Recursos ProductosDescribe el funcionamiento delcomando Calculate, estableciendosu relación con las funciones deregistros.

Prepara una tabla con algunas de lasfunciones de registros que puedenutilizarse en combinación con lainstrucción Calculate.

Resuelve la práctica No. 3.

Realiza un programa que permitainsertar un nuevo libro (registro) enla tabla correspondiente, puedesutilizar los siguientes datos:

Fundamentos y modelos de Basesde Datos.Adoración de Miguel/MarioPiattini.2ª EdiciónAlfaomega Grupo Editor S.A.Colocación: C172

Elabora un programa que establezcaa cuánto asciende el adeudo mayorpor multa en la tabla de las personasautorizadas al uso del material.

Rubén Iglesias. Op. cit., p.32.

Rubén Iglesias.Op. cit., p.32.

Manual de prácticas yejercicios.

Sistema Generador deBases de Datos de VisualFoxPro

Sistema Generador deBases de Datos de VisualFoxPro.

Resumen acerca de lafunción Calculate.

Tabla de funciones deregistros.

Práctica resuelta

Programa Inserciónde registro coninformación debiblioteca.

Programa Mayoradeudo de biblioteca.

Page 37: Base de datos II_Cuadernillo de procedimientos

37

¿QUÉ HE APRENDIDO?

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

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

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 desplieguede 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.

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

Page 38: Base de datos II_Cuadernillo de procedimientos

38

Delete for clavetrat = «T001»

Pack

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 camposa la tabla del personal autorizado para el préstamo de libros de tu Centro de Servicios.

Cveaplicacion Rfc Clavetrat Fecha

Page 39: Base de datos II_Cuadernillo de procedimientos

39

Algunas de las instrucciones que se utilizan en los manejadores de bases de datos incluyendoVisual FoxPro vienen del lenguaje SQL. Investiga qué instrucciones de SQL pueden seraplicadas 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 índicepuedes verificar las funciones que inician con SQL (por ejemplo SQLCOMMIT() ). SQL estan 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 MiguelCastañ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 invitamosa 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.htmen la secciones de �Manejo de una tabla� y �Operaciones en una tabla�.

QUIERO SABER MÁS

Page 40: Base de datos II_Cuadernillo de procedimientos

40

Pantallas

Despliegue Control de captura Ayuda

Títulos,etiquetas ycampos

Control decursor

Formato Control xpropiedades

Control xprops.desControl xlim. derango

Existen de

Mediante Mediante

MANEJO DE INFORMACIÓNPOR PANTALLA

Objetivo de la Unidad:

Diseñar y construir interfaces de pantalla amigables para los programasde bases de datos, mediante la aplicación de las instrucciones para eldiseño de presentaciones y pantallas, así como para la captura yvalidación de los datos introducidos por el usuario, con el fin decoadyuvar a mantener la integridad de la base de datos, desarrollaraplicaciones susceptibles de ser utilizadas por usuarios no expertos ymejorar el aspecto de las mismas.

UNIDAD IVUNIDAD IVUNIDAD IVUNIDAD IVUNIDAD IV¿QUÉ VOY A APRENDER?

Para cualquier sistema se requiere de una interfaz que permita al usuario trabajar de formasencilla y agradable en el mismo. Por lo tanto, la creación de dichas interfaces ocupan unaparte importante del diseño y del tiempo que se emplea en la implementación. Una buenainterface 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 permitenla elaboración de dichas interfaces, también conocidas como formularios. Las herramientasson básicamente los asistentes para la creación de formularios (que ya has trabajado en laasignatura anterior) y el generador de formularios que nos permitirá diseñarlos, pero queproporciona 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 loscampos, y te valdrás de los eventos propios de los controles del formulario, creando, a travésdel 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 supuestono pueden faltar en cualquier interface, ya que son el medio por el cual el usuario se introduceal manejo del sistema.

Los temas a cubrir en esta unidad son lo siguientes:

Page 41: Base de datos II_Cuadernillo de procedimientos

41

1. DISEÑO Y DESPLIEGUE DE PANTALLAS

Objetivo:

Diseñar y programar pantallas de captura de datos, mediante el conocimiento y aplicación de lasinstrucciones o procedimientos para incorporar títulos y etiquetas, controlar el cursor y dar formato a lasmismas, 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 laasignatura de Base de Datos I cubriste este tema a través del asistente de generación deformularios. El problema con el que te puedes enfrentar cuando se realizan las pantallas poreste medio, es que estás sujeto a los parámetros de diseño del asistente, además de que si enalgún momento la pantalla no funciona como esperabas, es más complicado resolver losproblemas 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 esrealizarla a través del generador de formularios, el cual te permite un contacto directo con losdatos 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 controlsobre la información de la base de datos. Otro aspecto es el control del movimiento cursordentro del formulario, el cual se realiza mediante la definición del orden de los tabuladores delos distintos controles del formulario. Por otro lado, todo lo referente a formato lo podrásmanejar 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, unade ellas es la vista que estudiarás y que será uno de los ejes para la implementación de lapantalla principal de nuestro sistema.

La realización de las siguientes actividades de aprendizaje te permitirá alcanzar el objetivoinicialmente planteado.

¿CÓMO APRENDO?

Actividades de aprendizaje Recursos ProductosExplica la importancia de laspropiedades para los objetos queintegran el formulario y para elformulario.

Elabora una tabla con laspropiedades más utilizadas de losobjetos del formulario y sufuncionamiento.

Realiza una comparación entreconsultas y vistas, estableciendo sussimilitudes en diseño y susdiferencias en funcionamiento.

Pinter Les/Pinter John.Op. cit., pp. 211 y 212.

Pinter Les/Pinter John.Op. cit., pp. 252-257.

Rubén Iglesias. Op. cit., pp.42-49.

Ficha de contenidosobre la Importanciade las propiedades enlos objetos delformulario.

Tabla acerca de laspropiedades másutilizadas en objetosde formulario.

Ficha de contenidosobre las vistas vsconsultas.

Page 42: Base de datos II_Cuadernillo de procedimientos

42

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 conocimientoy aplicación de las instrucciones para restringir el tipo, tamaño y dominio de los datos, para coadyuvara 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 losprocedimientos que deseamos ejecuten cada uno de los controles que se establecen, para locual aprenderemos a trabajar con los eventos correspondientes, creando en éstos métodosbajo la lógica de programación estructurada y utilizando las instrucciones apropiadas para elmanejo del formulario.

Por ejemplo, podrás especificar qué va a hacer un botón del formulario cuando des un clicsobre él, y podrás modificar su acción de acuerdo a lo que realmente requieras. Esto te permitela libertad de establecer y controlar todas las acciones que consideres necesarias sin apegartea un esquema establecido.

Actividades de aprendizaje Recursos ProductosRealiza el ejercicio 11.

Establece las diferencias y similitudesentre: etiqueta, cuadro de texto, cuadrode edición, cuadro combinado y cuadrode lista, además de su relación con loscampos de la base de datos.

Describe brevemente el proceso paraestablecer las paradas de tabuladordentro del formulario.

Elabora un cuadro sinóptico con loselementos que te permiten dar formatoal formulario, tomando en cuenta laherramienta de Visual FoxPro y laspropiedades de los objetos delformulario.

Crea un vista que relacione la tabla delpersonal autorizado a préstamo dematerial y la tabla de libros quemanejas en tu sistema de Biblioteca.Puedes tomar los campos másimportantes del personal y agregar doso tres (los que requieras) campos paraidentificar qué libros tiene en préstamo.Cuida de establecer correctamente lasrelaciones. Puedes tomar comoreferencia el ejercicio No. 11 de tumanual de prácticas y ejercicios.

Manual de ejercicios yprácticas

Pinter Les/Pinter John.Op. cit., pp. 221 y 225.

Pinter Les/Pinter John.Op. cit., pp. 237 y 238.

Pinter Les/Pinter John.Op. cit., pp. 229,233,234,253 y 254.

Sistema Generador deBases de Datos deVisual FoxPro

Ejercicio resuelto.

Ficha de contenidosobre: etiqueta, cuadrode texto, cuadro deedición, cuadrocombinado y cuadrode lista

Descripción delproceso de paradas detabulación.

Cuadro sinóptico queconsidere el formato alformulario y susobjetos.

Vista de Biblioteca.

Page 43: Base de datos II_Cuadernillo de procedimientos

43

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

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

Actividades de aprendizaje Recursos ProductosGenera un cuadro sinóptico con laspropiedades de control de los camposdel formulario con su descripción,tales como: ControlSource, Enabled,Name, TabIndex, Value, Visible,RowSource, RowSourceType yStyle, explica por qué se denominanpropiedades de control.

Explica qué son los métodos (eventos)y describe cuáles son los más comunespara el formulario y sus controles.

Describe para qué se utilizan laspropiedades de formulario:

- Release- Hide- Load

Estableciendo además sus diferencias.

Realiza los ejercicios No. 12 y 13.

Elabora un resumen del conceptoDominios y establece qué elementosde las tablas utilizadas (Aplicación,Tratamientos y Pacientes) formanparte de los dominios de la base dedatos Consultorio.

Resuelve la práctica No. 4.

Utilizando la vista que creaste para tuaplicación de Biblioteca, genera unformulario para el manejo de lainformación. El formulario debepermitirte el movimiento entre losregistros existentes, además deagregar o eliminar registros. Puedesutilizar la técnica de arrastreplanteada en el ejercicio 12 y tomar lapráctica 4 como guía para laelaboración de tu formulario.

Rubén Iglesias. Op. cit.,pp. 191,193-195,219 y220.Ayuda de Visual FoxProSelecciona Propiedades,elige Style y presiona F1.

Rubén Iglesias. Op. cit.,pp. 166-169,196-203.

Pinter Les/Pinter John.Op. cit., P.p. 249-259

Manual de ejercicios yprácticas.

Piattini Mario. Op. cit.,pp. 129-131.

Manual de Ejercicios yPrácticas.

Sistema Generador deBases de Datos de VisualFoxPro.

Cuadro sinópticoacerca de laspropiedades decontrol.

Ficha de contenidosobre métodos.

Ficha de contenidoacerca de laspropiedades Hide yRelease y Load.

Ejercicios resueltos.

Resumen acerca dedominio.

Práctica resuelta.

Formulario deBiblioteca.

Page 44: Base de datos II_Cuadernillo de procedimientos

44

3. DISEÑO DE PANTALLAS DE AYUDA

Objetivo:

Diseñar pantallas de ayuda y analizar estéticamente una pantalla, mediante el conocimiento y aplicaciónde las instrucciones específicas y la aplicación de reglas generales de composición gráfica, para facilitarel 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ónnecesaria para poder utilizar cada uno de los controles de la misma, esto lo logras mediante lacreación de pantallas de ayuda que no son otra cosa que ventanas de despliegue de informaciónque contienen la explicación de cada uno de los controles del formulario. Pero que sonindispensables en cualquier aplicación.

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

Actividades de aprendizaje Recursos ProductosDescribe las siguientes instruccionesen un cuadro sinóptico.

- Set- Set Path to- Set Help to- SetAll- Help Id- HelpContextId- WhatThisButton- WhatThisHelp- WhatThisHelpId

Define también de qué forma puedesutilizar las instrucciones anterioresen la ejecución de la ayuda de tuaplicación

Realiza la práctica No. 5.

Ayuda de Visual FoxProPresiona F1, selecciona elbotón de Índice y escribelas instrucciones a definir.

Manual de Prácticas yEjercicios.

Cuadro sinóptico conlas instrucciones.

Práctica resuelta.

Explica la diferencia entre Tablasdependientes y Tablas libres.

Resuelve la práctica No. 6.

Crea el módulo de ayuda para tusistema de Biblioteca e intégralo a tuformulario. Puedes tomar como baselo realizado en las prácticas 5 y 6 detu manual de prácticas y ejercicios.

Rubén Iglesias. Op. cit.,pp. 7 y 8.

Manual de Ejercicios yPrácticas.

Sistema Generador deBases de Datos de VisualFoxPro.

Ficha de contenidoacerca de las tablasdependientes y libres.

Práctica resuelta.

Módulo de Ayuda deBiblioteca integrado aformulario deBiblioteca.

Page 45: Base de datos II_Cuadernillo de procedimientos

45

A continuación encontrarás unas actividades de evaluación para esta unidad que te permitiránvalorar 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 sinnecesidad 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

¿QUÉ HE APRENDIDO?

Page 46: Base de datos II_Cuadernillo de procedimientos

46

( ) 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, incluyendolas pantallas de ayuda correspondientes. Describe además el proceso de creación en tusistema de Biblioteca incluyendo los siguientes aspectos:

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

Page 47: Base de datos II_Cuadernillo de procedimientos

47

QUIERO SABER MÁS

Es importante la profundización del tema de formularios en Visual FoxPro para lo cual tesugerimos 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 unformulario. Sin embargo, esta ayuda se creó únicamente para explicar el funcionamiento de unformulario, pero la ayuda puede utilizarse también para auxiliar al usuario o al programadorsobre otros aspectos de la programación. El siguiente texto te permite identificar los trestipos de ayuda que se pueden implementar. Identifícalos e investiga como implementar en tuformulario 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 tusaplicaciones y hacer así más amigable tupresentación

• La ayuda sensible al contexto se utiliza paradescribir los elementos que conforman lainterface de tu aplicación.Se puede crear ayuda sensible al contextopara cajas de diálogo creadas porformularios elaborados por el usuario o paraformatos de acceso a la aplicación. Este tipode ayuda se puede desplegar a) dando clicken el signo de interrogación propio de la barrade título y dando click posteriormente sobreel control del que se desea la ayuda o tambiénb) posicionando el cursor sobre el control ypresionando SHIFT-F1; en este último caso unsigno de interrogación flotante aparece sobreel control que se seleccionó.Se puede crear este tipo de ayuda parabarras de herramientas. La ayuda sensible alcontexto para estas barras se accesapresionando SHIFT-F1 y dando click en elcontrol correspondiente o seleccionando ¿Quées esto? en el menú de ayuda antes depresionar el control sobre el que se deseaconsultar.

• Los temas de ayuda estándares puedentambién ser retomados del buscador deobjetos para así documentar las propiedadesy métodos que se definen en los distintosmódulos elaborados.

• Finalmente los temas de ayuda estándarespueden ser desplegados mediante la seleccióndel botón de ayuda en la caja de diálogo oen un control de la barra de herramientas.

Cuando se da click en un botón de ayuda en unacaja de diálogo o ventana de despliegue, la ayudase presenta en una ventana separada. Se puedetambién asociar el tema de ayuda a un botón deuna caja de diálogo creándolo a través de lasfunciones InputBox y MsgBox, además de que sepuede proporcionar temas de ayuda sobre loserrores resultantes de la utilización de los métodosRaise. De forma similar se puede incluir un menú oun botón en la barra de herramientas paradesplegar un tema de ayuda.

Page 48: Base de datos II_Cuadernillo de procedimientos

48

PROCEDIMIENTOS

Objetivo de la Unidad:

Incorporar procedimientos (sub-rutinas u objetos) a los programas,mediante el conocimiento y aplicación de sus componentes, estructura yforma de relación con el programa principal, con el fin de minimizar elvolumen de código necesario y facilitar la comprensión y mantenimientodel mismo.

UNIDAD VUNIDAD VUNIDAD VUNIDAD VUNIDAD V

¿QUÉ VOY A APRENDER?

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 pantallasausteras, se necesitaban crear líneas y líneas de instrucciones que a veces para el programadorrepresentaban 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 lainterfaz, y para los desarrolladores, en métodos menos complicados de programar. No vienede más convenir que los manejadores de bases de datos contienen todas las herramientasnecesarias para que nuestro sistema final cumpla con perspectivas que en tiempos anterioreseran imposibles de cumplir, tales como: la presentación de un producto impecable, robustez ysoporte del sistema a niveles local y global (redes), y amigabilidad cumpliendo con los estándaresestablecidos.

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

Aunque el lenguaje de Visual FoxPro se basa en la programación de eventos, no son menosimportantes los procedimientos y funciones, ya que pueden ejecutarse desde cualquier eventode un control que contenga un formulario, reporte, menú o función. Asimismo, con los conceptosseparados 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 yejecució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 serherramientas muy poderosas), y que garanticen la funcionalidad y facilidad de uso de un sistema.

Page 49: Base de datos II_Cuadernillo de procedimientos

49

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

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

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

Procedimientos

Estructura Integración Ejecución o llamada

Basándose en

Variableslocales yglobales

Transfencia

Estandarización Documentación Pruebas

Utilizan

Mediante su

A través de

Page 50: Base de datos II_Cuadernillo de procedimientos

50

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 elvolumen 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 funcionecorrectamente según sus requerimientos. Sin la programación de código, el manejo deinformación se vuelve un caos. Es importante utilizar conceptos de programación, ya que conello te darás cuenta de la utilidad de los procedimientos y las funciones dentro de una pantallade 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 funcionesno están peleados, podríamos decir que son los complementos perfectos para crear interfacesmaestras confiables y robustas.

Conocerás estructuras de procedimientos y funciones, a través de sus diferencias principalesde programación. Para el procedimiento, sus instrucciones iniciales, el cuerpo principal einstrucciones finales lo complementarán, tal que contenga la capacidad de ejecutarse de cualquierelemento con instrucciones de llamada, todo en Visual FoxPro.

A continuación te introducirás al mundo de los procedimientos desarrollando las actividadesde aprendizaje de este capítulo.

¿CÓMO APRENDO?

Actividades de aprendizaje Recursos ProductosDefine qué es un procedimiento ypara qué se utiliza. Específica suestructura e identifica lasinstrucciones de: Encabezado,Declaraciones, Cuerpo principal yFin.

Define qué es una función yestablece sus diferencias con unprocedimiento. Especifica suestructura.

Ayuda de Visual FoxProPresiona F1, selecciona elbotón Índice y escribe:

- procedimiento,definición

- procedimientos,crear

Ayuda de Visual FoxProPresiona F1, selecciona elbotón Índice y escribe:

- función definida porel usuario, definición.

- Función

Ficha de contenidosobre losprocedimientos.

Ficha de contenidoacerca de lasfunciones.

Page 51: Base de datos II_Cuadernillo de procedimientos

51

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 lasinstrucciones respectivas, para incorporarlas a los programas de aplicación.

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

Realizando las siguientes actividades de aprendizaje aprenderás la aplicación y sintaxis de lasinstrucciones para la llamada o ejecución de los procedimientos y funciones dentro de unsistema.

3. VARIABLES LOCALES Y GLOBALES

Objetivo:

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

Actividades de aprendizaje Recursos ProductosDescribe y explica la sintaxis de lasinstrucciones que permiten llamar aprocedimientos y funciones.

Resuelve el ejercicio 14.

Realiza la práctica No. 7.

Elabora un procedimiento quecalcule la suma total de los adeudosgenerados por multas en el momentoen que se corre el procedimiento.Despliega el resultado en unaventana temporal (usa wait widow).Crea también el programa desde elcual se ejecuta dicho procedimiento.Puedes tomar como referencia elejercicio No. 14.

Ayuda de Visual FoxProPresiona F1, selecciona elbotón Índice y escribe:

- Do- Do <programa>- Funciones, llamar

Manual de Prácticas yEjercicios.

Manual de Prácticas yEjercicios.

Sistema Generador deBases de Datos de VisualFoxPro.

Ficha de contenidosobre las llamadas afunciones yprocedimientos.

Ejercicio resuelto.

Práctica resuelta.

Programa principal yprocedimiento decálculo de adeudo totalen Biblioteca.

Page 52: Base de datos II_Cuadernillo de procedimientos

52

Uno de los aspectos indispensables en la programación de procedimientos es el manejo devariables. De allí la importancia de entender los tipos de variables que se manejan y su campode acción. Es relevante definir cuándo una variable puede ser accesada por cualquierprocedimiento o función y cuándo son específicas de un procedimiento, lo cual se determina através de su declaración.

La siguiente actividad de aprendizaje te permitirá manejar los tipos de declaración de variablesdentro de los programas de Visual FoxPro.

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

Objetivo:

Transferir valores de variables entre programas y procedimientos o subrutinas, a través del conocimientoy 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 puedenser 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ámetrosentre los mismos. Resuelve las actividades de aprendizaje para que puedas comprender loantes mencionado.

Actividades de aprendizaje Recursos ProductosEstablece la diferencia entre variablelocal y variable pública, y su campode acción en procedimientos y/oprogramas principales.

Ayuda de Visual FoxProPresiona F1, selecciona elbotón Índice y escribe:

- local- public.

Pinter Les/Pinter John,Op. cit., pp. 103, 115, 116,433 y 434.

Ficha de contenidoacerca de lasdiferencias entrevariables Locales yPúblicas.

Actividades de aprendizaje Recursos ProductosExplica ampliamente cómo se realizael paso de parámetros por variable opor referencia entre procedimientos,funciones y programa principal.

Resuelve el ejercicio 15.

Resuelve la práctica No. 8.

Elabora un programa que aumente un10% el monto de adeudo por multapara todos los registros de la tabla delpersonal autorizado a préstamos dematerial. Hazlo mediante la creaciónde una función que reciba parámetrospor referencia.

Ayuda de Visual FoxProPresiona F1, selecciona elbotón Índice y escribe setudfparms.

Manual de Prácticas yEjercicios.

Manual de Prácticas yEjercicios.

Sistema Generador deBases de Datos de VisualFoxPro.

Explicación sobre elpaso de parámetrospor valor y porreferencia.

Ejercicio resuelto.

Práctica resuelta.

Programa y funciónincremento de adeudospor multas deBiblioteca.

Page 53: Base de datos II_Cuadernillo de procedimientos

53

5. INTEGRACIÓN DE PROGRAMAS

Objetivo:

Completar un ciclo de desarrollo de sistemas en equipo, incorporando reglas de estandarización depantallas y reportes, instructivos de operación para el usuario, documentación técnica y procedimientosde prueba, con el fin de obtener una imagen de las complicaciones y responsabilidades implícitas en eldesarrollo de un sistema profesional.

Recuerda que antes de crear un sistema se toman en cuenta puntos importantes, desde eldiseño mismo hasta la liberación del sistema.

Para la elaboración de los procedimientos del sistema se establecen reglas de programacióntales como: formato de letra del código (mayúsculas, minúsculas), estandarización de los datosy pantallas (tablas, campos, vistas, formularios e informes).

Paralelamente se tiene que realizar la documentación del sistema desde cómo funciona ( através incluso de manuales de usuario y para el programador), hasta la descripción delfuncionamiento del mismo código.

Una vez cubiertos estos puntos, se procede a las pruebas que nos permitan evaluar lafuncionalidad, facilidad de uso y todos lo factores de métrica y calidad necesarios que permitenhablar de la robustez del sistema.

Las siguientes actividades de aprendizaje te proporcionarán las bases para que puedasdeterminar la integración de los programas del sistema.

Actividades de aprendizaje Recursos ProductosInvestiga los siguientes tipos dedocumentación que se generan paralos sistemas de información ydescrí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:corrección, fiabilidad, eficiencia,integridad, facilidad de uso, facilidadde mantenimiento, flexibilidad,facilidad de prueba, portabilidad,reusabilidad e interoperabilidad.Todos estos son factores y métricasutilizadas para probar que un softwarees robusto y funciona óptimamente,incluye también los factores deestandarización y funcionalidad. Tesugerimos analizar la tabla 17.1 deFactores y Métricas de calidad.

Pressman Roger S. Op.cit., pp. 210, 374, 376-379y 754.

Pressman Roger S. Op.cit., pp. 576-581.

Resumen sobre lostipos dedocumentación.

Ficha de contenidoacerca de los Factoresy Métricas de Calidaddel Software.

Page 54: Base de datos II_Cuadernillo de procedimientos

54

Actividades de aprendizaje Recursos ProductosEl formulario de Biblioteca creado esla ventana principal de interaccióndel sistema con el usuario y la partefundamental de tu sistema.Basándose en el funcionamiento deéste elabora:a) Un manual de usuario que

permita a cualquier usuario haceruso de tu sistema.

b) Un cuestionario con laspreguntas de los Factores decalidad del software de Mc Callresueltas con base en tuperspectiva del sistema debiblioteca creado; explicatambién el porqué de tusrespuestas.

Formulario de Biblioteca.Pressman Roger S. Op. cit.,p. 577.

Manual de Usuario delSistema de Biblioteca.Cuestionario deFactores de Calidad.

Page 55: Base de datos II_Cuadernillo de procedimientos

55

A continuación se presentan algunos reactivos que te permitirán evaluar el grado de aprendizajeadquirido 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 dentrode 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 VALUESTORE valor TO variable ( )

3. Selecciona la respuesta correcta:

( ) Es el grado en que un programa satisface sus especificaciones y consigue los objetivos dela 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

¿QUÉ HE APRENDIDO?

Page 56: Base de datos II_Cuadernillo de procedimientos

56

( ) 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 miprocDeclaraciones Cuerpo principal DeclaracionesCuerpo 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 delprograma, 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 decalidad 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 funcionamientob) El manual de usuario elaboradoc) Un análisis basado en el cuestionario de Mc Call realizado sobre la calidad del sistema

generado.

Page 57: Base de datos II_Cuadernillo de procedimientos

57

Uno de los temas más complicados, cuando de procedimientos y funciones, se trata es quizásel manejo de variables. No debes perder de vista que en este tema en particular se trabaja bajola lógica de la programación estructurada. Esto permite que los conceptos teóricos puedancompartirse en los lenguajes que permitan este tipo de programación. Por esta razón y paraampliar el tema de paso de variables, te invitamos a revisar el material correspondiente en ellibro 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 deVisual FoxPro, ya que muchos de los conceptos y prácticas que utilizas en éste son tambiénválidos para otros lenguajes, pues la programación estructurada no es exclusiva de VisualFoxPro. Para que puedas realizar un comparativo y además establecer las similitudes que tepermitan en un futuro actuar en otros lenguajes, te sugerimos revisar la siguiente tablacomparativa.

Procedimientos y su definición

QUIERO SABER MÁS

Procedimientos en Visual FoxPro Procedimientos en PascalDefinición

El procedimiento imprime el valor de I, esteprocedimiento se almacena como programa en unaventana independiente I.prg

procedure II=10? Iendproc

Llamada o ejecución

Para ejecutarlo se utiliza la instrucción Do al inicio delprograma.

Do I

Estructura del programa

El siguiente código se guarda dentro del programa I.prg

Do I

procedure II=10? Iendproc

La siguiente instrucción se incluye desde cualquier programaen el que se quiera ejecutar el procedimiento.

do c:\�I.prg�

Definición

El procedimiento imprime el valor de I y seincluye como parte del programa principal que seestá ejecutando.

procedure Ibegin I=10; Writeln (�I =�, I);end

Llamada o ejecución

Para ejecutarlo se escribe el nombre del procedimientodentro del programa principal.

I;

Estructura del programa

Esta es la estructura de un programa completo en Pascalen donde no es necesario dividir en varios programasprocedimientos y programa principal, si no que todo estáen un solo programa.

Program impresión Var I:integer

Procedure I begin I=10; Writeln (�I =�, I); End;

Begin I;End

Page 58: Base de datos II_Cuadernillo de procedimientos

58

IMPRESIÓN DE INFORMACIÓN

Objetivo de la Unidad:

Incorporar a los programas de bases de datos la posibilidad de generarreportes impresos, mediante el conocimiento y aplicación de lasinstrucciones para el diseño y uso de formatos de impresión, con el finde satisfacer las especificaciones de diseño.

UNIDAD VIUNIDAD VIUNIDAD VIUNIDAD VIUNIDAD VI¿QUÉ VOY A APRENDER?

Una manera de tener constancia del trabajo que se realiza a través de un sistema o de lainformación que contiene, es a través de un medio escrito que puede ser de lo más variado. Losmás comunes se conocen como reportes y permiten presentar la información requerida bajoun 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 delas horas extras de cada trabajador en una quincena, y para el pago de las mismas se requierepor un lado, una relación de los trabajadores que tuvieron horas extras y el total a pagar, y porotro lado la impresión de los recibos individuales con el cálculo realizado para dicho pago y eltotal. Obviamente este tipo de reportes debe haberse definido en el sistema para que el usuariolo pueda ejecutar sin ningún problema. De no hacerlo, en vez de simplificarse las cosas secomplicarán, piensa en la persona que realiza el cálculo generando los recibos por separado ycopiando los datos del sistema, una locura ¿verdad? De situaciones como esta podemos recalcarque 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 generadorde bases de datos, aprovechando la información que la base de datos contiene y aplicando losformatos necesarios para cubrir los requerimiento que se planteen. El diseño de reportes no esalgo nuevo para ti, puesto que ya lo manejaste en Base de Datos I a través del asistentecorrespondiente. La meta en Base de Datos II, es que aprendas a realizar los reportes sinnecesidad de un asistente, definiendo tus propios formatos e introduciendo la codificaciónnecesaria para lograrlo.

Otro aspecto que abarcaremos es la impresión de etiquetas, que forma parte de la impresión dereportes especiales y que es muy útil para ayudar a la clasificación de la información que seimprime. Por ejemplo, si una editorial requiere mandar a sus suscriptores mensualmente larevista �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 quetardan en generarse las etiquetas es el tiempo de impresión y no más.

Page 59: Base de datos II_Cuadernillo de procedimientos

59

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

A continuación se presentan de forma esquemática los temas que se abarcarán durante launidad y que te permitirán alcanzar el objetivo de la misma.

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

Impresión

Formatos Comandos de Impresión Menús u otros

A través de

Page 60: Base de datos II_Cuadernillo de procedimientos

60

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íficosdel 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 pocoprofundizado, por lo que para poder programar aquí primero tendrás que aprender a crear yutilizar los reportes sin necesidad de asistente, recuerda que el hacerlo te brinda la posibilidadde adecuar la aplicación a tus requerimientos reales y de corregir los funcionamientos que nose apeguen a lo deseado.

Existen procedimientos específicos en el sistema generador de base de datos que te permitirándiseñar tus propios formatos de impresión, lo importante es no sólo que los conozcas, sinotambién que los utilices y aproveches para así mas adelante poder reconocer en donde esnecesaria la programación de un procedimiento, programa o función, para la optimización dela 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 tantoesfuerzo 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á comocomplemento la agrupación, que no es otra cosa que poder imprimir todos los registros de unabase de datos dada que cumpla con una cierta condición. La agrupación es muy importante enla generación de reportes ya que te permite dar solución a situaciones como la siguiente: Senecesita un reporte de todas las personas que están trabajando por honorarios para ciertaempresa y se debe incluir los datos completos de cada empleado, incluyendo su sueldo. En estecaso se forma un grupo que en el campo tipo_contratación registre honorarios, y se imprimela información de todas las personas que cumplen la condición. Como ves la agrupación puederesolver muchas situaciones que por su cotidianeidad se deben atender.

Enseguida se presentan las actividades de aprendizaje que te permitirán cubrir el objetivo deltema inicialmente planteado.

¿CÓMO APRENDO?

Actividades de aprendizaje Recursos ProductosMenciona cuáles son los comandosdel menú Informe y cómo funcionan.

Realiza un esquema dondeidentifiques las bandas del generadorde reporte y explica para que seutilizan.

Explica en qué consiste laagrupación en los reportes, y cómose realiza.

Pinter Les/Pinter John.Op. cit., pp. 348-351.

Rubén Iglesias. Op. cit., pp.262-263.

Ayuda de Visual FoxProPresiona F1, seleccionaíndice y busca:– agrupar datos

Ficha de contenidosobre el MenúInforme.

Ficha de contenidoacerca del generadorde reportes.

Ficha de contenidosobre la agrupación.

Page 61: Base de datos II_Cuadernillo de procedimientos

61

2. COMANDOS DE IMPRESIÓN

Objetivo:

Construir procedimientos de impresión de reportes, mediante el conocimiento y aplicación de lasinstrucciones 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 dereportes o informes como también se les conoce. Dichas instrucciones se aplican bajo la mismaló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 enla ventana de vista previa, utilizas la instrucción que te permite realizar todo esto en un solopaso, comprenderás cuan importante es no sólo saber programar, sino también conocer ysaber utilizar las instrucciones, funciones o procedimientos ya creados en el sistema generadorde bases de datos, para la simplificación de cualquier implementación.

A continuación se proporcionan las actividades de aprendizaje que te permitirán identificartecon las instrucciones más importantes dentro de la generación de reportes, para suimplementación en programas o procedimientos.

Actividades de aprendizaje Recursos ProductosEspecifica cómo se crean e insertanlas variables de memoria en losreportes.

Resuelve los ejercicios 16 y 17.

Diseña un reporte en el cual seagrupen los datos de la vista deBiblioteca, basándote en las personasque tienen en préstamo undeterminado libro. Para lograr dichoreporte puedes tomar comoreferencia los procedimientosrealizados en los ejercicios 16 y 17.

Ayuda de Visual FoxProPresiona F1, seleccionaíndice y busca:– Variables del informe,

cuadro de diálogo.

Manual de prácticas yejercicios.

Sistema Generador deBases de Datos de VisualFoxPro

Resumen acerca de lasvariables de informe.

Ejercicios resueltos.

Reporte de Bibliotecaagrupado por nombredel libro.

Page 62: Base de datos II_Cuadernillo de procedimientos

62

3. IMPRESIÓN DE INFORMACIÓN

Objetivo:

Construir menús u otros mecanismos de control de impresión, mediante las técnicas aprendidasanteriormente, 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 unmedio que permita la impresión del reporte diseñado, este puede ser un menú, una barra deherramientas 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 documentoya diseñado (para el caso de un procesador de palabras), es necesario seleccionar la opción deimpresión (ya sea mediante un botón o mediante el menú) y dependiendo de la selección sepresenta 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

Actividades de aprendizaje Recursos ProductosDescribe cómo trabaja la funciónselected, proporcionando también susintaxis y un ejemplo.

Proporciona la explicación delfuncionamiento y sintaxis de lassiguientes instrucciones

- report form ... preview- report form ... to printer

[prompt]Especifica qué diferencia existe enponer o no el prompt en la últimaexpresión.

Define cómo funcionan la variable_pageno y la función date ()

Ayuda de Visual FoxProPresiona F1, seleccionaíndice y busca selected.

Pinter Les/Pinter John.Op. cit., pp. 363 y 364.

Ayuda de Visual FoxProPresiona F1, seleccionaíndice y busca:

- _pageno- date()

Ficha de contenidosobre la funciónSelected.

Ficha de contenidoacerca de lainstrucción ReportForm.

Resumen sobre_pageno y date().

Implementa un reporte quedespliegue la información que serequiere presentar en la bilbliotecade tu centro de servicios. Para estoes necesario que tengas detectadoqué tipo de reportes son necesariosen dicha Biblioteca.

Realiza la práctica No. 9.

Sistema Generador deBases de Datos de VisualFoxPro.

Manual de Prácticas yEjercicios.

Reporte principal deBiblioteca.

Práctica resuelta.

Page 63: Base de datos II_Cuadernillo de procedimientos

63

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

Una de las impresiones de reportes especiales que se utilizan es la generación de etiquetas, lacual 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 inicialmenteplanteados.

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

Actividades de aprendizaje Recursos ProductosDescribe el funcionamiento de loselementos que conforman lossiguientes cuadros de diálogo:

- Imprimir informes- Imprimir etiquetas- Imprimir, cuadro de diálogo

Realiza la práctica No. 10.

Elabora un formulario desde el cualse pueda mandar a imprimir, agusto del usuario, los diferentestipos de reportes de Bibliotecahasta el momento generados.

Ayuda de Visual FoxProPresiona F1, selecciona índicey busca:

- Imprimir informes- Imprimir etiquetas- Imprimir, cuadro de

diálogo

Manual de Prácticas y ejercicios.

Sistema Generador de Basesde Datos de Visual FoxPro

Ficha de contenidosobre la impresión dedocumentos.

Práctica resuelta.

Formulario deImpresión.

Page 64: Base de datos II_Cuadernillo de procedimientos

64

Resuelve las siguientes preguntas, mismas que te permitirán evaluar el grado de aprendizajeadquirido 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 seleccionaruna 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 deProyectos.

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.

¿QUÉ HE APRENDIDO?

Page 65: Base de datos II_Cuadernillo de procedimientos

65

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 uninforme.

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 semaneja y pone en funcionamiento el proceso de impresión.

Page 66: Base de datos II_Cuadernillo de procedimientos

66

Existen algunos sistemas cuya salida no es precisamente un reporte o informe como loconocemos, el tipo de salida que generan es muy diferente pero también se basa en la informaciónalmacenada en un sistema de bases de datos como lo que conocemos. Este tipo de reportesespeciales como también se les denominan reciben el nombre de código de barras. Para quepuedas darte una idea de en qué consisten, te sugerimos leer en el libro Código de Barras deGuillermo 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 enesta unidad.

Una de las herramientas avanzadas para la impresión de reportes es la selección mediantecriterios de los elementos de una tabla. Esto se puede lograr a través de la combinación deinstrucciones; logrando así reportes de mejor calidad. El siguiente texto te da algunas ideas decó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 delas 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 reporteo 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.

QUIERO SABER MÁS