Informació general


  • Tipus d'assignatura: Obligatòria
  • Coordinador: Enric Sesa Nogueras
  • Trimestre: 1
  • Crèdits: 4
  • Professorat:

Idiomes d'impartició


  • Català
  • Castellano
  • English

Aquesta assignatura és part de l’oferta per a estudiants internacionals. La docència d’aquesta assignatura és en castellà. Algunes sessions, la bibliografia, part dels continguts i les eines poden ser en anglès. Tanmateix, el català, la llengua del nostre país, pot ser usada lliurament pels seus estudiants.

Descripció


L’objectiu general de l’assignatura és l’aprofundiment en el coneixement de les bases de dades i dels sistemes gestors de bases de dades, descobrint l’ampliació procedimental del llenguatge SQL per a la implementació dels dissenys externs de les bases de dades, coneixent l’arquitectura dels SGBD per a poder gestionar els mètodes d’accés a les dades, optimitzar les consultes SQL, definir el disseny físic i gestionar la concurrència.  

Resultats d'aprenentatge


A nivell general, aquesta assignatura contribueix als següents resultats d'aprenentatge especificats per a la matèria d'Enginyeria del software a la qual pertany:

  • (1) Utilitzar de forma apropiada teories, procediments i eines en el desenvolupament professional de l'enginyeria informàtica en tots els seus àmbits (especificació, disseny, implementació, desplegament -implantació- i avaluació de productes) de manera que es demostri la comprensió dels compromisos adoptats a les decisions de disseny.
  • (2) Prendre iniciatives que generin oportunitats, nous objectes o solucions noves, amb una visió d'implementació de procés i de mercat, i que impliqui als altres en projectes que s'han de desenvolupar (capacitat d'actuar de manera autònoma).
  • (3) Especificar, dissenyar, implementar, gestionar i mantenir sistemes i serveis software complexos i/o crítics.
  • (4) Avaluar i seleccionar plataformes de producció hardware i software per a l'execució d'aplicacions i de serveis informàtics.
  • (5) Avaluar sistemes hardware/software en funció d'un criteri de qualitat determinat.
  • (6) Determinar els factors que incideixen negativament en la seguretat i la fiabilitat d'un sistema hardware/software, i minimitzar els seus efectes.
  • (7) Identificar tecnologies actuals i emergents i avaluar si són aplicables, i en què mesura, per a satisfer les necessitats dels usuaris.
  • (8) Dissenyar solucions que integrin tecnologies de hardware, software i comunicacions (i capacitat de desenvolupar solucions específiques de software de sistemes) per a sistemes distribuïts i dispositius de computació ubícua.
  • (9) Comprendre i utilitzar eficaçment manuals, especificacions de productes i qualsevol altra informació de caràcter tècnic escrita en anglès.

A un nivell més concret, en acabar l’assignatura l’estudiant ha de ser capaç de:

  • RA1: Programar de forma avançada un llenguatge procedimental de definició de bases de dades (en el curs 2019/2020 amb PL/SQL d'Oracle). (Col·labora a 1,2,3,4,5,6,9)
  • RA1.1: Desenvolupar funcions, procediments i paquets amb PL/SQL. (Col·labora a 1,2,3,4,5,6,9)
  • RA1.2: Gestionar excepcions amb PL/SQL. (Col·labora a 1,2,3,4,5,6,9)
  • RA1.3: Definir disparadors de bases de dades amb PL/SQL. (Col·labora a 1,2,3,4,5,6,9)
  • RA2: Implementar un disseny extern amb vistes, vistes materialitzades, procediments, funcions i paquets. (Col·labora a 1,2,3,5,6,8,9)
  • RA3: Implementar un disseny intern o físic a partir del disseny lògic. (Col·labora a 1,2,3,4,5,6,7,8,9)
  • RA4: Definir bases de dades distribuïdes. (Col·labora a 1,2,3,4,5,6,7,8,9)
  • RA5: Identificar les parts i les funcions de cada component de l'arquitectura d'un sistema gestor de base de dades. (Col·labora a 1,2,4,5,6,7,9)
  • RA6: Optimitzar l'execució de sentències SQL decidint el millor pla d'execució i els millors mètodes d'accés en cada cas: índexs B-Tree i Bitmap, funcions de Hash, clusters. (Col·labora a 1,2,3,4,5,6,7,9)
  • RA7: Definir i gestionar la concurrència en bases de dades.(Col·labora a 1,2,3,4,5,6,7,8,9)
  • RA8: Gestionar l'execució concurrent de sentències SQL. (Col·labora a 1,2,3,4,5,6,8,9)

 

Metodologia de treball


Les hores d'aprenentatge dirigit comprenen:

Classes teòriques en gran grup en les quals:

 > el professorat o els professionals convidats introdueixen els continguts de l'assignatura.

 > es realitzen petites activitats docents que persegueixen que l'estudiant sigui un protagonista actiu en l'adquisició dels seus coneixements.

Pràctiques en equips petits de dues persones que tenen una part que es realitza al laboratori conduïdes o supervisades pel professorat i una part en la que l'equip ha de funcionar autònom.

Dins les hores d'aprenentatge autònom es consideren les hores per a preparar les classes teòriques, les hores per a estudiar i consolidar els coneixements adquirits, les hores per a preparar el treball de les pràctiques i, per últim, les hores que l'estudiant pot dedicar a augmentar i complementar els seus coneixements sobre la matèria.

 

Les eines confirmades que s’utilitzaran en el curs 2019/20 són: Oracle Academy, PL/SQL, Oracle APEX, Oracle Database i Oracle SQL Developer

Continguts


Tema 1

Títol contingut 1 Disseny extern de bases de dades

Dedicació: GG:15h GP:6h AA:30h

 

 

 

Descripció

Introducció als llenguatges procedimentals de bases de dades, que permeten enriquir del disseny lògic i la definició de regles de negoci avançades de bases de dades per una banda i, per una altra, implementar el disseny extern i el disseny distribuït.  

Temari

1.1 Llenguatges transaccionals o procedimentals dels SGBD

1.2 Procediments i funcions

1.3 Tipus Abstractes de Dades: paquets i tipus.

1.4 Disparadors

1.5 Sinònims, vistes, vistes materialitzades

1.6 Implementació d'esquemes externs

1.7 Implementació de bases de dades distribuïdes

Tema 2

Títol contingut 2:  Arquitectura, estructura, mètodes d'accés i optimització de SGBD

Dedicació:GG:10h GP:2h AA:20h

 

 

 

Descripció

Aprofundiment en el coneixement de les bases de dades i dels sistemes gestors de bases de dades, l’arquitectura dels SGBD per a poder gestionar els mètodes d’accés a les dades, optimitzar l’execució de les consultes SQL i definir el disseny físic.

Temari

2.1 Arquitectura de SGBD

2.2 Estructura interna de bases de dades

2.3 Mètodes d'accés

2.4 Processament de consultes i plans d'execució

2.5 Optimització de sentències SQL

Tema 3

Títol contingut 3:  Control de concurrència

Dedicació:GG:5h GP:2h AA:10h

 

 

 

Descripció

Introducció al control de concurrència en bases de dades, aprenentatge de les eines per gestionar les transaccions, la concurrència i els sistemes ACID. Gestió de la consistència en lectura i actualització.

Temari

3.1 Gestió de transaccions i control de concurrència

2.2 Sistemes ACID

2.3 Consistència en lectura

2.4 Gestió de la seriabilitat, els bloquejos i els deadlocks.

Activitats d'aprenentatge


Activitat 1:

Laboratori de pràctiques de programació amb llenguatges procedimentals de definició de bases de dades
(MECES 2 descriptors a) b) c) d) i f) )

Descripció:

Pràctiques de programació de blocs, excepcions, procediments, funcions, paquets i disparadors amb PL/SQL.

Tres sessions de pràctiques (grup petit), la 1, 2 i 3 on es treballa el llenguatge PL/SQL d'Oracle

Material: Oracle12c, PL/SQL, SQL Developer, Oracle APEX, Oracle Academy
Lliurable:

Scripts de sentències PL/SQL
Esquema de bases de dades
Avaluació individual, exercicis i qüestions resoltes individualment

Resultats d'aprenentatge RA1 (RA 1.1, RA 1.2 i RA 1.3)
Competències a les que col·labora

B2 (aplicar coneixements de PL/SQL a resoldre problemes reals d'ús de dades)
B4 (redactar comentaris tècnics al codi de l'script de PL/SQL)
B5 (descobrir aplicacions avançades de definició avançada de bases de dades amb llenguatges procedimentals que puguin ampliar a la vida professional o complementar la seva formació amb cursos especialitzats)
T1 (llegir documentació tècnica en anglès i usar comandaments i sentències PL/SQL amb paraules clau en anglès)
T2 (activitat realitzada en equip de dos)
EFB4 (Programació amb PL/SQL per consultar, actualitzar i definir dades)
CIN1 (Desenvolupar bases de dades que siguin fiables, segures i de qualitat)
CIN8_(Capacitat per construir i mantenir bases de dades de forma robusta, segura i eficient)
CIN12_(Coneixement i aplicació de les característiques, funcionalitats i estructura de les bases de dades)
CIN13_(Coneixement i aplicació de les eines necessàries per a l'emmagatzematge, processament i accés als sistemes d'informació)
EIS1_(Desenvolupar, mantenir i avaluar bases de dades que satisfacin tots els requisits de l'usuari i es comportin de forma fiable i eficient)
EIS2_(Valorar les necessitats del client i especificar els requisits de la base de dades per a satisfer aquestes necessitats)
EIS4_(Identificar i analitzar problemes i dissenyar, desenvolupar, implementar, verificar i documentar solucions software en el camp de les bases de dades)
ESI3_(Participar activament en l'especificació, disseny, implementació i manteniment de les bases de dades que necessiten els sistemes d'informació i comunicació)

Avaluació: 15% de la nota de l'assignatura

 

Activitat 2:

Projecte de disseny extern d'una base de dades 
(MECES 2 descriptors a) b) c) d) e) i f) )

Descripció:

Projecte de curs per a la definició d'una base de dades seguint les etapes de disseny conceptual, lògic, físic per acabar amb una proposta de disseny extern.

Seminaris 1,2 i 3 
Material de suport: Oracle12c, PL/SQL, SQL Developer, Oracle APEX, Oracle Academy, eina de modelització i generació de bases de dades
Lliurables:
  • Informe final del projecte
  • Script de creació del disseny extern
  • Esquema de la base de dades
  • Avaluació individual, exercicis i qüestions resoltes individualment
Resultats d'aprenentatge  RA1 (RA 1.1, RA 1.2, RA 1.3), RA2 
Competències a les que col·labora

B2 (aplicar coneixements de disseny extern de bases de dades a resoldre problemes reals d'ús de dades)
B4 (redactar i geneerar la documentació del projecte)
B5 (descobrir tècniques avançades de disseny extern de bases de dades que puguin ampliar a la vida professional o complementar la seva formació amb cursos especialitzats)
T1 (llegir documentació tècnica en anglès i usar comandaments i sentències PL/SQL amb paraules clau en anglès)
T2 (activitat realitzada en equip de dos)
CIN1 (Dissenyar i desenvolupar bases de dades que siguin fiables, segures i de qualitat)
CIN2 (Planificar i desplegar un projecte de disseny i desenvolupament de base de dades)
CIN3 (Comprendre la importància de les habilitats de comunicació en la redacció d'informes tècnics) 
CIN4 (Elaborar el plec de condicions tècniques d'un disseny extern de bases de dades)
CIN5_(Ús d'un disseny extern per a millorar l'administració i el manteniment d'una base de dades)
CIN8_(Capacitat per analitzar, dissenyar, construir i mantenir bases de dades de forma robusta, segura i eficient)
CIN12_(Coneixement i aplicació de les característiques, funcionalitats i estructura de les bases de dades)
CIN13_(Coneixement i aplicació de les eines necessàries per a l'emmagatzematge, processament i accés als sistemes d'informació) CIN14_(Coneixement i aplicació dels principis fonamentals i tècniques bàsiques de la programació de la concurrència a bases de dades i de la distribució de dades)
EIS1_(Desenvolupar, mantenir i avaluar bases de dades que satisfacin tots els requisits de l'usuari i es comportin de forma fiable i eficient)
EIS2_(Valorar les necessitats del client i especificar els requisits de la base de dades per a satisfer aquestes necessitats)
EIS4_(Identificar i analitzar problemes i dissenyar, desenvolupar, implementar, verificar i documentar solucions software en el camp de les bases de dades)
EIS5_(Identificar, avaluar i gestionar els riscos potencials associats a un accés a la base de dades sense capa de disseny extern)
EIS6_(Dissenyar solucions que permetin aïllar i gestionar l'accés a dades sensibles com les personals mitjançant un disseny extern)
ESI2_(Determinar requisits de disseny extern per a desenvolupar els sistemes d'informació i comunicació d'una organització tenint present aspectes de seguretat i compliment de la normativa i la legislació vigent)
ESI3_(Participar activament en l'especificació, disseny, implementació i manteniment de les bases de dades que necessiten els sistemes d'informació i comunicació)

Avaluació 10% de la nota de l'assignatura

 

Activitat 3:

Laboratori de pràctiques d’optimització de sentències SQL i control de concurrència
(MECES 2 descriptors a) b) c) d) i f) )

Descripció:

Tècniques d'optimització de consulta i ús de l'EXPLAIN PLAN
Control de concurrència: gestió de seriabilitat, consistència en lectura, bloquejos i inter-bloquejos
Dues sessions de pràctiques (grup petit), la 4 i 5 i dos seminaris (4 i 5).

Material: Oracle12c, SQL Developer, Oracle APEX
Lliurable:

Informe d'optimització de consultes SQL
Informe de control de concurrència
Avaluació individual, exercicis i qüestions resoltes individualment

Resultats d'aprenentatge (RA3, RA4, RA5, RA6, RA7, RA8)
Competències a les que col·labora

B2 (aplicar coneixements d'optimització i concurrència per a resoldre problemes reals d'ús de dades)
B4 (redactar comentaris i arguments adients als informes de pràctiques)
B5 (descobrir aplicacions avançades de l'optimització i de la gestió de la concurrència que puguin ampliar a la vida professional o complementar la seva formació amb cursos especialitzats)
T1 (llegir documentació tècnica en anglès i usar comandaments i sentències SQL amb paraules clau en anglès)
T2 (activitat realitzada en equip de dos)
EFB4 (Programació amb SQL per consultar l'optimització)
CIN1 (Desenvolupar bases de dades que siguin fiables, segures i de qualitat)
CIN5 (Administració i manteniment de bases de dades)
CIN8_(Capacitat per construir i mantenir bases de dades de forma robusta, segura i eficient)
CIN12_(Coneixement i aplicació de les característiques, funcionalitats i estructura de les bases de dades)
CIN13_(Coneixement i aplicació de les eines necessàries per a l'emmagatzematge, processament i accés als sistemes d'informació)
CIN14_(Coneixement i aplicació dels principis fonamentals i tècniques bàsiques de la programació de la concurrència a bases de dades i de la distribució de dades)  
EIS1_(Desenvolupar, mantenir i avaluar bases de dades que satisfacin tots els requisits de l'usuari i es comportin de forma fiable i eficient)
EIS2_(Valorar les necessitats del client i especificar els requisits de la base de dades per a satisfer aquestes necessitats)
EIS4_(Identificar i analitzar problemes i dissenyar, desenvolupar, implementar, verificar i documentar solucions software en el camp de les bases de dades)
EIS5_(Identificar, avaluar i gestionar els riscos potencials d'una mala optimització de l'accés a les dades i d'un deficient control de la concurrència)
ESI3_(Participar activament en l'especificació, disseny, implementació i manteniment de les bases de dades que necessiten els sistemes d'informació i comunicació)

Avaluació: 15% de la nota de l'assignatura.

 

Activitat 4:

Examen de disseny extern i de programació amb llenguatges procedimentals de definició de bases de dades (Tema 1):

(MECES 2 descriptors a) b) c) i d)

Descripció: Prova individual per avaluar els coneixements adquirits sobre disseny extern de bases de dades i programació amb llenguatges procedimentals de bases de dades
Lliurables:
  • Preguntes i exercicis de llenguatges procedimentals
  • Preguntes i exercicis de disseny extern de base de dades
Resultats d'aprenentatge RA1 (RA1.1, RA1.2, RA1.3) RA2
Competències a les que col·labora

B2 (aplicar coneixements de PL/SQL i disseny extern de bases de dades a resoldre problemes reals d'ús de dades)
EFB4 (Programació amb PL/SQL per consultar, actualitzar i definir dades)
CIN1 (Dissenyar i desenvolupar bases de dades que siguin fiables, segures i de qualitat)
CIN2 (Planificar i desplegar un projecte de disseny i desenvolupament de base de dades)
CIN4 (Elaborar el plec de condicions tècniques d'un disseny extern de bases de dades)
CIN5_(Ús d'un disseny extern per a millorar l'administració i el manteniment d'una base de dades)
CIN8_(Capacitat per analitzar, dissenyar, construir i mantenir bases de dades de forma robusta, segura i eficient)
CIN12_(Coneixement i aplicació de les característiques, funcionalitats i estructura de les bases de dades)
CIN13_(Coneixement i aplicació de les eines necessàries per a l'emmagatzematge, processament i accés als sistemes d'informació)
CIN14_(Coneixement i aplicació dels principis fonamentals i tècniques bàsiques de la programació de la concurrència a bases de dades i de la distribució de dades)
EIS1_(Desenvolupar, mantenir i avaluar bases de dades que satisfacin tots els requisits de l'usuari i es comportin de forma fiable i eficient)
EIS2_(Valorar les necessitats del client i especificar els requisits de la base de dades per a satisfer aquestes necessitats)
EIS4_(Identificar i analitzar problemes i dissenyar, desenvolupar, implementar, verificar i documentar solucions software en el camp de les bases de dades)
ESI2_(Determinar requisits de disseny extern per a desenvolupar els sistemes d'informació i comunicació d'una organització tenint present aspectes de seguretat i compliment de la normativa i la legislació vigent)
ESI3_(Participar activament en l'especificació, disseny, implementació i manteniment de les bases de dades que necessiten els sistemes d'informació i comunicació)

Avaluació: 30% de la nota de l'assignatura

 

Activitat 5:

Examen d’arquitectura de SGBD, optimització i control de concurrència (Temes 2 i 3)
(MECES 2 descriptors a) b) c) i d) )

Descripció: Prova d'avaluació individual per mesurar el nivell d'expertesa en optimització de sentències SQL  i en l'ús de SQL  per gestionar transaccions i controlar la concurrència
Lliurables:
  • Resolució de problemes d'optimització de sentències SQL
  • Avaluació d'arquitectures, estructures físiques i mètodes d'accés a SGBD
  • Resolució de  problemes de gestió de transaccions i control de la concurrència
Resultats d'aprenentatge RA3, RA4, RA5, RA6, RA7, RA8
Competències a les que col·labora

B2 (aplicar coneixements d'optimització i concurrència per a resoldre problemes reals d'ús de dades)
EFB4 (Programació amb SQL per consultar l'optiització i gestionar la concurrència)
CIN1 (Dissenyar i desenvolupar bases de dades que siguin fiables, segures i de qualitat)
CIN4 (Elaborar condicions i requisits tècnics d'un disseny intern de bases de dades)
CIN5 (Administració i manteniment de bases de dades)
CIN8_(Capacitat per analitzar, dissenyar, construir i mantenir bases de dades de forma robusta, segura i eficient)
CIN12_(Coneixement i aplicació de les característiques, funcionalitats i estructura de les bases de dades)
CIN13_(Coneixement i aplicació de les eines necessàries per a l'emmagatzematge, processament i accés als sistemes d'informació)
CIN14_(Coneixement i aplicació dels principis fonamentals i tècniques bàsiques de la programació de la concurrència a bases de dades i de la distribució de dades)
EIS1_(Desenvolupar, mantenir i avaluar bases de dades que satisfacin tots els requisits de l'usuari i es comportin de forma fiable i eficient)
EIS2_(Valorar les necessitats del client i especificar els requisits de la base de dades per a satisfer aquestes necessitats)
EIS4_(Identificar i analitzar problemes i dissenyar, desenvolupar, implementar, verificar i documentar solucions software en el camp de les bases de dades)
EIS5_(Identificar, avaluar i gestionar els riscos potencials d'una mala optimització de l'accés a les dades i d'un deficient control de la concurrència)
ESI3_(Participar activament en l'especificació, disseny, implementació i manteniment de les bases de dades que necessiten els sistemes d'informació i comunicació)

Avaluació: 30% de la nota final de l'assignatura

Sistema d'avaluació


Sistema de qualificació (avaluació)

 

Laboratori de pràctiques de Disseny extern i distribuït: 15% (sessions de pràctiques 1, 2 i 3)

Projecte de disseny extern: 10% (Treball al llarg del curs) (seminaris 1,2 i 3)

Laboratori de pràctiques d’optimització de sentències SQL i control de concurrència: 15% (sessions de pràctiques 4 i 5)(seminaris 4 i 5)

Examen de PL/SQL, disseny extern i disseny distribuït (Tema 1): 30%

Examen d’arquitectura de SGBD, optimització i control de concurrència (Temes 2 i 3): 30%

 

Totes les notes són obligatòries. Cal una nota superior a 3,5 a cada activitat per a superar l'assignatura i poder fer la mitja.

 

Seguint la normativa general, la còpia en les activitats d'avaluació porta com a conseqüència l'avaluació amb una nota SUSPENS(0) de tota l'assignatura.

 

Normes de realització de les activitats

 

A totes les activitats és obligada l'assistència per a ser avaluades.

Les activitats són obligatòries. Les activitats no realitzades -o a les que no s'ha assistit- són avaluades com a 0.

 

Bibliografia


Bàsica

Elmasri,R.; Navathe,S.B. "Fundamentals of Database Systems,Global Edition". Seventh Edition. Harlow, Essex: Pearson, 2017. ISBN 978-1-292-09761-9.

Silberschatz,Abraham;Korth,Henry;Sudarshan,S. “Fundamentos de Bases de Datos”. Sisena edició. Madrid-McGraw-Hill-Education, 2014. ISBN 978-84-481-9033-0.


Complementària

Date,C.J. “Introducción a los sistemes de bases de datos”. Setena edició. México-Pearson Educación, 2001. ISBN 9684444192

Loney, Kevin;Bryla, Bob. “Oracle Database 12c. The Complete Reference”. Primera edició. Oracle Press-McGraw-Hill Education, 2013. ISBN-13: 9780071801751. ISBN-10: 0071801758.

McLaughlin, Michael. “Oracle Database 12c PL/SQL Programming”. Primera edició. Oracle Press-McGraw-Hill Education, 2014. ISBN-13: 9780071812436. ISBN-10: 0071812431.