Go to:
Logótipo
You are here: Start > M.EIC032

Non-Relational Databases

Code: M.EIC032     Acronym: BDNR

Keywords
Classification Keyword
OFICIAL Information Systems

Instance: 2024/2025 - 2S Ícone do Moodle

Active? Yes
Responsible unit: Department of Informatics Engineering
Course/CS Responsible: Master in Informatics and Computing Engineering

Cycles of Study/Courses

Acronym No. of Students Study Plan Curricular Years Credits UCN Credits ECTS Contact hours Total Time
M.EIC 23 Syllabus 1 - 6 39 162

Teaching Staff - Responsibilities

Teacher Responsibility
Sérgio Sobral Nunes

Teaching - Hours

Recitations: 3,00
Type Teacher Classes Hour
Recitations Totals 1 3,00
Sérgio Sobral Nunes 3,00
Mais informaçõesLast updated on 2025-02-10.

Fields changed: Learning outcomes and competences, Métodos de ensino e atividades de aprendizagem, Bibliografia Complementar, Programa, Bibliografia Obrigatória, Fórmula de cálculo da classificação final

Teaching language

Portuguese
Obs.: Suitable for English-speaking students.

Objectives

The BDNR curricular unit aims to prepare students to know, understand, design and develop solutions based on non-relational database paradigms and technologies to support information systems.

Specific objectives: know and understand the main concepts and paradigms of non-relational databases; enable students to analyze, design, implement and evaluate non-relational databases; design the storage and interrogation component of systems based on non-relational models.

Learning outcomes and competences

Upon completion of the curricular unit, the student should be able to:

  • Recognize the situations in which relational databases are not the adequate solution for the storage and access to data;
  • Identify and describe the different models of non-relational databases and the typical situations of use of each one of them;
  • Design, implement and access databases built according to different non-relational approaches;
  • Analyze the challenges associated with complex scenarios involving large volumes of data, propose solutions based on non-relational models and understand the limits of each one of them;
  • Combine relational and non-relational models in information systems.

Working method

Presencial

Pre-requirements (prior knowledge) and co-requirements (common knowledge)

Programming: knowledge and practice with programming languages ​​for application development.

Databases: knowledge and practice of data modeling in UML, relational model, SQL language.

Program

Non-relational databases:

  • Introduction and motivation;
  • Current data challenges: size, variability, different paradigms;
  • ACID properties and limitations of relational databases;
  • Historical perspective of database management systems.

Properties of non-relational databases:

  • The CAP theorem and design choices;
  • BASE properties;
  • Consistency and distribution techniques.

Selection of different application cases, one for each group of students.

Study each of the selected paradigms according to the following guide:

  • Introduction and motivation;
  • Data model and structures;
  • Main solutions;
  • Data access and manipulation;
  • Scalability, partitioning, and performance;
  • Usage scenarios;
  • Implementation of application cases.

Paradigms:

  • Key-value databases;
  • Document databases;
  • Column-family databases;
  • Graph databases;
  • XML and triple databases;
  • Multi-model databases and other emerging approaches.

Comparison of the various paradigms.

Mandatory literature

Sadalage, PJ, & Fowler, M.; NoSQL Diftered: A Brief Guide to the Emerging World of Polyglot Persistence, Pearson Education, 2013
Kleppmann , Martin; Designing data-intensive applications : the big ideas behind reliable, scalable, and maintainable systems. ISBN: 9781449373320

Complementary Bibliography

Dan Sullivan; NoSQL For Mere Mortals, Addison-Wesley, 2015. ISBN: 978-0-13-402321-2
Wilfried Lemahieu; Principles of database management. ISBN: 978-1-107-18612-5
Perkins, L., Redmond, E., & Wilson, J.; Seven databases in seven weeks: a guide to modern databases and the NoSQL movement, Pragmatic Bookshelf, 2018
Robinson, I. Webber, J., & Eifrem, E.; Graph Databases, O'Reilly, 2013
Guy Harrison; Next Generation Databases, Apress, 2015. ISBN: 978-1-4842-1330-8

Teaching methods and learning activities

The program topics are presented through a series of tutorial sessions (theoretical exposition and laboratory work) and class discussions. Each group of students defines and carries out a project throughout the semester, with part of the development, monitoring, and evaluation taking place in class.

Project: each group selects a non-relational database technology to explore in depth. The project includes defining appropriate use cases, data modeling, database configuration and installation, and database interaction (creation and querying). Groups also develop a prototype application, resulting in a detailed report and a presentation aimed at demonstrating theoretical and practical knowledge of the chosen technology.

Project development will be monitored during classes and evaluated based on monitoring, intermediate presentations, a technical report, and the final presentation.

Case Studies: throughout the semester, groups present and analyze real-world case studies of non-relational database implementations, fostering class discussion and understanding of different approaches and solutions available in the market.

Exam: multiple choice test, including open-ended questions.

Software

Cassandra
Git
Neo4j
Redis
PostgreSQL
Docker
MongoDB

Evaluation Type

Distributed evaluation with final exam

Assessment Components

Designation Weight (%)
Exame 40,00
Trabalho prático ou de projeto 60,00
Total: 100,00

Amount of time allocated to each course unit

Designation Time (hours)
Elaboração de projeto 84,00
Estudo autónomo 39,00
Frequência das aulas 39,00
Total: 162,00

Eligibility for exams

There are two conditions for obtaining frequency:

  • (1) not exceeding the maximum number of allowed absences; and
  • (2) achieving the minimum grade defined in the project.

Calculation formula of final grade

The final grade is calculated using the formula

Grade = 60% Project + 40% Exam

Approval in the course is subject to obtaining an individual assessment of 40% in both assessment components (project and exam).

Obtaining approval in the project presupposes the participation of each student in all phases of the project, namely the selection of technologies, the identification and characterization of the problem, the design and implementation of the solution, the writing of the final report, and the participation in the intermediate and final presentations and discussions.

The final grade of the project may vary from element to element of the same group based on the opinion of the teachers and in self-assessment and hetero-assessment to be carried out internally in each group.

Examinations or Special Assignments

There are no exams or special assignments.

Special assessment (TE, DA, ...)

The distributed assessment, carried out during the semester in which the course unit operates, is required for all students, regardless of the enrollment regime.

Student workers and their equivalents dismissed from classes must, at intervals to be agreed with the teachers, present the progress of their work, as well as present these, simultaneously with ordinary students, and carry out the theoretical tests for individual assessment provided for.

Classification improvement

Only the individual component (exam) can be improved.

Recommend this page Top
Copyright 1996-2025 © Faculdade de Engenharia da Universidade do Porto  I Terms and Conditions  I Accessibility  I Index A-Z  I Guest Book
Page generated on: 2025-06-14 at 03:32:29 | Acceptable Use Policy | Data Protection Policy | Complaint Portal