Descripció
En aquesta assignatura s´estudien les tècniques de disseny dels gestors centralitzats i es tracten en profunditat els conceptes avançats pel disseny de gestors distribuïts. Es comença amb un repàs de tota la teoria relacional i programació SQL ja assolida en les assignatures de l´àrea del primer cicle. A continuació es presenta l´arquitectura bàsica d´un gestor centralitzat i la seva evolució cap als gestors distribuïts. S´incideix a continuació en els principals problemes del disseny d´un sistema gestor, que són: estratègies de disseny de les estructures d´informació, processament de peticions i control de concurrència. Aquests apartats són importants per la construcció d´un sistema centralitzat però en el cas dels sistemes distribuïts són els punts clau perquè el sistema funcioni amb un rendiment acceptable.
Tipus assignatura
Optativa
Semestre
Primer
Crèdits
5.00
Coneixements previs

Cal tindre uns coneixements bàsics de bases de dades tant a nivell de modelització de sistemes (models entitat relació), com de llenguatges d´accés a la informació (SQL).

Objectius

A l´assignatura de sistemes gestors de bases de dades els alumnes adquereixen els coneixements i desenvolupen les habilitats que es mostren a continuació:
1.- Reforçar els coneixements bàsics de bases de dades centralitzades i càlcul relacional (SQL).
2.- Tenir coneixements sobre el disseny dels sistemes gestors de bases de dades actuals, tant centralitzats com distribuïts.
3.- Entendre el funcionament dels sistemes gestors actuals i conèixer les noves tendències en el seu disseny.
4.- Saber interpretar el seu funcionament per tal d´ajustar el rendiment del sistema en entorns tant transaccionals com analítics. S´incideix amb el treball en entorns amb grans volumns de dades, nivells grans de contenció i amb un nivell de concurrència elevat.
5.- Resoldre problemes en grup relatius als continguts estudiats a classe per tal de reforçar el seu coneixement i també analitzar amb més detall el seu funcionament.

Continguts

1 Introducció als gestors distribuïts
1.1 Definició d'una base de dades distribuïda
1.2 Serveis dels gestors distribuïts
1.3 Problemes principals dels gestors distribuïts
1.4 Arquitectura dels gestors distribuïts
1.5 Utilització de les bases de dades distribuïdes

2 Bases de dades relacionals
2.1 El model relacional
2.2 La normalització
2.3 Regles d'integritat
2.4 Càlcul relacional
2.5 Àlgebra relacional
2.6 Tipus de llenguatge
2.7 Model bàsic d'un sistema gestor relacional

3 Arquitectura dels sistemes gestors
3.1 Introducció
3.2 Nivells de transparència
3.3 El model ANSI/X3/SPARC
3.4 Models distribuïts
3.5 Gestió i control dels diccionaris

4 Disseny de gestors distribuïts
4.1 Introducció
4.2 Estratègies de disseny
4.3 Distribució
4.4 Fragmentació horitzontal
4.5 Ubicació
4.6 Exercicis de disseny

5 Processament de peticions
5.1 Introducció
5.2 Objectius del processament de peticions
5.3 Complexitat en les operacions d'àlgebra relacional
5.4 Caracterització en el processament de peticions
5.5 Nivells en el processament de peticions
5.6 Descomposició de peticions
5.7 Localització de la informació
5.8 Exercicis de processament de peticions

6 Optimització de peticions
6.1 Introducció
6.2 Modelització del sistema
6.3 Optimització en els gestors centralitzats
6.4 Ordenació de joins entre fragments
6.5 Algorismes aplicats a BDD
6.6 Algorismes d'execució de joins
6.7 Exercicis d'optimitzadors

7 Gestió de transaccions
7.1 Introducció a la gestió de transaccions
7.2 Control de concurrència
7.3 Consideracions arquitectòniques

8 Control de concurrència
8.1 Transaccions
8.2 Teoria de la serialització
8.3 Algorismes pessimistes basats en adquisicions
8.4 Detecció i resolució de bloqueig
8.5 Algorismes s2pl i ww2pl
8.6 Exercicis de control de concurrència

Metodologia

La metodologia utilitzada a l´assignatura de sistemes gestors de bases de dades es basa en classes magistrals reforçades amb la realització pels alumnes d´exercicis que es van proposant i resolent a classe.
Els continguts exposats en les classes estan disponibles en format electrònic a l´e-campus, així com tots els materials complementaris que els alumnes requereixen per poder cursar l´assignatura amb normalitat.
És una assignatura que també utilitza una metodologia semi-presencial. En aquesta els alumnes van assolint els coneixements mitjançant el seguiment de la guia d´estudi que està disponible a l´e-campus. La resolució de dubtes i en general la comunicació alumne-professor es fa mitjançant fòrums que hi ha a l´entorn e-campus i força cops de forma personalitzada amb correu electrònic. La comunicació professor-alumnes es fa mitjançant un tauler virtual del professor. En aquest es va orientant, informant i recordant a l´alumne el que ha de fer.

Avaluació

És una assignatura que s´imparteix durant el primer cuadrimestre del curs acadèmic i l´avaluació es fa a partir d´un examen final (A). Hi ha una convocatòria per la recuperació de l´assignatura que és al setembre del curs acadèmic.

En el format semipresencial es pot optar per la modalitat d´avaluació continua. En aquesta, l´alumne ha de realitzar uns exercicis i participar en els fòrums oberts de l´assignatura. Llavors, la nota final de l´assignatura és la màxima entre la nota de l´examen i una mitjana ponderada entre la nota de curs (40%) i la nota de l´examen (60%). Es fixa una nota mínima de 3,5 a l´examen per aplicar aquesta ponderació.

Criteris avaluació

El mètode d´avaluació dels difentents objectius és:

1.- Reforçar els coneixements bàsics de bases de dades centralitzades i càlcul relacional (SQL). (A) mitjançant la realització d´exàmens quatrimestrals.
2.- Tenir coneixements sobre el disseny dels sistemes gestors de bases de dades actuals, tant centralitzats com distribuïts. (A) mitjançant la realització d´exàmens quatrimestrals.
3.- Entendre el funcionament dels sistemes gestors actuals i conèixer les noves tendències en el seu disseny. (A) mitjançant la realització d´exàmens quatrimestrals.
4.- Saber interpretar el seu funcionament per tal d´ajustar el rendiment del sistema en entorns tant transaccionals com analítics. S´incideix amb el treball en entorns amb grans volumns de dades, nivells grans de contenció i amb un nivell de concurrència elevat. (A) mitjançant la realització d´exàmens quatrimestrals.
5.- Resoldre problemes en grup relatius als continguts estudiats a classe per tal de reforçar el seu coneixement i també analitzar amb més detall el seu funcionament. (F), (K), (G) mitjançant la realització d´exercicis i treballs en grup, informes de laboratori i realització de treballs pràctics amb ordinador.

Bibliografia 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 complementari

[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.