You need to activate javascript for this site.
Menu Conteúdo Rodapé
  1. Home
  2. Courses
  3. Computer Science and Engineering
  4. Database Management Systems

Database Management Systems

Code 14452
Year 1
Semester S1
ECTS Credits 6
Workload PL(30H)/T(30H)
Scientific area Informatics
Entry requirements Skils on algorithms and programming. Skils on database programming.
Learning outcomes This course has two main goals: 1) consolidate the knowledge acquired in an introductory course of “Databases”, from a first cycle course, particularly, advanced aspects of the SQL programing and the Relational Database Management Systems technologies; and 2) introducing the non-relational databases and preparing students to understand, design and develop computer solutions using NoSQL databases.

Upon completion of the teaching-learning process, the students should know and understand:
- The differences between a relational database and a non-relational database.
- The concepts of replication, distribution, sharding, and resilience.
- How to choose a suitable database for an application and infer its performance when subject to different data overloads.

In resume, after the course, students will have a critical understanding of the strategies and problems associated with the database systems and be able to propose new solutions.
Syllabus Part I – Advanced aspects of structured databases

1. Relational Model
1.1 ANSI/SPARC architecture and database management systems
1.2 Data storage
1.3 Indexing
1.4 Query processing and optimization
1.5 Transaction management
1.6 Data warehousing
1.7 Temporal databases

Part II – Unstructured Databases (NoSQL)

2. Unstructured Databases (NoSQL)
2.1 Context and Definitions
2.2 Motivation
2.3 Taxonomy

3. Data distribution and consistency
3.1 Fundamental principles
3.1.1 Flexible data models
3.1.2 Horizontal scalability
3.1.3 Relaxation of consistency

3.2 Distribution of data
3.2.1 Partitioning
3.2.2 Replication
3.2.3 Aggregation

3.3 Consistence
3.3.1 Consistence on reading and writing
3.3.2 ACID, BASE and CRUD
3.3.3 The CAP Theorem
3.3.4 Relaxation of consistency

4. Computing Models– a brief introduction
4.1 MapReduce
4.2 Google File System
4.3 Apache Hadoop

5 Database Models
5.1 Key-Value
5.2 Document oriented
5.3 Column oriented
5.4 Graph oriented
Main Bibliography Main: Feliz Gouveia, “Bases de Dados – Fundamentos e Aplicações”, 2ª Edição, FCA, 2021, ISBN:
978-972-722-901-7.

1) Thomas Connolly, Carolyn Begg. “Database Systems, A Practical Approach to Design, Implementation and Management”, 6th Edition, 2015. Pearson, ISBN: 978-1-292-06118-4.

2) Sadalage, P. J., & Fowler, M. (2013). “NoSQL Distilled: A Brief Guide to the Emerging World of Polyglot Persistence”. Addison-Wesley Professional, ISBN: 978-0321826626.

3) Tiwari, S. (2011). “Professional NoSQL”. John Wiley & Sons, Inc., Indianapolis, ISBN: 978-0-470-94334-6.

4) Redmond, E. & Wilson, J.R. (2012). “Seven Databases in Seven Weeks. A Guide to Modern Databases and the NoSQL Movement”. Pragmatic Bookshelf, ISBN: 978-1-93435-692-0.

Teaching Methodologies and Assessment Criteria Classes are organized into theoretical classes (T) and laboratory classes (PL).
Assessment: Written Test (WT), Practical Works (PW), Theme (T), end Argue Quality (AQ).

Weights:
Teaching-learning:
- WT: 0.325 (6.5 points)
- PW: 0.375 (7.5 = 4.0 points+ 3.5points)
- T: 0.25 (5 points)
- AQ: 0.05 (1 point)

Exam:
- WT: 0.325 (6.5 values)
- PW, T and AQ: 0.675 (13.5 values), from Teaching-Learning phase;
or
- WT: 0.625 (12.5 points)
- PW: 0.375 (7.5 points), from Teaching-Learning.

Theme Quotation:
- Presentation + defense: 4 points;
- Report: 1 point.

Evaluation of the presentation of the Theme: Teacher - 40%; Argue - 40%; and Class - 20%.
Evaluation of the Theme report: Teacher - 50% and Group - 50%.

The frequency classification will only be assigned to the student who:
- Attendance: 100%.
- Obtain of at least 6.0 points.
- Participate in the elaboration and discussion of topics and practical work (all).
- Participate in the argument.
- Comply with UC rules.
Language Portuguese. Tutorial support is available in English.
Last updated on: 2023-10-23

The cookies used in this website do not collect personal information that helps to identify you. By continuing you agree to the cookie policy.