Informació general


Tipus d'assignatura: Obligatòria

Coordinador: Alfons Palacios Gonzàlez

Trimestre: 1

Crèdits: 4

Professorat: 

Sandra Obiol Madrid
Alfons Palacios Gonzàlez 

Idiomes d'impartició


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.

Competències


Competències bàsiques
  • B2_Que els estudiants sàpiguen aplicar els seus coneixements a la seva feina o vocació d'una forma professional i tinguin les comptències que demostren mitjançant l'elaboració i defensa d'arguments i la resolució de problemes dins de la seva àrea d'estudi

  • B4_Que els estudiants puguin transmetre informació, idees, problemes i solucions a un públic tan especialitzat com no especialitzat

  • B5_Que els estudiants hagin desenvolupat aquelles habilitats d'aprenentatge necessàries per emprendre estudis posteriors amb un alt grau d'autonomia

Competències específiques
  • EFB4_Coneixements bàsics sobre l'ús i programació dels ordinadors, sistemes operatius, bases de dades i programes informàtics amb aplicació a l'enginyeria

  • EIS1_Capacitat per a desenvolupar, mantenir i avaluar serveis i sistemes software que satisfacin tots els requisits de l'usuari i que es comportin de forma fiable i eficient, siguin assequibles de desenvolupar i mantenir i compleixin normes de qualitat, aplicant les teories, principis, mètodes i pràctiques de l'enginyeria del software

  • EIS2_Capacitat per a valorar les necessitats del client i especificar els requisits software per a satisfer aquestes necessitats, reconciliant objectius en conflicte, mitjançant la cerca de compromisos acceptables, dins de les limitacions derivades del cost, del temps, de l'existència de sistemes ja desenvolupats i de les pròpies organitzacions

  • EIS4_Capacitat d'identificar i analitzar problemes i dissenyar, desenvolupar, implementar, verificar i documentar solucions software sobre la base d'un coneixement adequat de les teories, models i tècniques actuals

  • EIS5_Capacitat d'identificar, avaluar i gestionar els riscos potencials associats que es puguin presentar

  • EIS6_Capacitat per a dissenyar solucions apropiades en un o més dominis d'aplicació, utilitzant mètodes de l'enginyeria del software que integren aspectes ètics, socials, legals i econòmics

  • ESI3_Capacitat per participar activament en l'especificació, disseny, implementació i manteniment dels sistemes d'informació i comunicació

Competències transversals
  • T1_Que els estudiants coneixin un tercer idioma, que serà preferentment l'anglès, amb un nivell adequat de forma oral i per escrit, d'acord amb les necessitats que tindran les graduades i els graduats a cada titulació

  • T2_Que els estudiants tinguin capacitat per a treballar com a membres d'un equip interidisciplinar ja sigui com un membres més, o realitzant tasques de direcció amb la finalitat de contribuir a desenvolupar projectes amb pragmatisme i sentit de la responsabilitat, assumint compromisos tenint en compte els recursos disponibles

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.  

Aquesta assignatura disposa de recursos metodològics i digitals per fer possible la seva continuïtat en modalitat no presencial en el cas de ser necessari per motius relacionats amb la Covid-19. D'aquesta forma s'assegurarà l'assoliment dels mateixos coneixements i competències que s'especifiquen en aquest pla docent.

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 trabajo


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.

> es realitzen workshops o seminaris pràctics on es treballen i es desenvolupen els continguts

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 2021/22 són: Oracle Academy, PL/SQL, Oracle Database i Oracle SQL Developer

Aquest curs, a causa de la situació generada per la COVID, algunes de les sessions de grup gran poden fer-se -si la situació sanitària ho requereix- en format híbrid: presencial i en línia (via streaming). Això permetrà que els estudiants puguin anar rotativament a les classes presencials, respectant el màxim d'estudiants per aula que imposen les mesures de distanciament. Quan no els toqui sessió presencial podran seguir la classe en línia des de casa.

Pel que fa a les sessions de pràctiques a espais més reduïts (com laboratoris, estudis o plató), si s'escau es treballarà simultàniament en diversos espais per tal de garantir que es compleixen les condicions establertes pels protocols de seguretat.

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:

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:

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 tres seminaris (3, 4 i 5).

Material: Oracle12c, SQL Developer, Oracle APEX
Lliurable:

Avaluació individual: participació en seminaris, 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 3:

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ó: 35% de la nota de l'assignatura

 

Activitat 4:

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ó: 35% 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). (Per la seva component d'avaluació contínua, aquesta nota no és recuperable)

Laboratori de pràctiques d’optimització de sentències SQL i control de concurrència: 15% (sessions de pràctiques 4 i 5)(seminaris 3,4 i 5). (Per la seva component d'avaluació contínua, aquesta nota no és recuperable)

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

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

 

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àsic

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.

Silberschatz,Abraham;Korth,Henry;Sudarshan,S. “Database Systems Concepts”. Seventh Edition. McGraw-Hill-Education, 2019. ISBN 978-1260084504.

Complementary

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

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.

Date,C.J. “An Introduction to Database Systems”. Seventh edition. Addison Wesley Longman, 2001. ISBN 978-0201787221 / Eighth edition. Person,
2003 ISBN 978-0321197849