Programación  de  bases  de  datos

+Info
DEPARTAMENTO PROFESOR/ES
MATEMÁTICAS Y COMPUTACIÓN Beatriz Pérez Valle   (Responsable)
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 6 y 8, 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 6.
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 1, 3, 4 6 y 7.
Databases and Transaction Processing. 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, pero que también incluye un repaso muy completo sobre otros aspectos de las BD como, por ejemplo, los disparadores. Puede utilizarse en el tema 8 y como lectura complementaria para el tema 6.
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 4 y parte del tema 6 y tema 7.
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 4, 5 y 7.
Hibernate made easy : simplified data persistence with hibernate and JPA (Java Persistence API) annotations / by Cameron McKenzie-- [S. l.] : Hiberbook.com, cop. 2008
Hibernate search in action / Emmanuel Bernard, John Griffin.
Pro JPA 2 [electronic resource] :] Mastering the Java¿ Persistence API / by Mike Keith, Merrick Schnicariol.
Hibernate. Relational Persistence for Java and .NET
Procesamiento de Bases de Datos - Fundamentos, diseño e implementación (8ª Ed). David M. Kroenke. Prentice Hall, 2003. ISBN: 970-26-0325-0
Oracle Database - Java Developer's Guide. 11g Release 2 (11.2). December 2009.
The Java EE 7 Tutorial. Release 7 for Java EE Platform. September, 2013.


CONTEXTO
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. Muchos de los ejercicios están basados en casos reales que han tenido que ser resueltos por los profesores de la asignatura.
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.
Competencias específicas:

CE1: 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.

CE2: Ser capaz de aplicar de forma apropiada teorías, procedimientos y herramientas de la Ingeniería Informática en sus diversos aspectos (especificación, diseño, producción, despliegue y evaluación), sabiendo además justificar las decisiones adoptadas.

CE7: Ser capaz de modelar, abstraer, diseñar, explotar y almacenar los datos presentes en un sistema de información.
TEMARIO
Tema 1: Arquitecturas de aplicaciones de BD
1.
Introducción
2.
Topologías de aplicaciones
3.
División en capas de una aplicación
Tema 2. Repaso de Java
Tema 3. Panorámica general de la programación de BD
1.
Introducción
2.
Statement-Level interface
3.
Call-Level Interface
4.
SLI y CLI en Java
5.
Elementos de un API de acceso a BD
6.
ODBC, OLE DB y ADO
7.
Ejemplo de creación de un Data Source ODBC
Tema 4. JDBC
1.
Introducción
2.
Drivers JDBC
3.
La clase DriverManager
4.
Conexiones
5.
Ejecución de instrucciones
6.
Transacciones y SQL
7.
Cuando las cosas van mal
8.
Temas avanzados
9.
JDBC 2
Tema 5. Otros APIs de acceso a BD
1.
Introducción
2.
El SLI de Java: SQLJ
3.
Brevísimo vistazo a ADO.NET
Tema 6. Procesamiento de transacciones y acceso concurrente
1.
Introducción
2.
A qué problemas nos enfrentamos
3.
Concurrencia y anomalías
4.
Transacción: concepto y propiedades
5.
Restricciones de integridad y transacciones
6.
Recuperación de la BD
7.
Aislamiento de transacciones
8.
Control de la concurrencia
9.
Bloqueos en Oracle
10.
Deadlocks
11.
Control optimista de la concurrencia
Tema 7. Procedimientos almacenados en la BD
1.
Introducción
2.
Ventajas e inconvenientes del uso de procedimientos almacenados
3.
Lenguajes de procedimientos almacenados
4.
Breve introducción a PL/SQL
5.
Invocación de procedimientos almacenados desde Java
6.
Procedimientos almacenados en Java
Tema 8. Disparadores
1.
Introducción y concepto
2.
¿Por qué no basta con las Restricciones de Integridad?
3.
Modelo básico para disparadores
4.
Triggers en SQL99 y en Oracle
5.
Diseño de disparadores
6.
Peligros de los disparadores