This course is the continuity of CS360 and emphasizes on issues of implementation of Database Management Systems. Specifically, this course treats the following issues: Storage and indexing structures: primary/secondary structures, multiple level structures, structures for multidimensional data, Processing, optimization and execution of queries: execution plans, cost estimation models, algebraic transformations) Management of synchronous execution of transactions: serializability, synchronous execution protocols, transactions in distributed databases
Learning Outcomes
This course provides an introduction to the principles that govern the implementation of Database Management Systems (DBMS). Its purpose is to teach the basic concepts and Algorithms promoted today to implement the main components of a Database Management System (manager, queries and transactions).
Students completing the course will be able: Knowledge: to know and describe the specific parts of database implementation (page manager, files, indexes, etc.), and corresponding algorithms (external sorting and linking, query optimization, etc.) Understanding: to better understand the system performance implications of different internal application choices (page managers, files, B+Trees indexes and hashing, external sorting and query optimization algorithms, etc.) Application: to reuse existing knowledge and methodologies in order to design effective data management systems according to various requirements. Analysis: take a structured approach to solving database tuning problems of a system through appropriate parameters (software platforms, data structures, query execution plans) that make it more efficient in specific applications Synthesis: to combine individual tools and methodologies to achieve the solution of complex data management problems and to creatively, clearly and correctly construct efficient database management systems. Evaluation: evaluate the advantages and disadvantages of commercial (ORACLE, DB2, Sybase, SQLServer) and non-commercial (MySQL, Postgres) Database Management Systems.
Student Performance Evaluation
Specific details on grading can be found on the course’ s website
The courses of the Computer Science Department are designated with the letters "CS" followed by three decimal digits. The first digit denotes the year of study during which students are expected to enroll in the course; the second digit denotes the area of computer science to which the course belongs.
First Digit
Advised Year of Enrollment
1,2,3,4
First, Second, Third and Fourth year
5,6
Graduate courses
7,8,9
Specialized topics
Second Digit
Computer Science Area
0
Introductory - General
1
Background (Mathematics, Physics)
2
Hardware Systems
3
Networks and Telecommunication
4,5
Software Systems
6
Information Systems
7
Computer Vision and Robotics
8
Algorithms and Theory of Computation
9
Special Projects
The following pages contain tables (one for each course category) summarizing courses offered by the undergraduate studies program of the Computer Science Department at the University of Crete. Courses with code-names beginning with "MATH" or "PHYS" are taught by the Mathematics Department and Physics Department respectively at the University of Crete.