Storing and Retrieving Data


Today, data is everywhere and come in different shapes and volumes, in structured and unstructured forms. Companies need to store and manage these data using appropriate data management or database technologies for the success of their business processes. In the Storing and Retrieving Data course, students will get familiar with the architecture of a DBMS, the process of database modelling and normalization, the implementation of a relational database using SQL language (theoretical and practical), use of advance SQL objects as Views and Triggers, integration of different data sources using ETL operations, and the advantages and disadvantages of SQL and NoSQL databases.

General characterization





Responsible teacher

Flávio Luís Portas Pinheiro


Weekly - Available soon

Total - Available soon

Teaching language

Portuguese. If there are Erasmus students, classes will be taught in English


The lectures, group discussions, reading materials, quizzes, and exams will be all in English language. Although not mandatory, the students should have a proficient English language skills.


  • Viescas, John L. Sql queries for mere mortals: a hands-on guide to data manipulation in sql. Pearson Education India, 2018.;
  • Lemahieu, W., Vanden Broucke, S., & Baesens, B. Principles of Database Management: The Practical Guide to Storing, Managing and Analyzing Big and Small Data. Cambridge University Press (2018).
  • Roldán, M. C. (2017). Learning Pentaho Data Integration 8 CE: An end-to-end guide to exploring, transforming, and integrating your data across multiple sources. Packt Publishing Ltd.

Teaching method

The course combines theoretical and practical lessons. The theoretical component includes lectures and slide show demostrations to present concepts and methodologies, discussing problems in class. The practical part includes individual hands-on exercises that are aplicable to the final project, this is, we follow a project-based approach. Moreover, the lessons apply short quizzes along the trimester to assess the student¿s progress and understanding of the theoretical materials.

Evaluation method

Regular examination period (1st epoch)

  • A group project (50%).
  • Final exam (50%).

Resit examination period (2nd epoch)

  • A group project (50%)
  • Final exam (50%).


  • The score in the exam should at least 9.5 (out of 20), regardless of the score in the group project.
  • The groups are made of 5 students.
  • Late deliveries for the project will be penalized with 1 point for each late day up to 5 points.

Subject matter

LU1. Design a relational databases with a sound structure. Data Normalization (3-Normal Forms).

LU2. DBMS architecture. Introduction to Entiry-Relationship diagram (ERD). Conceptual modelling.

LU3. CRUD operations.

LU4. Join operations. Sorting and Grouping operations.

LU5. Views and Triggers

LU6. Extration, Transformation and Loading (ETL).

LU7. NoSQL databases. Wrap-up.


Programs where the course is taught: