- 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.
- 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.
- Team work.
- Capacity to evaluate a solution based on experimental results.
- Critical evaluation.
José Júlio Alves Alferes
Weekly - 4
Total - 58
Knowledge about relational databases and SQL.
- 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
Oracle 18c Documentation
Lectures for exposing and discussing the concepts and labs where these are tested in concret situations
3 tests (or exam) yielding TG grade, and project yielding PG, for a final grade (FG) given by
FG = 0.7*TG + 0.3*PG.
For approval, both FG>=10 and TG>=10 are required.
Project consists of a group (of 3 students) assignment (including oral presentation) and of an individual evaluation report of another group''s project.
1.1.Storage and file structure
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.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 where the course is taught: