Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Programación y prácticas sobre bases de datos, Ejercicios de Programación Informática

En el presente documento se presentan ejemplo de prácticas de programación Documento de bases de datos

Tipo: Ejercicios

2023/2024

Subido el 15/12/2023

Alejandro.Lara
Alejandro.Lara 🇲🇽

2 documentos

1 / 43

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
Escuela Técnica Superior de Ingeniería Informática
Guión de Prácticas de Programación de BD
y Bases de Datos II
Juan Miguel Medina Rodríguez y Mª Amparo Vila Miranda
Dpto. Ciencias de la Computación e I. A. Universidad de Granada
 
Granja “El Cerdito Valiente”. Requisitos
La gestión se centra en dos grupos de funciones de consulta y
mantenimiento: el libro de contabilidad y la lista de personas que trabajan
en la granja junto con sus direcciones y cualificación.
El libro de contabilidad registra las transacciones financieras:
»Cantidades de bienes comprados y vendidos
»Jornadas pagadas y cantidades recibidas
Lista de personas con sus direcciones y cualificaciones
Personas involucradas en las transacciones y en los trabajos de la granja.
Representar a ambos tipos de personas en un mismo conjunto de
entidades
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b

Vista previa parcial del texto

¡Descarga Programación y prácticas sobre bases de datos y más Ejercicios en PDF de Programación Informática solo en Docsity!

Escuela Técnica Superior de Ingeniería Informática

Guión de Prácticas de Programación de BD

y Bases de Datos II

Juan Miguel Medina Rodríguez y Mª Amparo Vila Miranda

Dpto. Ciencias de la Computación e I. A. Universidad de Granada

        

Granja “El Cerdito Valiente”. Requisitos

 La gestión se centra en dos grupos de funciones de consulta y

mantenimiento: el libro de contabilidad y la lista de personas que trabajan

en la granja junto con sus direcciones y cualificación.

 El libro de contabilidad registra las transacciones financieras:

» Cantidades de bienes comprados y vendidos

» Jornadas pagadas y cantidades recibidas

 Lista de personas con sus direcciones y cualificaciones

 Personas involucradas en las transacciones y en los trabajos de la granja.

Representar a ambos tipos de personas en un mismo conjunto de

entidades

        

Granja “El Cerdito Valiente”. Requisitos

 Funciones que el software de aplicación habrá de tratar:

» Representar las personas y organizaciones con las que interactúa en una lista central a disposición de contabilidad y personal para consulta y mantenimiento. Deseable facilitar la corrección de fallos en la lista » Seguimiento de todas las transacciones de la granja, incluyendo tipo (compra, venta, pago, ingreso), descripción del artículo, número unidades, importe unitario, total. Disponible para consulta y realización de auditorias Para auditoría todas las transacciones deben quedar registradas. Deseable que la aplicación pudiese generar automáticamente el importe de la transacción a partir de la cantidad y el precio. Que puedan ordenarse por cualquier campo » Mantener una lista de los trabajadores para realizar contactos y pagos. Direcciones correctas y actualizadas. Poder generar etiquetas de correo » Mantener un lista de de cualificaciones y competencias de los trabajadores para asignación de trabajos. Añadir un valoración para cada cualificación

        

Granja “El Cerdito Valiente”. Diseño BD

 Diseño conceptual utilizando E/R

LibroCuentas Relativo a Persona Trabajador Posee Cualificacion

Alojamiento

Vive en

Nombre

Apunte# Item

Total Cantidad TipoCant (^) UnitarioPrecio-

Fecha TipoOp

Edad (^) Valoracion

Aloja-miento (^) CompletNomb- Director Direccion

Cualif Decripcion

A) Formulario Libro Cuentas

B) Formulario Empleado Cualificacion

C) Informe Alojamientos

        

Granja “El Cerdito Valiente”. Diseño Funcional

» Enlaza con los detalles (las cualificaciones) » Sería interesante poder seleccionar la cualificación de la lista de cualificaciones almacenada en la tabla correspondiente

 Necesarios formularios para mantener Persona, EmpCualif,

Cualificaciones y Alojamiento

 Informe Resumen Libro basado en el esquema de datos A):

» Obtener las transacciones agrupadas por persona, en orden cronológico y total para cada persona

 Informe Direcciones basado en el esquema de datos C):

» Para obtener la dirección de cada persona para correspondencia. Salida de etiquetas de diversos tamaños.

 Antes de comenzar crearemos el siguiente directorio:

u:\CerditoValiente donde ubicaremos todos los ficheros

relacionados con los tutoriales y ejercicios

        

Formulario Empleado. 1er^ Prototipo

 Procedimiento para crear el formulario:

 Cread el bloque persona que muestra un única persona  Cread como detalle el bloque cualificaciones asociadas a cada persona  Añadid una lista desplegable que permita seleccionar una cualidad de la misma  Organizad el formulario  Ejecutad y almacenad la aplicación

 Creación del bloque persona

» Ejecutad Form Builder » Activad Asistente de Bloques de Datos » Avanzad hasta visualizar » Pulsad Siguiente

        

Formulario Empleado. 1er^ Prototipo

» Pulsad Examinar » Introducid vuestro Usuario y Clave, dejando en blanco Cadena de Conexión » Visualizad vuestras tablas y vistas y seleccionad persona

» Pulsad Terminar para entrar en el Asistente de Diseño » Avanzad hasta » Visualizad nombre y pulsad Terminar » ¡Ya tenemos nuestro primer bloque!

        

Formulario Empleado. 1er^ Prototipo

 Creación del bloque Cualificación

» Marcad el bloque persona » Para crear otro bloque pulsad » Aceptad la utilización del Asistente de Bloques de Datos » Seleccionad la tabla EmpCualif y utilizad todos sus campos. » Avanzad y pulsad Crear Relación » Seleccionad la tabla Persona como maestro

        

Formulario Empleado. 1er^ Prototipo

» Para dotarla de carácter dinámico necesitamos:  Escribir una consulta que obtenga los valores de la tabla Cualificaciones  Escribir un procedimiento PL/SQL que la rellene con los datos de la tabla Cualificación  Crear un disparador que actualice su contenido en el momento oportuno  Para crear esta consulta, que es un Grupo de Registros , realizad: » Marcad Grupo de Registros y pulsad » Introducid » Llamadlo Cualificacion  Dada la generalidad de este proceso vamos a crear un procedimiento reutilizable que vamos a incorporar a nuestra biblioteca para posteriores usos » Creamos una biblioteca. » Marcamos Bibliotecas PL/SQL y pulsamos » Marcamos Unidades de Programa y pulsamos » Introducimos

        

Formulario Empleado. 1er^ Prototipo

» En la ventana de edición introducimos el siguiente código:

» Compilamos el módulo » Salvamos la biblioteca con el nombre MiBiblioteca » Marcamos la biblioteca y la compilamos ( Programa | Compilar Selección ) » Marcamos Bibliotecas Asociadas bajo el Modulo1 y pulsamos seleccionando MiBiblioteca

        

Formulario Empleado. 1er^ Prototipo

 Vamos a utilizar un disparador WHEN-NEW-FORM-INSTANCE para determinar que la lista de valores se actualice con los valores de la tabla Cualificación » Marcad Disparadores pulsad » Seleccionad el mencionado disparador » En la ventana introducid el código: llena_listas('empcualif.cualificacion','cualificacion'); » Compilad y cerrad » Ejecutad el formato, comprobad los resultados y almacenad como empleado si todo ha estado conforme

        

Formulario Libro de Cuentas. Ejercicio

 Realizad el formulario correspondiente al libro de cuentas (llamadlo

libro.fmb) de acuerdo con el aspecto de la figura y los siguientes

requisitos:

» Debe incluir todos los campos de la tabla correspondiente » Debe tener forma tabular (varias transacciones a la vez) » Una lista estática sobre TipoOperacion (Compra,Venta,Pago,Ingreso) » Una lista dinámica sobre Persona con datos de la tabla Persona

        

Informe Contabilidad. 1er^ Prototipo

 Mediante la utilización del Live Previewer :

» Dimensionad los campos para que ocupen menos espacio » Cambiad el formato de la fecha y la etiqueta asociada. Salvad como LibroContabilidad.rdf

        

Informe Contabilidad. En Formato “Web”

 A partir de este informe se puede crear una versión publicable en la

“Web”, ya sea en formato html o en formato pdf para ello se utiliza el

Asistente Web :

» Seleccionad Herramientas|Asistente Web » La pantalla de la figura nos solicita un campo del informe que nos va a permitir navegar por el mismo. En nuestro caso el campo Persona que es por él que se agrupa

        

Informe Contabilidad. En Formato “Web”

» La siguiente pantalla nos permite seleccionar un documento html que actúe como cabecera y otro como final de informe. En nuestro caso lo dejamos en blanco y seguimos » Esta pantalla nos permite elegir el formato en que vamos a publicar el informe. Probad con pdf y visualizad con el Acrobat Reader. Después ejecutad de nuevo el Asistente Web y publicad en html visualizando con el navegador.

        

Informe Contabilidad. Añadir Gráficos

 Podemos generar gráficos en diferentes formatos a partir de los datos e

incorporarlos a nuestros formularios o informes

 Graphics Builder es la herramienta que se encarga de ello. Se puede

invocar de forma separada o desde Forms o Report Builder.

 Vamos a generar un gráfico de tarta desde Report Builder que muestre las

transacciones totales por persona

» Con el último informe abierto se activa el Modelo de Diseño pulsando » De la Barra de Herramientas seleccionamos la sección margen del informe » Seleccionamos el Asistente de Gráficos rellenamos la ventana como figura abajo

        

Creación de Gráficos con Graphics Builder

» Pulsamos Aceptar , entramos en el cuadro para elegir las propiedades del gráfico a generar. Rellenamos según muestra la figura

» Pulsamos Aceptar y se visualiza el gráfico. Podemos cambiar la fuente del título para resaltarlo más » Salvad como pagos.ogd

        

Creación de Gráficos con Graphics Builder

» Se puede utilizar Gráfico|Marco para organizar la presentación de los resultados » Marcando el gráfico y pulsando el botón derecho se puede acceder a un menú en el que se puede indicar mediante Actualizar que se actualice la presentación del gráfico » Pulsando Herramientas|Consultas accedemos a la consulta para una eventual modificación

        

Integración de Gráficos con Formularios

 Veamos como se puede integrar un gráfico en un formulario. Se necesita

un disparador que ejecute Graphics para producir el gráfico:

» Abrimos el formulario libro.fmb » Creamos un bloque de control. Seleccionamos Bloq de Datos y pulsamos » Optamos por crearlo manualmente » Abrimos la ventana de propiedades y ponemos: Nombre : Control , Bloque de Datos de Base de Datos: No » Hacemos hueco bajo el frame que rodea al bloque LibroCuentas. Para ello establecemos la propiedad Altura a 400 en Window1 y Canvas » Seleccionamos el bloque Control en el Navegador de Obj. se pulsa » Se dimensiona un área suficiente bajo el bloque LibroCuentas, optamos por construir el gráfico manualmente » Visualizamos las propiedades del elemento creado y establecemos Nombre : Pagos , Lienzo : Canvas » Asociamos la biblioteca gráfica al formulario. Seleccionamos Bibliotecas Incorporadas y luego , en el campo Biblioteca: ponemos OG, pulsamos el botón Incorporar

        

Integración de Gráficos con Formularios

» Asociamos la biblioteca gráfica al formulario. Seleccionamos Bibliotecas Incorporadas y luego en el campo Biblioteca: ponemos OG, pulsamos el botón Incorporar » Necesitamos un disparador que active el gráfico y otro para cerrarlo » Editamos el disparador WHEN-NEW-FORM-INSTANCE para que contenga: BEGIN llena_listas('librocuentas.persona','personas'); OG.Open(’pagos.ogd','control.pagos'); END; » Creamos un nuevo disparador de tipo POST-FORM con el siguiente código: OG.Close(’pagos.ogd','control.pagos'); » Ejecutamos, corregimos los posibles desajustes y salvamos el formulario » Si queremos refrescar en el gráfico los cambios que se deriven de la actuación sobre el formulario, debemos utilizar un disparador de tipo Post-Commit que cierre y vuelva a abrir el gráfico

        

Elementos de los Formularios. Ventanas

 Cuando se crea un Bloque de Datos se crea un lienzo por defecto

 También se puede crear manualmente desde Navegador de Objetos y

dimensionar en su hoja de propiedades o en el Editor de Diseño

 Cuando se visualiza una ventana se visualiza el lienzo base, para

visualizar otros lienzos se utilizan los procedimientos predefinidos

Show_View y Hide_View desde disparadores

 Ejemplo: Lienzos apilados. Vamos a crear un formulario con Persona como

maestro y LibroCuentas como detalle en un lienzo apilado que permita

visualizar los apuntes de cada persona desplazándose horizontalmente por

los mismos mientras se mantiene visualizados los datos de la persona

correspondiente:

» Abrid Forms Builder y utilizad el asistente para crear un bloque sobre Persona del que sólo vamos a visualizar el campo nombre » En el Editor de Diseño Desplazad el frame un poco hacia arriba » Seleccionad Canvas2 en el Navegador de Objetos y dimensionadlo en el Editor de Diseño de forma que se ajuste más o menos al frame » Ejecutad de nuevo el Asistente de Bloques para crear el bloque LibroCuentas

        

Ventanas. Lienzos Apilados

» Seleccionad la tabla LibroCuentas y todos sus campos » Solicitad la creación de una Relación con la tabla Persona entre los campos persona y nombre » Entrad en el Asistente de Diseño y estableced los valores de la figura » Visualizad todos los campos excepto persona » Modificad los valores de Ancho de acuerdo con la figura » Visualizad unos 5 registros con barra de desplaza- miento

        

Ventanas. Lienzos Apilados

» Editad las propiedades del lienzo apilado y poned los valores de la figura » Con el Editor de Diseño dimensionad los lienzos y frames de los dos bloques de forma que rodeen los grupos de registros sin superponerse » Editad el lienzo del bloque persona y pulsad en el menú Ver|Vistas Apliadas... » Seleccionad el lienzo que aparece por defecto y aceptar. Esta operación permite superponer los dos lienzos en la misma ventana de edición. » Si queremos eliminar la superposición realizamos la anterior operación y, mientras pulsamos la tecla Ctrl, pinchamos el lienzo que queremos desactivar, aceptando después » Ved figura de la transparencia siguiente » Editad las propiedades de WINDOW1 y estableced: Width : 300 y Height : 280 » Ejecutad, consultad y desplazaos utilizando la barra horizontal del canvas de LibroCuentas » Modificad lo que sea necesario y salvad como apilado.fmb

        

Ventanas. Lienzos Apilados

Aspecto de los lienzos de Persona y LibroCuentas apilados en el Editor de Diseño

        

Ventanas. Lienzos Tabulares

  • Asignadle un lienzo nuevo ( Nuevo Lienzo ) de tipo de tabular ( Tabular ) y ( Nueva Página con Pestaña )
  • Visualizad cualificación y valoración
  • Elegid una presentación tabular visualizando 5 registros y la barra de desplazamiento
  • Visualizad la Paleta de Propieades de PAGE5 y estableced: Etiqueta: Cualificacion
  • Ejecutad, sólo vereis el lienzo tabular. Salvad con el mismo nombre » Cread el bloque Alojamiento:
  • Sobre la tabla del mismo nombre utilizad todos sus campos
  • Cread la relación detalle con el bloque persona como maestro (desactivad antes Unir automaticamente bloques de datos ) basada en una condición de unión sobre el campo alojamiento
  • Utilizad el mismo lienzo que para el bloque EmpCualif y una nueva página ( Nueva Página con Pestaña )
  • Visualizad todos los campos salvo alojamiento pulsad Terminar para aceptar el resto de los valores por defecto
  • Visualizad la Paleta de Propiedades de PAGE7 y estableced: Etiqueta: Alojamiento » Redimensionad y ubicad los lienzos:
  • Seleccionad CANVAS4 y en la Paleta de Propiedades poned: Posición Y en la Puerta de Vista: 85 para situad el lienzo bajo él de persona;
  • Redimensionad el lienzo de Persona para que rodee el Marco
  • Redimensionad CANVAS4 para que rodee la solapa de Alojamiento, en sus propiedades poned Bisel : Ninguno para que no se visualice en ejecución el borde del lienzo. Dimesionad WINDOW1 para que rodee el lienzo.
  • Aseguraos de que el bloque Persona está el primero en la lista de bloques
  • Ejecutad, corregid y salvad

        

Ventanas. Lienzos Tabulares

Diseño visualizado en modo Ver|Vistas Apiladas...

        

Ventanas. Lienzos Tabulares

Formulario RecursosHumanos en Ejecución

        

Visualización de Lienzos mediante Ventanas

 Developer2000 utiliza la arquitectura MDI (Interfaz de Múltiples Documentos).

En ejecución, Developer2000 dispone una ventana principal de aplicación,

que no dispone de lienzos, mediante la que visualiza el resto de las ventanas

de documento o de diálogo

 Estas últimas ventanas deben tener asociado un lienzo al menos

 El menú principal pertenece a la ventana principal, que siempre está abierta

 Las ventanas de tipo documento tienen restringida su visualización a la

ventana principal

 Las ventanas de diálogo pueden visualizarse fuera

 Otro criterio de clasificación de ventanas modales o no modales:

» Las modales requieren de una respuesta del usuario al mensaje que ofrecen para desaparecer y, en algunos casos, permitir continuar con la aplicación (cuadros de diálogo) » Las no modales permite acceder a otra ventana sin hacerla desaparecer