Faculdade de Ciências e Tecnologia

Databases Systems

Code

8281

Academic unit

Faculdade de Ciências e Tecnologia

Department

Departamento de Informática

Credits

6.0

Teacher in charge

Carlos Augusto Isaac Piló Viegas Damásio

Weekly hours

4

Total hours

58

Teaching language

Português

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 the processing of queries, using common tools for this of DBMSs.
  • Use of control mechanisms for concurrency
  • Use of DBMSs for implementing distributed databases.
  • Advanced use of SQL and associated procedural languages.

Competences:

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

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

Bibliography

Text Books

  • Database System Concepts. A. Silberschatz, H. Korth and S. Sudarshan, McGraw-Hill 2010.
  • Database Systems: the complete book. H. Garcia-Molina, J Ulmann and J. Widom. Prentice Hall, 2009

Manuals

  • Oracle 11g Documentation

Evaluation method

General evaluation method

The evaluation is made in two components: theoretical/problems and project

Both components are evaluated in an integer scale from 0 to 20. 

The final evaluation is the weighted average of the two components where the project component is worth 25%, and the  theoretical/problems compnent the remaining 75%.

To pass, the students must have an evaluation of at least 10 in both the theoretical/problems component and in the final evaluation.

There are no further requirements for approval.

Theoretical/problems component

This component is evaluation is obtained by 3 writen tests, during the semester.

Alternatively, this component can also be evaluated by a written exam.

Project component

This component is evaluated by a written project, its public presentation and discussion, and also by an evaluation report of the project of fellow students (peer review). The project is essentially made after the 3rd test.

The project is done in groups of exactly 3 students.

Though it is a project done in groups, the evaluation of this component is individual. Besides the report, prepared by the group, the individual performance in the presentation and discussion, as well as the evaluation report, done individually, of a project from fellow students, are also considered.

Student who made the project in the last two year are allowed not to do it this year. In this case the evaluation is the one that they obtained previously.

Courses