Database systems occupy a central position in our information-based society, and computer scientist and database application designers should have a good knowledge about both the theoretical and the engineering concepts that underline these systems to ensure the application performance desired. The student who completes the course successfully will be able to demonstrate advanced knowledge of the main issues related to the implementation of classical centralized relational database systems in order to be a sophisticated user of database technology and a high-performance applications developer. The student will also learn about the internal structure of modern NoSQL systems.
In the written exam, the student must demonstrate the use of knowledge of the course contents to solve problems. During the oral exam the student must be able to demonstrate knowledge of the course contents and be able to discuss the topics thoughtfully and with propriety of expression.
- Final oral exam
- Final written exam
The course requires good knowledge about programming, algorithms, computer architecture, mathematical logic, and databases.
Delivery: face to face
- attending lectures
- participation in discussions
- individual study
Attendance: Strongly advised
The course presents the main approaches to the implementation of centralized relational database systems. Particular attention will be paid to the fundamental concepts about relational database systems architecture, the main structures and algorithms to implement the modules for the management of permanent memory, the buffer, the storage structures, the access methods, the transactions and recovery, the concurrency, the cost-based query optimization. The final part of the course is dedicated to the architecture of NoSQL systems.
- A. Albano, Relational DBMS Internals, 2013. The textbook is available for free on the web. W3C reference manuals about XQuery, RDF and OWL.
- P. J. Sadalage, M Fowler, NoSQL Distilled, Addison Wesley
Written, with intermediate tests, and oral.