Storing and Retrieving Data
- Understand the differences between SQL and NO SQL databases;
- Design and Implement a SQL database;
- Design and Implement a document based (NO SQL) database;
- Perfom extraction operations in both SQL and NO SQL databases;
- Understand the differences between OLTP and OLAP operations and the implications it brings to database design;
- Perform Extraction, Transform, and Load (ETL) operations;
- Design a Data Warehouse and understand the advantages of different architectures and data models.
Flávio Luís Portas Pinheiro
Weekly - Available soon
Total - Available soon
Portuguese. If there are Erasmus students, classes will be taught in English
No frequency requirements.
- Kristina Chodorow,. MongoDB: The Definitive Guide: Powerful and Scalable Data Storage 2ndEdition. "O'Reilly Media, Inc.", 2014
- Ramez Elmasri and Shamkant B. Navathe. Fundamentals of Database Systems 7th Edition. Pearson Global Edition (2008)
- John L. Viescas. Sql queries for mere mortals: a hands-on guide to data manipulation in sql. Pearson Education India (2018);
- Dan Sullivan. NoSQL for mere mortals. Addison-Wesley Professional (2015);
- Alejandro Vaisman, and Esteban Zimányi. Data warehouse systems.Data-Centric Systems and Applications (2014).
Theoretical and practical classes.
50% Homework Assignments + 50% Final group project or 100% Final Written Exam
The Storing and Retrieving of Data course unit covers an introduction to SQL and NO SQL Databases, ETL operations, and Data Warehousing. Students will learn the advantages and disadvantages of each solution (SQL vs NO SQL) in order to be better to decide which solution is best for their needs. Students will learn the differences of developing databases for Transaction Oriented (OLTP) or Analytical (OLAP) operations. Finally, the course will cover the main concepts and definitions of Data Warehousing, the role of ETL operations in retrieving data from OLTP systems, the main differences among the different Data Warehousing architectures, and the basic Data Warehousing operations.