Logo UAB
2022/2023

Bases de Datos No Relacionales

Código: 104409 Créditos ECTS: 6
Titulación Tipo Curso Semestre
2503740 Matemática Computacional y Analítica de Datos OB 3 2

Contacto

Nombre:
Laura Rivera Sanchez
Correo electrónico:
laura.rivera@uab.cat

Uso de idiomas

Lengua vehicular mayoritaria:
catalán (cat)
Algún grupo íntegramente en inglés:
No
Algún grupo íntegramente en catalán:
Algún grupo íntegramente en español:
No

Equipo docente

Oriol Ramos Terrades

Prerequisitos

Se recomienda haber cursado la asignatura Bases de Datos Relacionales.

Objetivos y contextualización

En esta asignatura se introducen los conceptos básicos de las bases de datos no relacionales y las bases de datos distribuidas. El objetivo principal es proveer al estudiante las herramientas necesarias para diseñar y utilizar estos sistemas de almacenamiento de datos.

CONOCIMIENTOS: Al finalizar el curso el alumno debe ser capaz de:

  • Diseñar bases de datos no relacionales adecuadas a los datos a procesar.
  • Diseñar y configurar infraestructuras de procesamiento de datos en función de determinados requisitos.
  • Hacer consultas sobre bases de datos.

HABILIDADES: Se pretende que los alumnos adquieran las siguientes habilidades:

  • Reunir e interpretar datos relevantes (normalmente dentro de su área de estudio) para emitir juicios que incluyan una reflexión sobre temas relevantes de índole social, científica o ética.
  • Trabajar cooperativamente, en entornos complejos o inciertos y con recursos limitados, en un contexto multidisciplinar, asumiendo y respetando el rol de los diferentes miembros del equipo.
  • Prever y solucionar problemas, adaptarse a situaciones imprevistas y tomar decisiones.
  • Redactar informes técnicos de una base de datos.

Trabajar las habilidades anteriores con SGBD (Sistemas Gestores de Bases de Datos) no relacionales, como son MongoDB y Neo4J.

Competencias

  • Diseñar, desarrollar, mantener y evaluar sistemas de software que permitan representar, almacenar y manipular de forma fiable y eficiente grandes volúmenes de datos heterogéneos de acuerdo con los requisitos establecidos.
  • Evaluar de manera crítica y con criterios de calidad el trabajo realizado.
  • Que los estudiantes hayan demostrado poseer y comprender conocimientos en un área de estudio que parte de la base de la educación secundaria general, y se suele encontrar a un nivel que, si bien se apoya en libros de texto avanzados, incluye también algunos aspectos que implican conocimientos procedentes de la vanguardia de su campo de estudio.
  • Que los estudiantes puedan transmitir información, ideas, problemas y soluciones a un público tanto especializado como no especializado.
  • Que los estudiantes sepan aplicar sus conocimientos a su trabajo o vocación de una forma profesional y posean las competencias que suelen demostrarse por medio de la elaboración y defensa de argumentos y la resolución de problemas dentro de su área de estudio.
  • Trabajar cooperativamente en un contexto multidisciplinar asumiendo y respetando el rol de los diferentes miembros del equipo.
  • Utilizar eficazmente bibliografía y recursos electrónicos para obtener información.

Resultados de aprendizaje

  1. Dimensionar correctamente la infraestructura de la base de datos necesaria para la gestión y el almacenaje masivo de datos en un determinado servicio.
  2. Diseñar bases de datos relacionales o no relacionales adecuadas a las características de los datos que se quieren representar, manipular y almacenar.
  3. Evaluar de manera crítica y con criterios de calidad el trabajo realizado.
  4. Que los estudiantes hayan demostrado poseer y comprender conocimientos en un área de estudio que parte de la base de la educación secundaria general, y se suele encontrar a un nivel que, si bien se apoya en libros de texto avanzados, incluye también algunos aspectos que implican conocimientos procedentes de la vanguardia de su campo de estudio.
  5. Que los estudiantes puedan transmitir información, ideas, problemas y soluciones a un público tanto especializado como no especializado.
  6. Que los estudiantes sepan aplicar sus conocimientos a su trabajo o vocación de una forma profesional y posean las competencias que suelen demostrarse por medio de la elaboración y defensa de argumentos y la resolución de problemas dentro de su área de estudio.
  7. Realizar consultas sobre una bases de datos para extraer de forma eficiente la información relevante para analizar los datos requeridos.
  8. Trabajar cooperativamente en un contexto multidisciplinar asumiendo y respetando el rol de los diferentes miembros del equipo.
  9. Utilizar eficazmente bibliografía y recursos electrónicos para obtener información.

Contenido

1.       Bases de Datos orientadas a objetos y no relacionales

  • Conceptos básicos de orientación a objetos.
  • Identidad y estructura de un objeto.
  • Encapsulamiento de operaciones, métodos y persistencia.
  • Introducción a las bases de datos No-SQL: definición, características y tipos.

2.       Bases de Datos Documentales: MongoDB

  • Conceptos básicos y características.
  • Patrones de diseño.
  • Operaciones básicas: CRUD, importación / exportación.
  • Diseño físico: indexación y hashing.
  • Sistemas distribuidos: replicasets y sharding.

3.       Bases de Datos de grafos: Neo4J

  • Conceptos básicos y características.
  • Patrones de diseño.
  • Operaciones básicas en grafos: CRUD, importación / exportación.
  • Operaciones avanzadas en grafos: algoritmos de búsqueda.

Metodología

En esta asignatura seguiremos una metodología de aula inversa. En esta metodología, el estudio de los contenidos teóricos se debe realizar antes de las sesiones presenciales, y como actividades autónomas del alumnado, a partir de material y documentación que tendrán acceso a los estudiantes a través del campus virtual de la asignatura. Las clases presenciales se convierten en sesiones prácticas de resolución de ejercicios y realización del proyecto, orientadas a resolver todas las dudas y problemas que se hayan podido encontrar a lo largo de la semana.

Es realizarán dos tipos de actividades: actividades de teoría proyecto. Las actividades de teoría estarán orientadas a consolidar los aspectos más teóricos de la asignatura. Una parte de ellas serán individuales mientras que otras se realizarán en grupos de trabajo. El proyecto será una actividad grupal esencialmente práctica que se realizará a lo largo del curso y que servirá para ayudar a consolidar los aspectos teóricos trabajados en clase.

Los grupos de trabajo serán grupos de 4 alumnos, se formarán el primer día de clase y se mantendrán estables a lo largo de todo el curso. Serán los mismos para las actividades grupales de teoría y el proyecto.

Sin contar las horas que deban dedicarse a preparar los exámenes parciales. Se ha calculado una carga media de 9 horas por semana y estudiante distribuidas en 4 horas presenciales en clase, además de las siguientes actividades:

  • Trabajo previo: se estima una media de 2 horas por semana que tendrá que dedicar a leer o visualizar el material que se trabajará en las sesiones presenciales.
  • Realización del proyecto: se estima una media de 3 horas por semana y miembro del grupo que tendrá que dedicar a hacer el proyecto además de las horas que se dediquen puntualmente a las sesiones dedicadas a la resolución de problemas y proyecto.
  • Resolución de problemas y proyecto: las semanas con menos carga de trabajo dedicada al proyecto se dedicarán a hacer más resoluciones de ejercicios y problemas de los temas trabajados en las sesiones presenciales.

Competencias transversales: En esta asignatura se deberán trabajar las competencias T01, T02 y T04. Estas competencias se trabajarán a lo largo de todo el curso en todas las actividades que se tengan que hacer, pero con más intensidad en la resolución de problemas y proyecto.

Nota: se reservarán 15 minutos de una clase dentro del calendario establecido por el centro o por la titulación para que el alumnado rellene las encuestas de evaluación de la actuación del profesorado y de evaluación de la asignatura o módulo.

Actividades

Título Horas ECTS Resultados de aprendizaje
Tipo: Dirigidas      
sesiones presenciales 26 1,04 3, 1, 2, 4, 5, 6
Tipo: Supervisadas      
Resolucion de problemas y proyecto 24 0,96 1, 2, 7, 4, 5, 6
Tipo: Autónomas      
Estudio y preparación de las pruebas parciales 20 0,8 1, 2, 7, 4, 5, 6, 9
Realización del proyecto 39 1,56 3, 1, 2, 7, 6, 8, 9
Trabajo previo 26 1,04 3, 1, 2, 7, 4, 6, 9

Evaluación

La evaluación se hará de forma continuada. Habrá dos pruebas teórico-prácticas individuales por escrito, con el peso que se indica más abajo para cada una de ellas. La primera prueba (Par1) se hará aproximadamente a la mitad del semestre y evaluará los conceptos teóricos y prácticos en bases de datos documentales como MongoDB. La segunda prueba (par2) se realizará al final del semestre y evaluará los conceptos teóricos y prácticos no evaluados en Par1, y que probablemente serán las bases de datos de grafos como Neo4J. 

Examen de recuperación: En caso de que la Nota Teoría no llegue al aprobado, los estudiantes podrán presentarse a un examen de recuperación sobre la parte suspendida.

La mayoría de las semanas habrá la posibilidad de entregar actividades trabajadas durante la semana. La entrega es opcional y se podrá hacer hasta las horas fijadas con antelación en el Campus Virtual. Con el 80% de las entregas se podrá alcanzar la máxima puntuación (1 punto) de esta actividad (NPrb).

La nota del proyecto se obtendrá a partir de la media ponderada de las notas obtenidas en cada entrega. La nota de cada entrega saldrá de hacer la media aritmética de la nota de grupo y de la individual. Habrá que aprobar por separado cada una de las entregas. En caso de suspender alguna entrega se dará la opción de recuperar la parte suspendida. La nota de la recuperación será como máximo un 5.

INDICADORES DE CALIFICACIÓN:

La nota final de la asignatura se calcula de la siguiente manera:

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

CRITERIOS DE EVALUACIÓN

  • Para que contabilicen las notas de problemas (NPrb), es necesario obtener un mínimo de 4,5 en la media de los parciales: = 0'5*Par1 +0'5*Par2 >= 4,5.
  • Para que contabilice la nota de las entregas del proyecto (PRJ) es necesario obtener una nota superior o igual a 4 en todas las entregas.
  • En caso de suspender algunas de las entregas del proyecto, la nota máxima que se puede obtener en la recuperación es de 5.
  • Para considerar aprobadas cualquiera de las dos partes (teoría y prácticas) debe obtenerse un mínimo de 5.
  • La asignatura estará aprobada si la NOTA FINAL ASIGNATURA es superior o igual a 5.
  • En el caso de no llegar al mínimo exigido en alguna de las actividades de evaluación, la nota numérica del expediente será el valor menor entre 4,5 y la media ponderada de las notas.
  • NO EVALUABLE: Si no presenta ninguna actividad de evaluación.
  • REPETIDORES: No se convalida ninguna parte aprobada por separado (teoría, proyecto) de un curso académico a otro.
  • IMPORTANTE PARA TODOS LOS ALUMNOS: Es importante inscribirse en el campus virtual de la asignatura, pues se publican los materiales de la asignatura, se hacen las entregas de las actividades y se publican las notas finales de la asignatura.
  • Otorgar una calificación de matrícula de honor es decisión del profesorado responsable de la asignatura. La normativa de la UAB indica que las MH sólo se podrán conceder a estudiantes que hayan obtenido una calificación final igual o superior a 9.00. Se puede otorgar hasta un 5% de MH del total de estudiantes matriculados.

 

CALENDARIO DE EVALUACIÓN:

  • Exámenes Parciales: según calendario académico de la Facultad de Ciencias.
  • Examen de Recuperación: según calendario académico de la Facultad de Ciencias.
  • Entregas de las actividades: fecha y hora fijada con antelación en el campus virtual.
  • Entregas del proyecto: fecha y hora fijada con antelación en el campus virtual.

 

Las fechas de las entregas en el campus virtual pueden estar sujetas a cambios de programación por motivos de adaptación a posibles incidencias. Siempre se informará por el campus virtual sobre estos cambios ya que se entiende que es el mecanismo habitual de intercambio de información entre el profesorado y el alumnado.

Para cada actividad de evaluación, se indicará un lugar, fecha y hora de revisión en la que el/la estudiante podrá revisar la actividad con el profesor. En este contexto, se podrán hacer reclamaciones sobre la nota de la actividad, que serán evaluadas por el profesorado responsable de la asignatura. Si el/la estudiante no se presenta en esta revisión, no se revisará posteriormente esta actividad.

 

Sin perjuicio de otras medidas disciplinarias que se estimen oportunas, y de acuerdo con la normativa académica vigente, las irregularidades cometidas por un/una estudiante que puedan conducir a una variación de la calificación se calificarán con un cero (0). Las actividades de evaluación calificadas de esta forma y por este procedimiento no serán recuperables. Si es necesario superar cualquiera de estas actividades de evaluación para aprobar la asignatura, esta asignatura quedará suspendida directamente, sin oportunidad de recuperarla en el mismo curso. Estas irregularidades incluyen, entre otros:

  • la copia total o parcial de una práctica, informe, o cualquier otra actividad de evaluación;
  • dejarse copiar;
  • presentar un trabajo de grupo no hecho íntegramente por los miembros del grupo;
  • presentar como propios materiales elaborados por un tercero, aunque sean traducciones o adaptaciones, y en general trabajos con elementos no originales y exclusivos del alumno/a;
  • tener dispositivos de comunicación (como teléfonos móviles, smartwatches, etc.) accesibles durante las pruebas de evaluación teórico-prácticas individuales (exámenes).

La nota numérica del expediente será el valor menor entre 3.5 y la media ponderada de las notas en caso de que el/la estudiante haya cometido irregularidades en un acto de evaluación (y por tanto no será posible el aprobado por compensación). En resumen: copiar, dejar copiar o plagiar en cualquiera de las actividades de evaluación equivale a un suspenso con una nota inferior a 3,5.

Actividades de evaluación

Título Peso Horas ECTS Resultados de aprendizaje
1r Parcial de Teoria (Par1) 0.25 2 0,08 3, 1, 2, 7, 4, 5, 6
2do Parcial de Teoria (Par2) 0.25 2 0,08 3, 1, 2, 7, 4, 5, 6
Entrega del proyecto 0.5 9 0,36 3, 1, 2, 7, 5, 6, 8, 9
Entregas de Problemas (NPrb) 0.05 2 0,08 3, 1, 2, 7, 5, 6, 9

Bibliografía

MATERIAL DE LA ASSIGNATURA:  Campus virtual de la asignatura Bases de datos no relacionales.

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.

Software

  • Servidor de MongoDB (https://www.mongodb.com)
  • Cliente de MongoDB: nosqlBooster (https://nosqlbooster.com)
  • Cliente y servidor de Neo4j, Neo4j Desktop (https://neo4j.com)
  • IDE de desarrollo en Python (PyCharm, Spider, Anaconda, etc.)
  • Repositorio de código (github o bitbucket)