Databases Systems

Objectives

Knowledge:

  • Fundamental concepts in database management systems.
  • Indexing and hashing in databases
  • Query processing and optimization in relational databases.
  • Concurrency and transaction processing in databases.
  • Basic notions of distributed databases.

Skills:

  • Optimize databases for specific uses.
  • Optimize queries processing, using common tools in DBMSs for such purpose.
  • Use of control mechanisms for concurrency
  • Use of DBMSs for distributed databases.
  • Advanced use of SQL and associated procedural languages.

Competences:

  • Team work.
  • Capacity to evaluate a solution based on experimental results.
  • Critical evaluation.

General characterization

Code

8281

Credits

6.0

Responsible teacher

Carlos Augusto Isaac Piló Viegas Damásio

Hours

Weekly - 4

Total - 58

Teaching language

Português

Prerequisites

Knowledge about relational databases and SQL.

Bibliography

Text Books

- Database System Concepts. A. Silberschatz, H. Korth and S. Sudarshan, McGraw-Hill, 7th Edition, 2019

- Database Systems: the complete book. H. Garcia-Molina, J Ulmann and J. Widom. Prentice Hall, 2009

Manuals

Oracle 18c Documentation

Teaching method

Lectures for exposing and discussing the concepts and labs where these are tested in concret situations

Evaluation method

2 tests (or exam) yielding TG (theoretical grade), and project yielding PG (practical grade), for a final grade (FG) given by

FG = 0.6*TG + 0.4*PG.

For approval, both FG>= 10 and TG>=9,5 are required. Rounding is only performed on the computation of FG.

Project consists of a group (of 3 students) assignment (including oral presentation) and a possible  individual evaluation report of another group''s project.

Students may be summoned for an oral examination that might substitue the whole grade. This happens in situations of suspected plagiarism (e.g. non-authorized use of AI generative tools) or big difference among the TG and PG.

Subject matter

DBMSs implementation

1.1.Storage and file structure

1.2.Indexing

1.3.Static and Dynamic Hashing.

SQL query processing and optimization

2.1.Processing: general schema; algorithms for relational algebra operators; operators composition – materialisation and pipelining; parallel algorithms

2.2.Optimization: cost measures; estimation of evaluation plans

Concurrency and transaction processing

3.1.Introduction to concurrency control in databases

3.2.Transaction processing and isolation levels

3.3.Lock and time-stamp based protocols

3.4.Multi-version protocols

3.5.Recovery in databases

Fundamentals of DBMS architecture

4.1.Centralised and client-server databases

4.2.Introduction to distributed databases: homogeneous and heterogeneous; query processing in distributed databases; transactions in distributed databases

Programs

Programs where the course is taught: