Programación  de  bases  de  datos

+Info
DEPARTAMENTO PROFESOR/ES
MATEMÁTICAS Y COMPUTACIÓN Beatriz Pérez Valle
TITULACIONES EN LAS QUE SE IMPARTE LA ASIGNATURA
Titulación Carácter Curso Semestre Créditos Guía Docente
Grado en Ingeniería Informática Obligatoria 2 Segundo Semestre 6 pdf
Grado en Matemáticas Optativa 4 Segundo Semestre 6 pdf
BIBLIOGRAFÍA RECOMENDADA
Fundamentos de sistemas de bases de datos. R.A. Elmasri y S.B. Navathe. Addison Wesley 2007
COMENTARIO PROFESOR
Libro básico y extenso sobre bases de datos. Muy utilizado en las universidades a escala internacional. Se actualiza muy a menudo (cada dos o tres años) y se traduce a español con relativa rapidez. Cubre en buena proporción el tema 4, así como conceptos teóricos de los demás temas.
Bases de datos relacionales. Matilde Celma Giménez y otros. Prentice Hall 2003. ISBN: 84-205-3850-7
COMENTARIO PROFESOR
Libro específico sobre el modelo relacional. De autores españoles, cuenta con la experiencia de personas como Matilde Celma con una extensa experiencia en la enseñanza de bases de datos. Puede ser una lectura alternativa a la anterior con una forma diferente de explicar conceptos relacionados con el tema 4.
Principles of DB Systems with Internet and Java. G. Riccardi. Addison Wesley 2001. ISBN: 020161247X
COMENTARIO PROFESOR
Libro que trata las BD desde un punto de vista más aplicado. Es utilizado como bibliografía en los temas 2, 3, 4 y 6.
Databases and Transaction Processing: an application-oriented approach. Philip M. Lewis et al. Addison Wesley 2002, ISBN:0-321-21023-9
COMENTARIO PROFESOR
Libro que trata de forma profunda la gestión de transacciones en los gestores de BD. Puede utilizarse como lectura complementaria para el tema 4
JDBC API Tutorial and Reference, Third Edition. Maydene Fisher et al. Addison-Wesley Pub Co; 3rd edition (June 11, 2003). ISBN: 0321173848
COMENTARIO PROFESOR
Libro que cubre con gran profundidad la totalidad de los aspectos que sobre JDBC se tratan en la asignatura, así como otros que el alumno podría ampliar por su cuenta. Se utiliza sobre todo en el tema 3 y parte del tema 4 y tema 6.
Java Oracle Database Development. David J. Gallardo. Prentice Hall PTR (2003). ISBN: 0-13-046218-7
COMENTARIO PROFESOR
Este libro cubre varios aspectos prácticos de programación en BD usando el Oracle como sistema gestor: SQLJ, JDBC, PL/SQL. Puede ser usado por tanto en los temas 3, 4 y 6.
Beginning Java 8 APIs, Extensions and Libraries. Swing, JavaFX, JavaScript, JDBC and Network Programming APIs (2014). Referencia: Acceso al texto completo a través de SpringerLink (sólo ordenadores con IP-UR) en http://dx.doi.org/10.1007/978-1-4302-6662-4.
COMENTARIO PROFESOR
Este libro dedica el capítulo 6 a tratar aspectos de JDBC adaptados a la versión Java 8. Incluye muchos ejemplos, estrategias de diseño, etc. Puede utilizarse como consulta para el tema 3.
Hibernate made easy: simplified data persistence with hibernate and JPA (Java Persistence API) annotations / by Cameron McKenzie: Hiberbook.com, cop. 2008.
COMENTARIO PROFESOR
Se trata de un libro de referencia para JPA con Hibernate. Puede utilizarse como consulta para el tema 5.
Hibernate search in action / Emmanuel Bernard, John Griffin-- Greenwich (Connecticut): Manning, [2009]  ISBN 978-1-933988-64-1
COMENTARIO PROFESOR
Se trata de un libro de referencia para Hibernate. Puede utilizarse como consulta para el tema 5.
Pro JPA 2. Mastering the Java Persistence API / by Mike Keith, Merrick Schnicariol. 1. Berkeley, CA : Apress, 2010. [Recurso online]
COMENTARIO PROFESOR
Se trata de un libro de referencia para JPA que puede utilizarse como consulta para el tema 5.
Procesamiento de Bases de Datos - Fundamentos, diseño e implementación (8ª Ed). David M. Kroenke. Prentice Hall, 2003. ISBN: 970-26-0325-0
COMENTARIO PROFESOR
Es utilizado como bibliografía en el tema 2.
Oracle Database - Java Developer’s Guide. 11g Release 2 (11.2). December 2009
COMENTARIO PROFESOR
Al igual que el anterior, este libro cubre aspectos prácticos de programación en BD usando el Oracle como sistema gestor, centrándose en Oracle 11g. En particular, en el capítulo 5 se describe cómo programar y desplegar procedimientos y funciones almacenadas escritas en Java en Oracle 11g, y en el capítulo 7 se explica cómo invocarlas desde PL/SQL y Java. Puede usarse en los temas 3 y 6.
Java Platform, Enterprise Edition. The Java EE Tutorial. Release 7. September, 2014.
COMENTARIO PROFESOR
Tutorial de Java EE en el que aborda en la parte VIII, 8 capítulos sobre el API de persistencia Java Persistence API (JPA). Puede utilizarse como consulta para el tema 5.


CONTEXTO
Se trata de una asignatura obligatoria de 2º curso (2º; cuatrimestre). Es la tercera asignatura sobre bases de datos que se imparte en la titulación. La asignatura presenta nuevos conceptos, pero se asienta en otros ya impartidos, relacionados tanto con las bases de datos ( Bases de Datos y Diseño de Bases de Datos ) como con la programación, sobre todo la programación orientada a objetos . Para superarla es muy recomendable un nivel de conocimiento alto en SQL y, sobre todo, programación orientada a objetos en Java .
Se trata de una asignatura muy cercana al desempeño de la labor profesional. La mayoría de las aplicaciones informáticas de gestión incorporan una base de datos como soporte persistente de información. Los objetivos de la asignatura se centran en dotar al alumno de las herramientas necesarias para desarrollar los módulos que gestionan la base de datos en dichas aplicaciones . El enfoque es eminentemente aplicado . Abundan los casos prácticos.
COMPETENCIAS
COMPETENCIAS GENERALES:
CG1-Estar capacitado para analizar, razonar y evaluar de modo crítico, lógico y, en caso necesario, formal, sobre problemas que se planteen en su entorno.
CG2-Estar capacitado para, utilizando el nivel adecuado de abstracción, establecer y evaluar modelos que representen situaciones reales.
CG3-Estar capacitado para encontrar, relacionar, estructurar e interpretar datos, información y conocimiento provenientes de diversas fuentes.
CG7-Haber desarrollado aquellas habilidades de aprendizaje necesarias para continuar su formación.
CG8-Capacidad para concebir, redactar, organizar, planificar, desarrollar y firmar proyectos en el ámbito de la ingeniería en informática que tengan por objeto, la concepción, el desarrollo o la explotación de sistemas, servicios y aplicaciones informáticas.
CG10-Capacidad para diseñar, desarrollar, evaluar y asegurar la accesibilidad, ergonomía, usabilidad y seguridad de los sistemas, servicios y aplicaciones informáticas, así como de la información que gestionan.
CG12-Capacidad para concebir, desarrollar y mantener sistemas, servicios y aplicaciones informáticas empleando los métodos de la ingeniería del software como instrumento para el aseguramiento de su calidad.
CG15-Conocimiento de las materias básicas y tecnologías, que capaciten para el aprendizaje y desarrollo de nuevos métodos y tecnologías, así como las que les doten de una gran versatilidad para adaptarse a nuevas situaciones.

COMPETENCIAS ESPECÍFICAS:
CE13-Conocimiento, diseño y utilización de forma eficiente los tipos y estructuras de datos más adecuados a la resolución de un problema.
CE18-Conocimiento y aplicación de las características, funcionalidades y estructura de las bases de datos, que permitan su adecuado uso, y el diseño y el análisis e implementación de aplicaciones basadas en ellos.
CE19-Conocimiento y aplicación de las herramientas necesarias para el almacenamiento, procesamiento y acceso a los Sistemas de información, incluidos los basados en web.
CE27-Capacidad de dar solución a problemas de integración en función de las estrategias, estándares y tecnologías disponibles.
CE28-Capacidad de identificar y analizar problemas y diseñar, desarrollar, implementar, verificar y documentar soluciones software sobre la base de un conocimiento adecuado de las teorías, modelos y técnicas actuales.
TEMARIO
Tema 1. Repaso de Java
Tema 2: Arquitecturas de aplicaciones de BD

Introducción
Topologías de aplicaciones
División en capas de una aplicación
Tema 3. Panorámica general de la programación de BD

Introducción
Statement-Level interface
Call-Level Interface
SLI y CLI en Java
Elementos de un API de acceso a BD
ODBC, OLE DB y ADO
Ejemplo de creación de un Data Source ODBC
Tema 4. JDBC

Introducción
Drivers JDBC
La clase DriverManager
Conexiones
Ejecución de instrucciones
Transacciones y SQL
Cuando las cosas van mal
Temas avanzados
JDBC 2, 3 y 4Tema 5. Procesamiento de transacciones y acceso concurrente

Introducción
A qué problemas nos enfrentamos
Concurrencia y anomalías
Transacción: concepto y propiedades
Restricciones de integridad y transacciones
Recuperación de la BD
Aislamiento de transacciones
Control de la concurrencia
Bloqueos en Oracle
Deadlocks
Control optimista de la concurrenciaTema 6. Técnicas de mapeo Objecto/Relacional (ORM). JPA

Introducción a ORM
Introducción a Java Persistence API (JPA)
Características generales de JPA
Mapeo de elementos básicos
Manejando entidades
Introducción a JPQL (Java Persistence Query Language)Tema 7. Procedimientos almacenados en la BD

Introducción
Ventajas e inconvenientes del uso de procedimientos almacenados
Lenguajes de procedimientos almacenados
Invocación de procedimientos almacenados desde Java
Procedimientos almacenados en Java.