Bases de Dades

Crèdits
6
Tipus
Obligatòria
Requisits
Aquesta assignatura no té requisits, però té capacitats prèvies
Departament
ESSI
L'estudiantat tindrà una visió general sobre què és una base de dades, els seus objectius i principals components. Profunditzarà en els gestors basats en el model relacional de bases de dades i practicarà la creació, gestió i ús dels seus components mitjançant SQL. S'inclou una introducció al disseny de bases de dades relacionals, així com l'estudi dels diferents components d'un gestor.

Professorat

Responsable

  • Antoni Urpi Tubella ( )

Altres

  • Carme Quer Bosor ( )
  • Quim Motger de la Encarnacion ( )

Hores setmanals

Teoria
2
Problemes
0
Laboratori
2
Aprenentatge dirigit
0
Aprenentatge autònom
6

Competències

Competències Tècniques

Competències tècniques

  • CE7 - Demostrar coneixement i capacitat d'aplicació de les eines necessàries per a l'emmagatzematge, el processament i l'accés a les dades.

Competències Transversals

Transversals

  • CT4 [Avaluable] - Treball en equip. Ser capaç de treballar com a membre d'un equip interdisciplinari, ja sigui com un membre 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.
  • CT6 - Aprenentatge autònom. Detectar deficiències en el propi coneixement i superar-les mitjançant la reflexió crítica i l'elecció de la millor actuació per ampliar aquest coneixement.

Bàsiques

  • CB2 - Que els estudiants sàpiguen aplicar els seus coneixements al seu treball o vocació d'una manera professional i posseeixin les competències que solen demostrar-se mitjançant l'elaboració i defensa d'arguments i la resolució de problemes dins la seva àrea d'estudi.
  • CB3 - Que els estudiants tinguin la capacitat de reunir i interpretar dades rellevants (normalment dins la seva àrea d'estudi) per emetre judicis que incloguin una reflexió sobre temes rellevants d'índole social, científica o ètica.

Competències Tècniques Generals

Genèriques

  • CG1 - Concebre sistemes computacionals que integren dades de procedències i formes molt diverses, construeixen amb ells models matemàtics, raonen sobre aquests models i actuen en conseqüència, aprenent de l'experiència.
  • CG2 - Elegir i aplicar els mètodes i tècniques més adequats a un problema definit per dades que representin un repte pel seu volum, velocitat, varietat o heterogeneïtat, inclosos mètodes informàtics, matemàtics, estadístics i de processament del senyal.

Objectius

  1. Tenir una visió general sobre què és una base de dades, què és un model de base de dades, quins són els tipus d'usuaris de les bases de dades, i quines són les categories de llenguatges de bases de dades.
    Competències relacionades: CE7, CT6,
  2. Conèixer els objectius d'un sistema de gestió de bases de dades i la seva arquitectura.
    Competències relacionades: CE7, CT6,
  3. Conèixer el model relacional de bases de dades, els seus llenguatges (SQL i àlgebra relacional) i els components habituals d'una base de dades relacional.
    Competències relacionades: CE7, CT4, CT6, CB2, CB3,
  4. Ser capaç de definir, crear i manipular els components habituals d'una base de dades relacional.
    Competències relacionades: CE7, CT4, CT6, CB2, CB3,
  5. Ser capaç de construir programes per gestionar bases de dades relacionals.
    Competències relacionades: CE7, CT4, CT6, CB2, CB3,
  6. Saber escollir entre diverses sentències SQL, components d'una base de dades, o programes que gestionin una base de dades, que implementin una mateixa funcionalitat, quin/a s'adequa més a uns criteris de qualitat definits.
    Competències relacionades: CE7, CT4, CT6, CB2, CB3,
  7. Tenir un visió general dels magatzems de dades i les bases de dades multidimensionals, i saber expressar sentències OLAP via SQL.
    Competències relacionades: CE7, CT4, CT6, CG1, CG2, CB2, CB3,
  8. Saber escollir entre quins tipus de components o programes de gestió de bases de dades estudiats a l'assignatura són més adequats, segons els criteris de qualitat definits, per a la implementació d'un cert comportament d'una aplicació.
    Competències relacionades: CE7, CT4, CT6, CB2, CB3,
  9. Tenir una visió general de com s'integra el disseny d'una base de dades dins el procés de desenvolupament d'una aplicació.
    Competències relacionades: CE7, CT6,
  10. Ser capaç de transformar models conceptuals simples expressats en UML al model relacional.
    Competències relacionades: CE7, CT6,
  11. Conèixer el concepte de transacció i les seves implicacions.
    Competències relacionades: CE7, CT6,
  12. Conèixer i saber identificar els tipus d'interferències que es poden produir entre transaccions i la seva relació amb els nivells d'aïllament que defineix l'SQL Standard.
    Competències relacionades: CE7, CT6,
  13. Conèixer la tècnica de control de concurrència de reserves.
    Competències relacionades: CE7, CT6,
  14. Conèixer les possibles estructures físiques per l'emmagatzematge de les dades, i les seves implicacions en quan a eficiència.
    Competències relacionades: CE7, CT6, CG1, CG2,
  15. Conèixer els mètodes d'accés a les dades, i les seves implicacions en quan a eficiència.
    Competències relacionades: CE7, CT6, CG1, CG2,

Continguts

  1. Introducció
    Concepte de base de dades. Disseny i models de bases de dades. Tipus d'usuaris. Categories de llenguatges. Concepte de sistema de gestió de base de dades (SGBD). Objectius desitjables per a les bases de dades que els SGBD han de proporcionar. Arquitectura dels SGBD.
  2. El model relacional
    Objectius i origen. Estructura de dades amb la qual es construeixen les bases de dades relacionals. Operacions que proveeix el model relacional per manipular i consultar les dades. Regles d'integritat que han de complir les dades d'una base de dades relacional.
  3. Llenguatges: Àlgebra relacional i SQL
    Introducció. Àlgebra relacional: operacions de l'àlgebra relacional; consultes. SQL: creació de taules; inserció, esborrat i modificació de files d'una taula; consultes sobre una base de dades. Consideracions sobre la implementació de consultes.
  4. Components lògics d'una base de dades
    Concepte de component lògic d'una base de dades: de dades i de control. Presentació de components lògics de dades: esquemes, dominis i taules, assercions i vistes. Presentació de components lògics de control: procediments emmagatzemats, disparadors i privilegis.
  5. Magatzems de dades i OLAP
    Introducció als magatzems de dades i a les bases de dades multidimensionals. Extensions SQL per OLAP
  6. Programació amb SQL
    Programació en Java i JDBC. Consideracions sobre el disseny i implementació de programes que accedeixen a bases de dades.
  7. Introducció al disseny de bases de dades relacionals
    Etapes de disseny d'una base de dades. Introducció a la comprensió de models conceptuals UML simples. Traducció de models conceptuals UML simples a model relacional de base de dades.
  8. Transaccions i concurrència
    Concepte de transacció. Propietats ACID de les transaccions. Interferències entre transaccions. Serialitzabilitat. Recuperabilitat. Tècniques de control de concurrència. Nivells d'aïllament. Reserves i nivells d'aïllament.
  9. Estructures físiques d'emmagatzemament, mètodes d'accés i optimització
    Introducció. Mètodes d'accés per poder fer consultes i actualitzacions de dades d'una base de dades. Costos dels mètodes d'accés. Introducció a l'optimització de consultas

Activitats

Activitat Acte avaluatiu


Estudi de la introducció a les bases de dades


Objectius: 2 1
Continguts:
Teoria
2h
Problemes
0h
Laboratori
2h
Aprenentatge dirigit
0h
Aprenentatge autònom
4h

Estudi del model relacional de bases de dades


Objectius: 3
Continguts:
Teoria
2h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
2h

Estudi dels components lògics de dades


Objectius: 3 6 4
Continguts:
Teoria
5h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
6h

Estudi introducció al disseny de bases de dades relacionals


Objectius: 9 10
Continguts:
Teoria
4h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
4h

Estudi de transaccions i concurrència


Objectius: 11 12 13
Continguts:
Teoria
5h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
6h

Estudi d'emmagatzematge, mètodes d'accés i optimització


Objectius: 14 15
Continguts:
Teoria
7h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
10h

Estudi dels llenguatges Àlgebra Relacional i SQL


Objectius: 3 6 4
Continguts:
Teoria
0h
Problemes
0h
Laboratori
12h
Aprenentatge dirigit
0h
Aprenentatge autònom
13h

Estudi de magatzems de dades i a OLAP


Objectius: 6 8 7
Continguts:
Teoria
0h
Problemes
0h
Laboratori
2h
Aprenentatge dirigit
0h
Aprenentatge autònom
4h

Estudi de procediments emmagatzemats i disparadors


Objectius: 3 6 4
Continguts:
Teoria
0h
Problemes
0h
Laboratori
8h
Aprenentatge dirigit
0h
Aprenentatge autònom
4h

Estudi de la programació amb SQL - JDBC


Objectius: 5 6 4
Continguts:
Teoria
0h
Problemes
0h
Laboratori
6h
Aprenentatge dirigit
0h
Aprenentatge autònom
6h

Examen parcial


Objectius: 2 3 6 9 10 1 4 7
Setmana: 8 (Fora d'horari lectiu)
Tipus: examen de teoria
Teoria
2h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
16h

Examen Final


Objectius: 2 3 5 6 8 9 10 11 12 13 14 15 1 4 7
Setmana: 15 (Fora d'horari lectiu)
Tipus: examen de teoria
Teoria
3h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
15h

Revisions i resolucions de dubtes dels controls i exàmens



Teoria
0h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
0h

Metodologia docent

Classes de teoria/problemes
Aprenentatge autònom: Per preparar les classes l'estudiant pot haver de llegir i comprendre uns materials i/o apunts indicats pel professor. Posteriorment a la classe, l'estudiant cal que repassi i resolgui exercicis sobre el tema d'estudi.
Classes de teoria. En les classes de teoria els professors presenten una part dels continguts de l'assignatura. Normalment els professors usen transparències que els estudiants seria convenient que obtinguin abans de les classes, per fer-ne un millor seguiment.
Classes de problemes. En les classes de problemes, els estudiants resolen exercicis sobre continguts presentats durant les classes de teoria.

Classes de laboratori
Aprenentatge autònom: Els continguts que es treballen en les classes de laboratori seran estudiats de manera autònoma pels estudiants. Cada setmana prèviament a la classe de laboratori els estudiants tindran una feina a fer a casa que acabarà amb la resolució d'un qüestionari moodle/LearnSQL.
Classes de laboratori: El treball a classe serà en equips de 2 estudiants. Els estudiants tenen la possibilitat de compartir els dubtes amb el seu company d'equip sobre la feina que han fet a casa, i si és el cas, de preguntar els dubtes no resolts al professor. A continuació els estudiants fan les activitats que ha indicat el professor i finalment resolen el qüestionari de classe.

Mètode d'avaluació

La qualificació de les competències tècniques es basa en:

- NL - Participació activa en les sessions de laboratori. Es tindrà en compte les classes a les que s'ha participat entregant satisfactòriament els exercicis proposats a classe al LearnSQL. La nota es calcularà de manera proporcional a les classes a les que s'ha participat activament.

- NEP - Nota examen parcial. En l'examen parcial hi entren els temes: 1, 2, 3, 4 (sense procediments emmagatzemats ni disparadors), 5 i 7

- NEF - Nota examen final. En l'examen final hi entren els temes: 4 (només procediments emmagatzemats i disparadors), 6, 8 i 9.

- NF = 0.45*NEP + 0.45*NEF + 0.1*NL

- Pel estudiants que puguin concórrer a la reavalaució, la nota de examen de reavaluació substituirà NEF i NEP. En tot cas, la nota final serà el màxim entre la nota ordinària i la nota de reavaluació.

Bibliografia

Bàsica:

Complementaria:

Capacitats prèvies

Conèixer les estructures de dades a memòria interna.
Ser capaç de fer programes de complexitat mitjana.