Logo UAB
2023/2024

Bases de Dades No Relacionals

Codi: 104409 Crèdits: 6
Titulació Tipus Curs Semestre
2503740 Matemàtica Computacional i Analítica de Dades OB 3 2

Professor/a de contacte

Nom:
Laura Rivera Sanchez
Correu electrònic:
laura.rivera@uab.cat

Idiomes dels grups

Podeu accedir-hi des d'aquest enllaç. Per consultar l'idioma us caldrà introduir el CODI de l'assignatura. Tingueu en compte que la informació és provisional fins a 30 de novembre de 2023.

Equip docent

Oriol Ramos Terrades

Prerequisits

Es recomana haver cursat l'assignatura de bases de dades relacionals


Objectius

En aquesta assignatura s’introdueixen els conceptes bàsics de les bases de dades no relacionals i les bases de dades distribuïdes. L’objectiu principal és proveir a l’estudiant les eines necessàries per dissenyar i utilitzar aquests sistemes d’emmagatzematge de dades.

CONEIXEMENTS: Al finalitzar el curs l'alumne ha de ser capaç de:

  • Dissenyar bases de dades no relacionals adequades a les dades que cal processar.
  • Dissenyar i configurar infraestructures de processament de dades en funció de determinats requisits.
  • Fer consultes sobre bases de dades.

HABILITATS: Es pretén que els alumnes adquireixin les següents habilitats:

  • Reunir i interpretar dades rellevants (normalment dins de la seva àrea d'estudi) per emetre judicis que incloguin una reflexió sobre temes destacats d'índole social, científica o ètica.
  • Treballar cooperativament, en entorns complexos o incerts i amb recursos limitats, en un context multidisciplinari, assumint i respectant el rol dels diferents membres de l’equip.
  • Prevenir i solucionar problemes, adaptar-se a situacions imprevistes i prendre decisions.
  • Redactar informes tècnics d'una base de dades.

Treballar les habilitats anteriors amb SGBD (Sistemes Gestors de Bases de Dades) no relacionals, com són MongoDB i Neo4J.


Competències

  • Avaluar de manera crítica i amb criteris qualitat el treball realitzat.
  • Dissenyar, desenvolupar, mantenir i avaluar sistemes de programari que permeten representar, emmagatzemar i manipular de forma fiable i eficient grans volums de dades heterogènies d'acord amb els requisits establerts.
  • Que els estudiants hagin demostrat que comprenen i tenen coneixements en una àrea d'estudi que parteix de la base de l'educació secundària general, i se sol trobar a un nivell que, si bé es basa en llibres de text avançats, inclou també alguns aspectes que impliquen coneixements procedents de l'avantguarda d'aquell camp d'estudi.
  • Que els estudiants puguin transmetre informació, idees, problemes i solucions a un públic tant especialitzat com no especialitzat.
  • Que els estudiants sàpiguen aplicar els coneixements propis a la seva feina o vocació d'una manera professional i tinguin les competències que se solen demostrar per mitjà de l'elaboració i la defensa d'arguments i la resolució de problemes dins de la seva àrea d'estudi.
  • Treballar cooperativament en un context multidisciplinar asumiendo y respetando el rol de los diferentes miembros del equipo.
  • Utilitzar eficaçment la bibliografia i els recursos electrònics per obtenir informació.

Resultats d'aprenentatge

  1. Avaluar de manera crítica i amb criteris de qualitat el treball desenvolupat.
  2. Dimensionar correctament la infraestructura de la base de dades necessària per a la gestió i l'emmagatzematge massiu de dades en un determinat servei.
  3. Dissenyar bases de dades relacionals o no-relacionals adequades a les característiques de les dades que es volen representar, manipular i emmagatzemar.
  4. Fer consultes sobre una base de dades per extreure de manera eficient la informació rellevant per analitzar les dades requerides.
  5. Que els estudiants hagin demostrat que comprenen i tenen coneixements en una àrea d'estudi que parteix de la base de l'educació secundària general, i se sol trobar a un nivell que, si bé es basa en llibres de text avançats, inclou també alguns aspectes que impliquen coneixements procedents de l'avantguarda d'aquell camp d'estudi.
  6. Que els estudiants puguin transmetre informació, idees, problemes i solucions a un públic tant especialitzat com no especialitzat.
  7. Que els estudiants sàpiguen aplicar els coneixements propis a la seva feina o vocació d'una manera professional i tinguin les competències que se solen demostrar per mitjà de l'elaboració i la defensa d'arguments i la resolució de problemes dins de la seva àrea d'estudi.
  8. Treballar cooperativament en un context multidisciplinari assumint i respectant el rol dels diferents membres de l'equip.
  9. Utilitzar eficaçment la bibliografia i els recursos electrònics per obtenir informació.

Continguts

1.       Bases de Dades orientades a objectes i no relacionals.

  • Conceptes bàsics d’orientació a objectes.
  • Identitat i estructura d'un objecte.
  • Encapsulament d’operacions, mètodes i persistència.
  • Introducció a les bases de dades No-SQL: definició, característiques i tipus.

2.       Bases de Dades Documentals: MongoDB

  • Conceptes bàsics i característiques.
  • Patrons de disseny.
  • Operacions bàsiques:  CRUD, importació/exportació.
  • Disseny físic: indexació i hashing.
  • Sistemes distribuïts: replicasets i sharding.

3.   Bases de dades en columnes o clau-valor 

  • Conceptes bàsics i característiques. 

  • Operacions bàsiques 

   

4. Bases de Dades de grafs: Neo4J

  • Conceptes bàsics i característiques.
  • Patrons de disseny.
  • Operacions bàsiques en grafs: CRUD, importació/exportació.
  • Operacions avançades en grafs: algorismes de cerca.

Metodologia

En aquesta assignatura seguirem una metodologia d’aula inversa. En aquesta metodologia, l’estudi dels continguts teòrics s’ha de realitzar abans de les sessions presencials, i com activitats autònomes de l’alumnat, a partir de material i documentació que tindran accés els estudiants a través del campus virtual de l’assignatura. Les classes presencials esdevenen sessions pràctiques de resolució d’exercicis i realització del projecte, orientades a resoldre tots els dubtes i problemes que s’hagin pogut trobar al llarg de la setmana.

És realitzaran dos tipus d’activitats: activitats de teoria i projecte. Les activitats de teoria estaran orientades a consolidar els aspectes més teòrics de l’assignatura. Una part d’elles seran  individuals mentre que unes altres es realitzaran en grups de treball. El projecte serà una activitat grupal essencialment pràctica que es realitzarà al llarg del curs i que servirà per ajudar a consolidar els aspectes teòrics treballats a classe.

Els grups de treball seran grups de 4 alumnes, es formaran el primer dia de classe i es mantindran estables al llarg de tot el curs. Seran els mateixos per les activitats grupals de teoria i el projecte.

Sense comptar les hores que s’hagin de dedicar a preparar els exàmens parcials. S’ha calculat una càrrega mitjana de 9 hores per setmana i estudiant distribuïdes en 4 hores presencials a classe, a més de les següents activitats:

  • Treball previ: s’estima una mitja de 2 hores per setmana que s’haurà de dedicar a llegir o visualitzar el material que es treballarà a les sessions presencials.
  • Realització del projecte: s’estima una mitja de 3 hores persetmana i membre del grup que s’haurà de dedicar a fer el projecte a més de les hores que es dediquin puntualment a les sessions dedicades a la resolució de problemes i projecte.
  • Resolució de problemes i projecte: les setmanes amb menys càrrega de feina dedicada al projecte es dedicaran a fer més resolucions d’exercicis i problemes dels temes treballats en les sessions presencials.

Competències transversals: En aquesta assignatura s’hauran de treballar les competències T01, T02 i T04. Aquestes es treballaran al llarg de tot el curs en totes les activitats que s'hagin de fer però amb més intensitat en la resolució de problemes i projecte.

Nota: es reservaran 15 minuts d'una classe, dins del calendari establert pel centre/titulació, per a la complementació per part de l'alumnat de les enquestes d'avaluació de l'actuació del professorat i d'avaluació de l'assignatura/mòdul.


Activitats formatives

Títol Hores ECTS Resultats d'aprenentatge
Tipus: Dirigides      
Sessions presencials 25 1 1, 2, 3, 5, 6, 7
Tipus: Supervisades      
Resolució de problemes i projecte 24 0,96 2, 3, 4, 5, 6, 7
Tipus: Autònomes      
Estudi i preparació de proves parcials 20 0,8 2, 3, 4, 5, 6, 7, 9
Realització del projecte 40 1,6 1, 2, 3, 4, 7, 8, 9
Treball previ 26 1,04 1, 2, 3, 4, 5, 7, 9

Avaluació

L'avaluació es farà de forma continuada, pel que no s'ofereix la possibilitat de fer avaluació única. Hi haurà dues proves teòrico-pràctiques individuals per escrit, amb el pes que s’indica més avall per cadascuna d’elles. La primera prova (Par1) es farà aproximadament a la meitat del semestre i avaluarà els conceptes teòrics i pràctics en bases de dades documentals com MongoDB. La segona prova (Par2) es realitzarà al final del semestre i avaluarà tots els conceptes teòrics i pràctics que no s’hagin avaluat en Par1. 

Examen de recuperació: En cas de que la Nota Teoria no arribi a l'aprovat, els estudiants es podran presentar a un examen de recuperació sobre la part suspesa.

La majoria de les setmanes hi haurà la possibilitat de lliurar activitats treballades durant la setmana. El lliurament és opcional i es podrà fer fins a hores fixades amb antelació al Campus Virtual. Amb el 80% dels lliuraments es podrà assolir la màxima puntuació (1 punt) d'aquesta activitat (NPrb).

La nota del projecte sortirà de la mitjana ponderades de les notes obtingudes en cada lliurament. La nota de cada lliurament sortirà de fer la mitja aritmètica d’una nota de grup i d’una individual. Caldrà aprovar per separat cadascun dels lliuraments. En cas de suspendre algun lliurament es donarà la opció de recuperar la part suspesa. La nota de la recuperació serà com a màxim un 5.

INDICADORS DE QUALIFICACIÓ:

La nota final de l'assignatura es calcula de la següent manera:

  • Nota Parcial 1 = Par1
  • Nota Parcial 2 = Par2
  • Nota Teoria = 0'5*Par1 +0'5*Par2 + NPrb
  • Nota Projecte = 0’5*Prj1 + 0’5*Prj2
  • NOTA FINAL ASSIGNATURA = 0'5 * Nota Teoria + 0'5 * Nota Projecte

CRITERIS D'AVALUACIÓ

  • Per considerar la Nota de Teoria, cal obtenir una nota mínima de 4 en cada parcial per fer la Mitjana. 
  • Per a que comptabilitzi les notes de problemes (NPrb)cal obtenir un mínim de 4,5 en la mitja dels parcials:= 0'5*Par1 +0'5*Par2 >= 4,5. 
  • Per a que comptabilitzi la nota dels lliuraments del projecte (Prj) cal obtenir una nota superior o igual a4 en tots els lliuraments.
  • En cas de suspendre alguns dels lliuraments del projecte la nota màxima que es pot obtenir a la recuperació és de 5. 
  • Per a considerar aprovades qualsevol de les dues parts (teoria i pràctiques) ha d'obtenir-se un mínim de 5.
  • L'assignatura estarà aprovada si la NOTA FINAL ASSIGNATURA és superior o igual a 5.
  • En el cas de no arribar al mínim exigit en alguna de les activitats d'avaluació, la nota numèrica de l'expedient serà el valor menor entre 4,5 i la mitjana ponderada de les notes.
  • NO AVALUABLE: Si no presenta cap activitat d'avaluació.
  • REPETIDORS: No es convalida cap part aprovada per separat (teoria, projecte) d'un curs acadèmic a un altre.
  • IMPORTANT PER A TOTS ELS ALUMNES: És important inscriure's al campus virtual de l’assignatura, doncs s'hi publiquen els materials de l'assignatura, es fan els lliuraments de les activitats i es publiquen les notes finals de l'assignatura.
  • Atorgar una qualificació de matrícula d’honor és decisió del professorat responsable de l’assignatura. La normativa de la UAB indica que les MH només es podran concedir a estudiants que hagin obtingut una qualificació final igual o superior a 9.00. Es pot atorgar fins a un 5% de MH del total d'estudiants matriculats.

CALENDARI D'AVALUACIÓ:

  • Exàmens Parcials: segons calendari acadèmic de la Facultat de Ciències.
  • Examen de Recuperació: segons calendari acadèmic de la Facultat de Ciències.
  • Lliuraments de les activitats: data i hora fixada amb antelació en el campus virtual.
  • Lliuraments del projecte: data i hora fixada amb antelació en el campus virtual.

Les dates dels lliuraments al campus virtual poden estar subjectes a canvis de programació per motius d'adaptació a possibles incidències. Sempre s'informarà pel campus virtual sobre aquests canvis ja que s’entén que és el mecanisme habitual d'intercanvi d'informació entre professors i estudiants.

Per a cada activitat d’avaluació, s’indicarà un lloc, data i hora de revisió en la que l'estudiant podrà revisar l’activitat amb el professor. En aquest context, es podran fer reclamacions sobre la nota de l’activitat, que seran avaluades pel professorat responsable de l’assignatura. Si l'estudiant no es presenta a aquesta revisió, no es revisarà posteriorment aquesta activitat.

Sense perjudici d'altres mesures disciplinàries que s'estimin oportunes, i d'acord amb la normativa acadèmica vigent, les  irregularitats comeses per un/una estudiant que puguin conduir a una variació de la qualificació es qualificaran amb un zero (0). Les  activitats d'avaluació qualificades d'aquesta forma i per aquest procediment no seran recuperables. Si és necessari superar qualsevol d'aquestes activitats d'avaluació per aprovar l'assignatura, aquesta assignatura quedarà suspesa directament, sense oportunitat de  recuperar-la en el mateix curs. Aquestes irregularitats inclouen, entre d'altres:

  • la còpia total o parcial d'una pràctica, informe, o qualsevol altra activitat d'avaluació;
  • deixar-se copiar;
  • presentar un treball de grup no fet íntegrament pels membres del grup;
  • presentar com a propis materials elaborats per un tercer, encara que  siguin traduccions o adaptacions, i en general treballs amb elements no originals i exclusius de l'estudiant;
  • tenir dispositius de comunicació (com telèfons mòbils, smartwatches, etc.) accessibles durant les proves d'avaluació teorico-pràctiques individuals (exàmens).

La nota numèrica de l'expedient serà el valor menor entre 3.5 i la mitjana ponderada de les notes en cas que l'estudiant hagi comès irregularitats en un acte d'avaluació (i per tant no serà possible l'aprovat per compensació). En resum: copiar, deixar copiar o plagiar en qualsevol de les activitats d'avaluació equival a un suspens amb una nota inferior a 3,5.


Activitats d'avaluació continuada

Títol Pes Hores ECTS Resultats d'aprenentatge
1r Parcial de Teoria (Par1) 0.25 2 0,08 1, 2, 3, 4, 5, 6, 7
2n Parcial de Teoria (Par2) 0.25 2 0,08 1, 2, 3, 4, 5, 6, 7
Lliurament del projecte 0.5 9 0,36 1, 2, 3, 4, 6, 7, 8, 9
Lliuraments de Problemes (NPrb) 0.05 2 0,08 1, 2, 3, 4, 6, 7, 9

Bibliografia

MATERIAL DE L’ASSIGNATURA: Campus virtual de l’assignatura Bases de dades no relacionals.


BIBLIOGRAFIA BÀSICA:
• NoSQL Distilled: A Brief Guide to the Emerging World of Polyglot Persistence. Pramod J. Sadalage , Martin Fowler. Addison-wesley, 2013.
• MongoDB: The Definitive Guide. Kristina Chodorow . O'Really , 2013.
• Graph Databases, Ian Robinson, Jim Webber and Emil Eifrem, 2n Edition. O’Really, 2015.
• Graph Algorithms, Mark Needham & Amy E. Hodler, O’Really, 2019.


Programari

  • Servidor de MongoDB (https://www.mongodb.com)
  • Client de MongoDB: nosqlBooster (https://nosqlbooster.com)
  • Client i servidor de Neo4j, Neo4j Desktop (https://neo4j.com)
  • IDE de desenvolupament en Python (PyCharm, Spider, Anaconda, etc.)
  • Repositori de codi (github o bitbucket)