



Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Encuentra los documentos específicos para los exámenes de tu universidad
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
Programación de Bases de Datos
Tipo: Ejercicios
1 / 5
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!




En esta tercera práctica usaremos la base de datos (BD) con la que se ha trabajado en prácticas anteriores (en concreto, usaremos el esquema de la BD de la práctica 2) y accederemos desde Java usando JDBC. Os facilitamos un código inicial que tenéis que evolucionar para resolver los ejercicios propuestos. El código compila correctamente pero es incompleto: no hace lo que se supone que tiene que hacer. Vuestro trabajo es completar el código en aquellas partes que os hemos dejado preparadas. Dentro del código hemos dejado comentarios con el prefijo TODO (de “to do” en inglés, “para hacer”). Es una convención. No hace falta que borréis estos comentarios, os indican donde tenéis que añadir vuestro código. La complejidad del código a desarrollar no es grande y podéis usar cualquier entorno de desarrollo Java (Eclipse, NetBeans, IntelliJ IDEA, etc. o simplemente un editor de texto como por ejemplo Notepad, Ultraedit, etc.) para realizarla. No es el objetivo de esta práctica que aprendáis ningún entorno de programación en concreto y, por lo tanto, os recomendamos trabajar con aquel con el que estéis familiarizados para que no os atasquéis en este punto. Por otro lado, podéis usar cualquier versión de Java superior a 1.5. En cuanto a la organización del código de la práctica, veréis que todo el código Java se encuentra en el directorio /src/main/java , mientras que los ficheros adicionales que se utilizan se encuentran en el directorio /src/main/resources. Dentro del código Java suministrado hay el paquete edu.uoc.practica.bd.util que contiene varias clases de utilidad que se utilizan para tratar la presentación de listados, la lectura de ficheros o el tratamiento de arrays. De estas clases, sólo hará falta que modifiquéis la clase DBAccessor , que es la encargada de obtener las conexiones a la base de datos. Los parámetros que usan para establecer las conexiones (servidor, puerto, usuario, etc.) se encuentran en el fichero /src/main/resources/db.properties. En todos los casos tenéis que pensar cuál es el mejor tipo de sentencia JDBC que podéis usar ( Statement , PreparedStatement , CallableStatement , etc.) así como de qué manera tenéis que tratar las transacciones ( commit y rollback ) y qué tenéis que hacer con las excepciones. Siempre tenéis que garantizar que se cierran todos los recursos.
Para la correcta ejecución de la tercera parte de la práctica, hay que volver a crear la base de datos ejecutando los scripts siguientes, que os facilitamos junto al enunciado:
Se pide hacer un programa que liste la información de la tabla REPORT_BAND construida y rellenada en el primer ejercicio de la entrega de la segunda parte de la práctica. En la carpeta sql/PR2 del zip que adjuntamos junto al enunciado, encontraréis el código sql necesario para construir y rellenar la tabla REPORT_BAND. En concreto se quiere un listado de esta tabla ordenado de forma descendente por número de álbumes. La cabecera será: Id band Num instruments Num members alive Big albums Num short songs ======= =============== ================= ========== =============== Si la tabla está vacía se dará un mensaje “List without data”. Se tendrá que realizar la gestión de errores necesaria y en el supuesto de que se produzcan, se tendrá que devolver un error genérico “ERROR: List not available”.
Nos hacen llegar un fichero llamado exercise2.data, para ir actualizando información de nuestra base de datos. Este fichero contiene datos nuevos a insertar en la base de datos. El fichero se carga en el sistema tal como se detalla a continuación. La primera línea del fichero es un comentario (que el código que os damos ya se encarga de ignorar) y que contiene la descripción de cada uno de los elementos del fichero, que van separados por comas. Las líneas posteriores de este fichero son los datos de los grupos con los cuales se actualizarán las tablas BAND y MEMBER. Concretamente, hace falta que hagáis un programa que, por cada una de estas líneas, haga lo siguiente:
● Os recomendamos compilar y ejecutar el fichero que entreguéis, por si habéis hecho alguna modificación de última hora (reordenación del código, algún comentario adicional, etc.). ● No se puntuará la entrega de ningún fichero si genera errores de compilación. ● Se valorará la corrección en el uso de las clases del JDBC. ● Que las operaciones INSERT y UPDATE se ejecuten haciendo lo que pide el ejercicio. ● Que se haga correctamente el Rollback. ● Que se haga el cierre de todos los recursos. ● Se tendrá en cuenta en la calificación que el código entregado presente comentarios que permitan comprender su funcionamiento. ● La calificación también se verá penalizada si os dejáis “espías” a lo largo del código. ● Para obtener la calificación máxima se tendrá en cuenta tanto la claridad del código como la eficiencia del mismo. ● Igualmente, para obtener la máxima calificación, se tendrán que dar los ejemplos, que muestren el funcionamiento del programa en todas las situaciones pedidas, en el documento de explicaciones que tenéis que librar.