Welcome To CS460


Εγγραφή στο μάθημα: Όλοι οι φοιτητές πρέπει να στείλουν ένα email στο majordomo@csd.uoc.gr με περιεχόμενο: subscribe hy460-list για να εγγραφούν στην λίστα του μαθήματος. Επιπλέον, πρέπει όλοι να κάνετε αυτοεγγραφή στην σελίδα του μαθήματος στο UoC-eLearn.



This course provides an introduction to the principles of database system implementation. Its main objective is to teach the basic concepts and algorithms that are commonly used in the construction of the main DBMS core components (storage manager, query manager, transaction manager).

Students completing the course should be able to:
  • better understand the impact of internal implementation choices (page, buffer, file manager, B+-tree and Hash indices, external sort and join algorithms, etc.) on the DBMS performance
  • adopt a principled approach to database tuning problems by choosing the appropriate internal system parameters (S/W configurations, data structures, query planning) in order to make it run faster for specific application needs
  • acquire an appreciation of the strengths and weaknesses of commercial (ORACLE, DB2, Sybase, SQLServer) and public domain (MySQL, Postgres) database systems


This course is the continuity of CS360 and emphasizes on issues of implementation of Database Management Systems. Specifically, this course deals with the following issues:
  • Storage and Index Structures
    • Disks and files
    • Tree and Hash Indices
    • External Sorting
  • Query Processing and Optimization
    • Relational Algebra Operator Implementation
    • Logical and Physical Optimization of Relational Queries
    • Relational Query Optimizer Architecture
  • Transaction Management
    • Failure Recovery
    • Synchronization Control
    • Execution Plans and Serializability
    • Locking
    • Tree Protocols
The course evaluation is based on a series of three lab assignments and a final exam.
Final grade = 0.7 * Final exam + 0.3 * Assignments (Note: The final exam grade must be AT LEAST 4, otherwise Final grade = Final exam)


Course Enrollment: Everybody is obliged to send a plaintext message to majordomo@csd.uoc.gr with content: subscribe hy460-list at the start of the course's lectures to enroll in the list. In addition, you must self-enroll to the course's UoC-eLearn page. This makes it easier for us to know how many of you are interested in the course (notes, program licenses, etc) and for you to receive probable clarifications on the exercises that are given after the lectures.


Course Hours: Tuesday 12.00-14.00 (A.121), Thursday 14.00-16.00 (Η.204)

Lab Hours: Wednesday 12.00-14.00 (H.204)


Algorithms & Complexity (CS 380)


Files & Databases (CS 360)


Course Books

Additional Books



Supplementary Lectures

Past Exams & Other


Note: All lecture slides, tutorials, assignments and other material are available from the course's UoC-eLearn page.

Date Lecture Lab Lecture/Tutorial Source Files


  • October 2020

    Assignment 1

  • November 2020

    Assignment 2

  • December 2020

    Assignment 3

  • Final

    January 2021

    Final Exam


Vassilis Christophides

christop AT csd.uoc.gr

Haridimos Kondylakis

kondylak AT ics.forth.gr

Dimitris Plexousakis

dp AT ics.forth.gr

Marios Pitikakis

pitikakis AT csd.uoc.gr