Descripción
En esta asignatura se estudian las técnicas de diseño de gestores centralizados y se tratan en profundidad los conceptos avanzados para el diseño de gestores distribuidos. Se comienza con un repaso de toda la teoría relacional i programación SQL ya estudiada en las asignaturas de primer ciclo. A continuación se presenta la arquitecta básica de un gestor centralizado y su evolución hacia los gestores distribuidos. Se incide, a continuación, en los principales problemas del diseño de un sistema gestor, que son: estrategias de diseño de los modelos de datos, procesamiento de peticiones y control de concurrencia. Estos apartados son importantes para la construcción de un sistema centralizado pero en el caso de los sistemas distribuidos son los puntos clave para que el sistema funcione con un rendimiento aceptable.
Tipo asignatura
Optativa
Semestre
Primero
Créditos
5.00
Conocimientos previos

El alumno ha de tener conocimientos básicos de base de datos tanto a nivel de modelización de sistemas (modelos entidad relación), como de lenguaje de acceso a la información. (SQL)

Objetivos

En la asignatura de sistemas gestores de base de datos los alumnos adquieren los conocimientos y desarrollan las habilidades que se muestran a continuación:
1.- Reforzar los conocimientos básicos de bases de datos centralizadas y cálculo relacional (SQL).
2.- Tener conocimientos sobre el diseño de los sistemas gestores de base de datos actuales, tanto centralizados como distribuidos.
3.- Entender el funcionamiento de los sistemas gestores actuales i conocer las nuevas tendencias en su diseño.
4.- Saber interpretar su funcionamiento para ajustar el rendimiento del sistema en entornos tanto transaccionales como analíticos. Se incide en el trabajo en entornos con grandes volúmenes de información, gran contención de información y con un nivel de concurrencia elevado.
5.- Resolver problemas en grupo relativos a los contenidos estudiados en clase para reforzar su conocimiento y también analizar con más detalle su funcionamiento.

Contenidos

1 Introducción a los gestores distribuidos
1.1 Definición de una base de datos distribuida
1.2 Servicios de los gestores distribuidos
1.3 Problemas principales de los gestores distribuidos
1.4 Arquitectura de los gestores distribuidos
1.5 Utilitzación de las bases de datos distribuidas

2 Bases de datos relacionales
2.1 El modelo relacional
2.2 La normalización
2.3 Reglas de integridad
2.4 Cálculo relacional
2.5 Álgebra relacional
2.6 Tipos de lenguages
2.7 Modelo básico de un sistema gestor relacional

3 Arquitectura de los sistemas gestores
3.1 Introducción
3.2 Niveles de transparencia
3.3 El modelo ANSI/X3/SPARC
3.4 Modelos distribuidos
3.5 Gestión y control de los diccionarios

4 Diseño de gestores distribuidos
4.1 Introducción
4.2 Tipos de diseño
4.3 Distribución
4.4 Fragmentación horitzontal
4.5 Ubicación
4.6 Ejercicios de diseño

5 Procesado de peticiones
5.1 Introducción
5.2 Objetivos del procesado de peticiones
5.3 Operaciones de álgebra relacional.
5.4 Caracterización en el procesado de peticiones
5.5 Niveles en el procesado de peticiones
5.6 Descomposición de peticiones
5.7 Localitzación de la información
5.8 Ejercicios de procesado de peticiones

6 Optimitzación de peticiones
6.1 Introducción
6.2 Modelos del sistema
6.3 Optimización en gestores centralizados
6.4 Ordenación de joins entre fragmentos
6.5 Algoritmos aplicados a SGBDD
6.6 Algoritmos de ejecución de joins
6.7 Ejercicios de optimización

7 Gestion de transacciones distribuidas
7.1 Introduccion a la gestión de transacciones
7.2 Control de concurrencia
7.3 Consideraciones arquitectónicas

8 Control de concurrencia distribuida
8.1 Transacciones
8.2 Teoria de la serialitzacion
8.3 Algoritmos pesimistas basados en adquisiciones
8.4 Detección y resolución de bloqueos
8.5 Algoritmos s2pl y ww2pl
8.6 Ejercicios de control de concurrencia

Metodología

La metodología utilizada en la asignatura de sistemas gestores de base de datos, se basa en clases magistrales reforzadas con la realización de ejercicios por los alumnos. Los contenidos expuestos en las clases están disponibles en formato electrónico en el e-campus, así como todos los materiales complementarios que los alumnos requieren para poder cursar la asignatura con normalidad.

Es una asignatura que utiliza una metodología semi-presencial. En esta, los alumnos van adquiriendo los conocimientos mediante el aprendizaje con la `guía de estudio´ que esta disponible en el e-campus. La respuesta a las dudas y en general la comunicación entre el alumno y el profesor, se hace mediante forums que existen en el entorno e-campus y también mediante la utilización del correo electrónico. La comunicación entre el profesor y los alumnos se hace mediante un tablón virtual del profesor. En este se va orientando, informando y recordando al alumno lo que tiene que hacer.

Evaluación

Es una asignatura que se imparte durante el primer cuatrimestre del curso académico y la evaluación se hace mediante un examen final (A). Hay una convocatoria para la recuperación de la asignatura, que es en el mes de septiembre del curso académico.
En el formato semipresencial se puede optar por la modalidad de evaluación contínua. En esta, el alumno ha de hacer unos ejercicios y participar en los foros abiertos de la asignatura. La nota final de la asignatura es la máxima entre la nota del examen y la media ponderada entre la nota del curso (40%) y la nota del examen (60%). Se fija una nota mínima de 3,5 al examen para aplicar esta ponderación.

Criterios evaluación

El método de evaluación de los diferentes objetivos es:

1.- Reforzar los conocimientos básicos de bases de datos centralizadas y cálculo relacional (SQL). (A) mediante la realización de exámenes cuatrimestrales.
2.- Tener conocimientos sobre el diseño de los sistemas gestores de base de datos actuales, tanto centralizados como distribuidos. (A) mediante la realización de exámenes cuatrimestrales.
3.- Entender el funcionamiento de los sistemas gestores actuales i conocer las nuevas tendencias en su diseño. (A) mediante la realización de exámenes cuatrimestrales.
4.- Saber interpretar su funcionamiento para ajustar el rendimiento del sistema en entornos tanto transaccionales como analíticos. Se incide en el trabajo en entornos con grandes volúmenes de información, gran contención de información y con un nivel de concurrencia elevado. (A) mediante la realización de exámenes cuatrimestrales.
5.- Resolver problemas en grupo relativos a los contenidos estudiados en clase para reforzar su conocimiento y también analizar con más detalle su funcionamiento. (F), (K), (G) mediante la realización de ejercicios y trabajos en grupo, informes de laboratorio y realización de trabajos prácticos con ordenador.

Bibliografía básica

[1]Özsu M.Tamer and Patrick Valduriez, Principles of Distributed Database Systems, Prentice Hall, 1999.
[2]August Climent, Guia d´estudi de sistemes gestors de bases de dades, Enginyeria i Arquitectura La Salle, 2003.
[3]August Climent, Sistemes Gestors de Bases de Dades, Enginyeria i Arquitectura La Salle, setembre 2007.

Material complementario

[4]Garcia-Molina, Hector; Ullman, Jeffrey D.; Widom, Jennifer, Database System Implementation, Prentice-Hall, 2000
[5]Abdelguerfi, Mahdi; Wong, Kam-Fai, Parallel Database Techniques, IEEE Computer Society Press, 1998.