PROGRAMA INGENIERIA DE SISTEMAS ASIGNATURA BASES DE DATOS TERMINO II NUMERO DE GUIA # 3. ENTORNO DE DESARROLLO DE VISUAL FOXPRO PRESENTACION Las herramientas de gestion de bases de datos han evolucionado facilitando cada vez mas el trabajo tanto de los usuarios simples como el de los avanzados, estas nuevas herramientas poseen asistentes para agilizar el trabajo tecnico, no obstante las labores de analisis y diseño siempre quedan a dependencia del analista − programador. Es importante que el estudiante de Ingenieria de Sistemas conozca y haga uso de las herramientas que emplean esta tendencia. OBJETIVOS Que el Estudiante: Conozca el Entorno de Trabajo de las Nuevas Herramientas para la gestion de Bases de Datos .Aprenda los Conceptos Basicos para Gestion de Tablas y Registros CONTENIDO INTRODUCCION APARIENCIA DE LA VENTANA DEL SISTEMA TIPOS DE ARCHIVOS GESTION DE ARCHIVOS LOS ASISTENTES MANEJO DE TABLAS EDICION DE REGISTROS OPCIONES DEL MENU TABLA INTRODUCCION Toda la interfaz de desarrollo incorporada por "Visual Foxpro" está orientada a la generación rápida de aplicaciones (RAD). El objetivo final es la generación de aplicaciones seguras en un tiempo razonablemente pequeño. Todo esto se consigue dejando que el trabajo a bajo nivel lo efectúe el sistema, quedando para el programador el aspecto visual y el análisis de la aplicación. Para conseguir este fin, Visual Foxpro incorpora el siguiente conjunto de herramientas: 1 Administrador de proyectos Visual Foxpro incorpora un potente gestor de proyectos que centraliza la gestión de todos los archivos manejados por una aplicación. A partir de la información contenida en un proyecto se generan las aplicaciones que pueden ser distribuidas libremente a todos los usuarios. Además, Visual Foxpro incorpora una herramienta que asiste al programador para crear disquetes de instalación que incluyan toda la información necesaria para instalar esta aplicación en otros ordenadores. Diseñador de Bases de Datos Como apoyo al sistema, incorpora un potente gestor de bases de datos. Este gestor maneja bases de datos que actúan como referente de la información adicional relacionada con tablas, índices, relaciones, reglas de validación, integridad referencias y un sin número más de información. De esta forma, una base de datos mantiene actualizada y centralizada toda la información de funcionamiento de las tablas que con ella están relacionadas. Por ejemplo, cada vez que se modifica un registro en una tabla perteneciente a una base de datos, se comprueban las reglas de modificación para esta tabla. Si por cualquier razón no es posible actualizar la tabla porque una de las reglas de validación ha fallado, se devuelve la tabla a su estado original, advirtiendo, por supuesto, al usuario de esta eventualidad. Diseñador de formularios Totalmente orientados al objeto, permiten diseñar el aspecto gráfico final de una aplicación. Permiten la inclusión de objetos estándar en Windows, tales como casillas de verificación, grupos de opciones, marcos de página, imágenes, controles OLE. Gracias al diseñador de clases visuales, se pueden crear nuevos tipos de controles que pueden ser incorporados como cualquier otro control a un formulario. Gestionan de forma transparente al usuario el entorno de datos asociado para cada formulario. En este entorno de datos es posible incluir cualquier tabla, vista local o remota definida en una base de datos. Pero no sólo eso, es posible que cada entorno de datos sea privado para cada formulario. De esta forma pueden abrirse varias instancias de un mismo formulario sin que existan problemas de colisión de datos entre las dos instancias definidas. Diseñador de informes y etiquetas A la hora de visualizar datos, ya sea por pantalla o impresora, Visual FoxPro incorpora un potente diseñador de informes y etiquetas. En un informe se pueden definir objetos dentro de las tres bandas, cabecera, pie o detalle, y, además, distribuir el informe en varios grupos que muestren el resultado de cálculos sumatorios u otros realizados desde el propio formulario. A estas prestaciones hay que añadir la posibilidad de incluir en el entorno de datos del propio informe cualquier tabla o vista definida en la base de datos, tal como se ha comentado en referencia a los formularios. Diseñador de menús Este diseñador se utiliza para crear menús personalizados en la aplicación y así sustituir el menú incorporado por Visual FoxPro. El sistema utilizado se basa en la creación de unos ficheros donde están las definiciones de menú. A posteriori, la información contenida en estos ficheros de menú es analizada por un generador de código con la finalidad de generar de forma automática código fuente con las definiciones de menú. Asistentes Para usuarios incipientes, los asistentes pueden ayudar a crear nuevos tipos de ficheros de forma sencilla y rápida. No por ello se elimina la posibilidad de modificar los ficheros creados, ya que éstos pueden ser alterados posteriormente mediante su diseñador correspondiente. 2 Los generadores de controles ayudan en la creación de nuevos controles insertados en los formularios. Estos generadores se encuentran totalmente abiertos y el usuario puede incorporar sus propios generadores. Diseñador de consultas y vistas Cuando se trata de recuperar información, los generadores de consultas y vistas constituyen un apoyo indispensable para poder generar expresiones SQL. Si estas sentencias extraen información de la propia base de datos, se denominan vistas locales. Cuando estas vistas extraen información de una base de datos externa, se denominan vistas remotas. APARIENCIA DE LA VENTANA DE SISTEMA El sistema intérprete se basa en la utilización de la ventana Comandos. Desde esta ventana se escriben sentencias que usualmente provocan una acción por parte del sistema de desarrollo. Así, desde la ventana de comandos se puede abrir tablas, examinar su contenido, crear programas, compilarlos, etc. Aparte de la ventana de comandos, cualquier acción se puede realizar desde el menú de sistema, o bien desde la barra de herramientas activa. Es posible personalizar el menú de sistema y cualquier barra de herramientas, o incluso crear nuevas barras de herramientas según las necesidades del usuario. TIPOS DE ARCHIVOS Como se han dicho, el proyecto guarda información acerca de la localización de cada archivo. Como ayuda se presenta una lista de las posibles extensiones asociadas con cada tipo de ficheros y una breve descripción de cada tipo. Tipo Extensiones relacionadas Proyecto PJX, PJT Bases de Datos DBC, DCX, DCT Formulario Bibliotecas de SCX,SCT VCX,VCT Clases Visuales Tablas Índices DBF,FPT CDX,IDX Documentación ACT Informes Etiquetas Librerías Windows FRX,FRT LBX,LBT DLL Errores ERR Ejecutables EXE Descripción Núcleo central de desarrollo. Efectúa el seguimiento a todos los ficheros relacionados con una aplicación. Tabla contenedora para información relacionada con tablas, índices, relaciones, vistas y conexiones. Ficheros de definición de formularios. Bibliotecas conteniendo varias clases definidas por el usuario. Tablas y fichero memo asociados. Ficheros índice compactos y simples. Fichero conteniendo el diagrama de acciones de un fichero PRG generado por el asistente de documentación. Informes. Etiquetas. Librería de enlace dinámico Windows Fichero de seguimiento de errores de compilación. Fichero ejecutable Visual Foxpro. 3 Macros Bibliotecas API Programas Ayuda FKY FLL PRG,FXP HLP Memoria MEM Menús MNX,MNT Menús generados MPR,MPX Control OLE Consulta SQL Copias de seguridad Texto Constantes OCX QPR,QPX TBK,BAK TXT H Fichero de definición de macros. Biblioteca de enlace dinámico Windows. Programa Fuente y Compilado. Fichero de ayuda gráfica. Fichero de almacenamiento de variables de memoria. Fichero de definición de menús. Fichero generado y compilado. A partir de una definición de menús. Fichero control ActiveX Fichero de consulta SQL. Copias de seguridad de diversos ficheros. Ficheros de Texto. Fichero de constantes predefinidas. GESTIÓN DE ARCHIVOS Desde el menú Archivo se realizan las acciones relacionadas con archivos. Consta de las opciones: Opción Nuevo Abrir Cerrar Guardar Guardar como... Revertir Descripción Crea un nuevo fichero de cualquier tipo Abre un fichero de cualquier tipo. Cierra el archivo en uso. Actualiza las modificaciones efectuadas al fichero actual en disco. Salva el fichero actual en disco con un nuevo nombre. Recupera la versión guardada en disco del fichero actual. Cuando se desea crear un nuevo fichero, se muestra el cuadro de diálogo tal como vemos en la Figura. Este cuadro de diálogo permite seleccionar el tipo de fichero que se desea crear. Existen diversos tipos de ficheros que permiten su creación mediante asistentes, que facilitan enormemente la tarea de crear nuevos ficheros. Los Asistentes Los asistentes proporcionan el método más eficaz y sencillo de apoyo a los nuevos usuarios en Visual Foxpro. Cubren prácticamente todos los tipos de ficheros básicos que se pueden crear, desde tablas a formularios, pasando por informes, consultas, etc. Veamos cuáles son: Asistentes Asistente para formularios Asistente para formularios uno a varios Asistentes para tablas Descripción Crea nuevos formularios. Crea ficheros de tipo SCX. Crea formularios con soporte de ficheros relacionados de uno a muchos. Crea ficheros SCX. Crea nuevas tablas libres o definidas en una base de datos. Crea ficheros de tipo DBF. Asistente para importar Importa datos a una tabla procedentes de otro origen. datos a tablas 4 Asistente para tablas Crea tablas de hoja de cálculo utilizables desde Microsoft Excel. dinámicas Asistentes para consultas Asistente para tablas de referencias cruzadas Asistentes para gráficos Asistente para informes Asistente para informes de uno a varios Asistente para informes de grupos/totales Asistentes para etiquetas Asistente para combinación de correspondencia Asistente para vistas Asistente para vista remota Crea consultas con sentencias SQL almacenadas en ficheros de tipo QPR. Crea una consulta en formato hoja de cálculo. Crea ficheros de tipo QPR. Crea un nuevo gráfico en Microsoft Graph a partir de la información contenida en una tabla. Crea una nueva definición de informe. El tipo de fichero creado es FRX. Crea una nueva definición de informe relacionando una tabla primaria con otra secundaria. Crea fichero de tipo FRX. Crea un informe con definición de resumen para grupos y totales. Crea ficheros de tipo FRX. Crea un nuevo fichero de definición para imprimir etiquetas postales. Crea un fichero de tipo LBX. Crea un origen de datos compatible con el procesador de texto Microsoft Word o cualquier otro. Crea una nueva definición de vista en una base de datos. La información generada por este asistente se guarda en una base de datos DBC. Crea una nueva definición de vista remota. El fin es acceder a otro tipo de información contenida a su vez en un servidor de datos. Esta nueva vista se almacena en una base de datos DBC. Crear una nueva tabla mediante el asistente Para crear una nueva tabla mediante el Asistente para tablas, debe proceder de alguna de estas dos formas: • Desde el menú Herramientas, escoja el submenú Asistentes. De este menú, escoja la opción Tabla. • Desde el menú principal, escoja del menú Archivo la opción Nuevo CTL+N o escoja el botón de comando Nuevo de la barra de herramientas Estándar. Visualice a continuación el cuadro de diálogo para la elección del nuevo tipo de fichero a crear. Escoja Tabla y pulse en el botón de comandos Asistente. El asistente genera una nueva tabla siguiendo tácticamente una serie de pasos que conducen a confeccionar una tabla y sus índices correspondientes. Paso 1. Seleccionar campos Este paso trata de determinar los campos que se van a definir en la nueva tabla, a partir de unas definiciones estándar aportadas por el propio asistente. De esta forma, se puede crear una nueva tabla basándose en tipos más o menos ajustados a las necesidades del usuario. Paso 2. Opciones de campos 5 Puede que las definiciones de campo no se ajusten exactamente a las necesidades del usuario. Para esto existe este paso, permitiendo la modificación de los parámetros definitorios de un campo, como son su nombre, el título, el tipo, el ancho, decimales y soporte de valores nulos. Bien, en cuanto al título, sólo hay que hacer una diferenciación, y es que si no hay una base de datos definida y abierta en el sistema, no se puede crear o modificar un título asociado a un campo. Esta es una de las características aportadas por las bases de datos, la posibilidad de ampliar la información relativa a tablas. Otro caso es el nombre del campo: si no existe una base de datos abierta, no se puede ampliar su descripción más allá de diez caracteres. Como se verá más adelante, es posible asignar nombres de campo hasta 255 caracteres. Paso 3. lndexación Para poder localizar cualquier tipo de información de una tabla es necesario recurrir a la creación de índices. Los índices proporcionan un método rápido de localización de registros basándose en expresiones. La expresión a localizar se va comparando con el contenido del índice, hasta localizar el registro cuyo valor en la clave de índice coincide con la expresión buscada. Paso 4. Finalizar Una vez que se han recorrido los pasos correctamente, se procede a generar una tabla. Adicionalmente, el asistente nos permite examinar la tabla tal como ha quedado o modificarla mediante el diseñador de tablas para añadirle prestaciones adicionales MANEJO DE TABLAS Suponiendo que hubiéramos elegido la opción Guardar la tabla y examinarla en el Asistente para tablas, obtendría una nueva ventana Examinar con la nueva tabla vacía. Lo que aquí vemos es una ventana típica utilizada para examinar tablas. En este caso estamos visualizando una tabla con registros. Dentro de la ventana distinguimos varios apartados. • Columnas Dependiendo del tamaño de la ventana Examinar, se muestran más o menos columnas. Cada columna visualiza en el encabezado el nombre del campo, o bien, el título definido en la base de datos para este campo. Usualmente, marcando en el título de un campo y arrastrándolo a una nueva posición, modificamos el orden de visualización de columnas. • Selección de celda. Para indicar en qué registro está posicionado, existe un indicador situado a la izquierda de la primera columna visualizada. Este indicador una flecha indicando que el puntero de registro está posicionado en esa fila. Asimismo, la celda que tiene el enfoque de lectura visualiza el cursor de edición y está remarcada con un cuadro cuyos bordes son ligeramente mayores que las líneas separadoras. Como se puede observar en la figura, todas las funciones de edición están disponibles, tales como marcar un determinado segmento de caracteres, insertar o incluso marcar todo el contenido del campo. • Estado del registro. Adyacente al indicador de registro se encuentra el indicador de estado de la marca de eliminación. Si el registro está marcado para borrar, este cuadro cambia su contenido de color negro. EDICIÓN DE REGISTRO INTERACTIVO Desde la venta Comando se pueden utilizar estos comandos para abrir la ventana Examinar y realizar modificaciones en cualquier tabla. Comando/Función APPEND [BLANK] Descripción 6 [IN nÁreaTrabajo | cAliasTabla] Abre la ventana Cambiar para añadir registros a una tabla interactivamente. [NOMENU] BROWSE y CHANGE/EDIT Abren las ventanas Examinar y Cambiar, respectivamente. MODIFY GENERAL CampoGeneral1 [,CampoGeneral2 ...] [NOMODIFY] [NOWAIT] Abre una nueva ventana para poder editar un campo de tipo general. [[WINDOW NombreVentana1] [IN [WINDOW] NombreVentana2 | IN SCREEN]] MODIFY MEMO CampoMemo1 [,CampoMemo2 ...] [NOEDIT] [NOMENU] [NOWAIT] [RANGE nCarácterInicial, nCarácterFinal] Abre una nueva ventana para permitir editar un campo de tipo memo. [[WINDOW NombreVentana1] [IN [WINDOW ] NombreVentana2 | IN SCREEN]] [SAME] [SAVE] OPCIONES DEL MENÚ TABLA Cuando se abre una nueva ventana Examinar, se crea un nuevo menú en la barra de menús de sistema. El menú Tabla contiene las opciones básicas para el manejo de tablas. Veamos algunas: Añadir un nuevo registro Elija la opción Añadir nuevo registro, o bien, pulse la combinación de teclas CTRL+Y. Se inserta un nuevo registro en la tabla que se está examinando. También es posible añadir registros desde la ventana Comandos emitiendo alguna de las sentencias: 7 APPEND BLANK APPEND Cambiar el estado de la marca borrado Cuando un registro ya no se hace necesario se marca como borrado. Este es el paso previo a la eliminación de todos los registros marcados, cuyo proceso requiere el uso del comando PACK. Como es evidente, también se puede realizar esta acción como todas las demás, desde la ventana Comandos, mediante la sentencia DELETE Otra posibilidad interesante es alternar el estado del registro utilizando un cuadro situado al lado del marcador de registro. Pulsando alternativamente en este cuadro, modificamos el estado de la marca de borrado. Ir a un registro determinado Se puede ir a un registro determinado modificando la celda activa mediante el ratón y las barras de desplazamiento vertical, o el teclado mediante los cursores. Pero también se utilizar el submenú Ir al registro, cuyo contenido analizado es el siguiente: Opcion Primero Último Siguiente Anterior Descripción Va al primer registro de la tabla. Desde la ventana Comandos habría que utilizar: GO TOP Va al último registro de la tabla. Desde la ventana Comandos habrá que escribir: GO BOTTOM Posiciona el puntero de registro en el siguiente registro. Obteniendo el mismo resultado que utilizando esta sentencia desde la ventana Comandos: SKIP 1 Posiciona el puntero en el registro anterior. Desde la ventana Comandos: SKIP −1 Cambia el puntero de registro a un registro específico. Desde la ventana Comando habría que emitir la siguiente sentencia: Registro número Encontrar GO nRegistro Donde nRegistro es el número de registro donde se desea posicionar el puntero de registro. Encuentra el registro que cumpla la expresión de búsqueda. Veremos más adelante la sintaxis del comando LOCATE utilizado por esta opción de 8 menú 1 1 9