- Arquitecturas de aplicaciones de informáticas con sistema de persistencia basado en BD.
- Panorámica general de la programación de BBDD.
- APIs de programación de aplicaciones con acceso a BD.
- Procesamiento de transacciones, acceso concurrente y recuperación en BBDD.
- Procedimientos almacenados en la BD.
- Disparadores en BBDD.
Se aconseja conocimiento del lenguaje de programación Java, conceptos de orientación a objetos, conocimiento alto de SQL.
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. Muchos de los ejercicios están basados en casos reales que han tenido que ser resueltos por los profesores de la asignatura.
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.
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.
CE3 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.
CE5 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.
CE8 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.
- Entender los fundamentos de la programación de BD en sus dos aspectos: programación de aplicaciones externas y programación de procedimientos almacenados.
- Comprender el concepto de transacción y sus características. Particularización para el caso de Oracle. Ser capaz de reconocer situaciones transaccionales y gestionarlas adecuadamente.
- Comprender la problemática relacionada con la concurrencia en las BD y las posibles soluciones (bloqueos, aislamiento, estrategias optimistas).
- Comprender los mecanismos de recuperación en un SGBD.
- Comprender la arquitectura básica de una aplicación de BD con orientación a objetos (capas).
- Conocer las alternativas tecnológicas en cuanto a la programación de aplicaciones de BD (SLI, CLI).
- Comprender la necesidad de la existencia de APIs estándar de acceso a BD.
- Dominar algún API de programación de aplicaciones con acceso a BD.
- Entender el concepto de programa almacenado en la base de datos: ventajas e inconvenientes que conlleva su uso.
- Manejar algún lenguaje de programación de desarrollo de procedimientos almacenados y utilizarlo para desplegar procedimientos almacenados en la BD.
- Conocer y manejar el concepto de disparador en una BD.
- Ser capaz de diseñar y programar disparadores en una BD.
- Adquirir experiencia práctica en el desarrollo (diseño e implementación) de la capa de persistencia de aplicaciones que acceden a una BD.
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
Tema 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 concurrencia
Tema 6. Técnicas de mapeo Objecto/Relacional (ORM). Hibernate
-
Introducción a ORM con Hibernate
-
Características de Hibernate
-
Arquitectura de una aplicación desarrollada utilizando Hibernate
-
Java Persistence API (JPA). Mapeo de elementos básicos.
-
Breve introducción a HQL (Hibernate 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
Tema 8. Disparadores
-
Introducción y concepto
-
¿Por qué no basta con las Restricciones de Integridad?
-
Modelo básico para disparadores
-
Triggers en SQL99 y en Oracle
-
Diseño de disparadores
-
Peligros de los disparadores
Tipo: | Título |
Básica | Bases de datos relacionales. Absys Biba |
Básica | Databases and transaction processing: an application-oriented approach. Absys Biba |
Básica | Fundamentos de sistemas de bases de datos. Absys Biba |
Básica | JDBC API Tutorial and Reference. Absys Biba |
Básica | Java Oracle Database Development. Absys Biba |
Básica | Principles of database systems with internet and Java applications. Absys Biba |
Básica | Hibernate made easy : simplified data persistence with hibernate and JPA Absys Biba |
Básica | Java persistence with Hibernate Absys Biba |
Complementaria | Beginning hibernate : from novice to professional Absys Biba |
Recursos en Internet |
Oracle9 i - Java Stored Procedures Developer's Guide. Copyright © 2000, 2002 Oracle Corporation. |
Procesamiento de Bases de Datos - Fundamentos, diseño e implementación (8ª Ed). David M. Kroenke. Prentice Hall, 2003. ISBN: 970-26-0325-0 |
Hibernate. Relational Persistence for Java and .NET |
Para los estudiantes a tiempo parcial (reconocidos como tales por la Universidad), las actividades de evaluación no recuperable podrán ser sustituidas por otras, a especificar en cada caso. Esta posibilidad se habilitará siempre y cuando la causa que le impida la realización de la actividad de evaluación programada sea la que ha llevado al reconocimiento de la dedicación a tiempo parcial.
Para obtener el 5 % de la calificación correspondiente a la asistencia a prácticas es necesario asistir como mínimo a todas las sesiones de prácticas salvo una, y entregar todos los resultados especificados en los guiones de prácticas salvo los de un guión. Para excusar las faltas de asistencia será necesario aportar un documento justificativo.
Para promediar las notas, es necesario obtener una nota superior o igual a 3 en las pruebas A2, B y C. Si la nota de algunas de las pruebas es inferior a 3, la calificación final de la asignatura será la de la nota más baja de las partes.
Prueba A1: Se pueden usar apuntes en cualquier soporte de sólo lectura.
Prueba A2: Se pueden usar apuntes en cualquier soporte de sólo lectura. Si el alumno suspende la asignatura en la convocatoria de Mayo, la prueba debe recuperarse si la calificación de la misma es inferior a 5.
Prueba B: Se pueden usar apuntes. Si el alumno suspende la asignatura en la convocatoria de Mayo, la prueba debe recuperarse si la calificación de la misma es inferior a 5.