Introducció a Les Bases de Dades

Esteu aquí

Crèdits
6
Tipus
Obligatòria
Requisits
Aquesta assignatura no té requisits, però té capacitats prèvies
Departament
ESSI
L'estudiant 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

  • Petar Jovanovic ( )
  • Sergi Nadal Francesch ( )

Hores setmanals

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

Competències

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 [Avaluable] - 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

Específiques

  • CE04 - Dissenyar i utilitzar de forma eficient els tipus i estructures de dades més adequats a la resolució d'un problema.
  • CE08 - Detectar les característiques, funcionalitats i components dels gestors de dades, que permeten el seu adequat ús en fluixos d'informació, i el disseny, anàlisi i implementació d'aplicacions basades en elles.

Competències Tècniques Generals

Genèriques

  • CG1 - Concebir, redactar, organitzar, planificar i desenvolupar projectes en l'àmbit de la intel·ligència artificial.
  • CG2 - Utilitzar els coneixements fonamentals i metodologies de treball sòlides adquirits durant els estudis per adaptar-se als nous escenaris tecnològics de el futur.

Objectius

  1. Conèixer els objectius d'un sistema de gestió de bases de dades i la seva arquitectura.
    Competències relacionades: CT6, CE04, CE08,
  2. 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: CT4, CT6, CB2, CB3, CE04, CE08,
  3. Ser capaç de definir, crear i manipular els components habituals d'una base de dades relacional.
    Competències relacionades: CT4, CT6, CB2, CB3, CE04, CE08,
  4. Ser capaç de construir programes per gestionar bases de dades relacionals.
    Competències relacionades: CT4, CT6, CB2, CB3, CE04, CE08,
  5. Conéixer els diferents formats de dades semistructurades, i saber expressar consultes SQL sobre ells.
    Competències relacionades: CG1, CG2, CT4, CT6, CB2, CB3, CE04, CE08,
  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: CT4, CT6, CB2, CB3, CE04, CE08,
  7. 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: CT6, CB2, CB3, CE04, CE08,
  8. 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: CT6, CE04, CE08,
  9. Ser capaç de transformar models conceptuals simples expressats en UML al model relacional.
    Competències relacionades: CT6, CE04, CE08,
  10. Conèixer el concepte de transacció i les seves implicacions.
    Competències relacionades: CT6, CE04, CE08,
  11. 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: CT6, CE04, CE08,
  12. Conèixer la tècnica de control de concurrència de reserves.
    Competències relacionades: CT6, CE04, CE08,
  13. 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: CG1, CG2, CT6, CE04, CE08,
  14. Conèixer els mètodes d'accés a les dades, i les seves implicacions en quan a eficiència.
    Competències relacionades: CG1, CG2, CT6, CE04, CE08,
  15. 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: CT6, CE04,

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. Dades semiestructurades i extensions d'SQL per consultar-les
    Introducció als diferents formats de dades semiestructurades. Extensions SQL per consultar dades semiestructurades.
  6. Programació amb SQL
    Programació en Python i DataFrames. Consideracions sobre el disseny i implementació de programes que accedeixen a bases de dades.
  7. 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.
  8. 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.
  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: 15 1
Continguts:
Teoria
2h
Problemes
0h
Laboratori
2h
Aprenentatge dirigit
0h
Aprenentatge autònom
4h

Estudi del model relacional de bases de dades


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

Estudi dels components lògics de dades


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

Estudi introducció al disseny de bases de dades relacionals


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

Estudi de transaccions i concurrència


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

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


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

Estudi dels llenguatges Àlgebra Relacional i SQL


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

Estudi de dades semiestructurades i extensions d'SQL per consultar-les


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

Estudi de procediments emmagatzemats i disparadors


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

Estudi de la programació amb SQL - Python i DataFrames


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

Examen final


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

Revisions i resolucions de dubtes dels controls i exàmens



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

Examen parcial


Objectius: 15 1 2 3 5 9
Setmana: 9
Tipus: examen de teoria
Teoria
2h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
14h

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. Aquests exercicis es fan en equips de dos estudiants segons alguna tècnica d'aprenentatge cooperatiu.
Avaluació. En quatre de les classes de problemes els estudiants resoldran un exercici que es recollirà i serà avaluat pel professor.

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.
Avaluació: En cada classe, es contesta una pregunta de manera individual per fer un seguiment del treball d'aprenentatge autònom i del que s'ha fet durant la classe. L'avaluació es basa també en els exercicis que es resolen durant la classe.

Mètode d'avaluació

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

- NPR: Nota de problemes. Es calcula com la mitjana de les notes dels quatre exercicis entregats.

- NLB: 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. La nota es calcularà de manera proporcional a les classes a les que s'ha participat activament.

- NEP: Nota de l'examen parcial.

- NEF: Nota de l'examen final.

Qualificació final = Màxim(
NLB*0.2+NEP*0.30+NEF*0.35+NPR*0.15,
NLB*0,2+NEP*0.35+NEF*0,45
)

- 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:

Web links

Capacitats prèvies

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