Logo UAB

Bases de Datos No Relacionales

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

Contacto

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

Equipo docente

Oriol Ramos Terrades

Idiomas de los grupos

Puede consultar esta información al final del documento.


Prerrequisitos

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.


Resultados de aprendizaje

  1. CM17 (Competencia) Diseñar bases de datos relacionales o no relacionales adecuadas a las características de los datos que se quieren representar, manipular y almacenar con responsabilidad ética y ambiental.
  2. CM17 (Competencia) Diseñar bases de datos relacionales o no relacionales adecuadas a las características de los datos que se quieren representar, manipular y almacenar con responsabilidad ética y ambiental.
  3. CM17 (Competencia) Diseñar bases de datos relacionales o no relacionales adecuadas a las características de los datos que se quieren representar, manipular y almacenar con responsabilidad ética y ambiental.
  4. CM18 (Competencia) Dimensionar correctamente la infraestructura de la base de datos necesaria para la gestión y el almacenaje masivo de datos en un determinado servicio.
  5. CM18 (Competencia) Dimensionar correctamente la infraestructura de la base de datos necesaria para la gestión y el almacenaje masivo de datos en un determinado servicio.
  6. KM15 (Conocimiento) Realizar consultas sobre una base de datos para extraer de forma eficiente la información relevante para analizar los datos requeridos.
  7. KM15 (Conocimiento) Realizar consultas sobre una base de datos para extraer de forma eficiente la información relevante para analizar los datos requeridos.
  8. SM16 (Habilidad) Manipular una base de datos de forma eficiente.
  9. SM16 (Habilidad) Manipular una base de datos de forma eficiente.
  10. SM17 (Habilidad) Extraer de forma eficiente la información importante de una base de datos.
  11. SM17 (Habilidad) Extraer de forma eficiente la información importante de una base de datos.

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 Daatos basadas en columnas:

  • Conceptos básicos y características.
  • Operaciones básicas.

4. 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.

Actividades formativas y Metodología

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

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.


Evaluación

Actividades de evaluación continuada

Título Peso Horas ECTS Resultados de aprendizaje
1r Parcial de Teoria (Par1) 0.25 2 0,08 CM17, KM15
2do Parcial de Teoria (Par2) 0.25 2 0,08 CM17, KM15
Entrega del proyecto 0.5 9 0,36 CM17, CM18, KM15, SM16, SM17
Entregas de Problemas (NPrb) 0.05 2 0,08 CM17, CM18, KM15, SM16, SM17

La evaluación se hará de forma continuada, por tanto no se ofrece la posibilidad de evaluación única. 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. 

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, individual 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 considerar la Nota de Teoria, es necesario obtener una nota mínima de 4 en cada parcial (Par1 y Par2) para hacer la media.
  • 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, sinoportunidad 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.


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)

Lista de idiomas

Nombre Grupo Idioma Semestre Turno
(PLAB) Prácticas de laboratorio 1 Catalán segundo cuatrimestre manaña-mixto
(TE) Teoría 1 Catalán segundo cuatrimestre manaña-mixto