A courseware on database system design

A database is a critical component of today’s internet world. The usage is diversified across many fields, such as, schools, hospitals, business, research and defense. Hence it is necessary to store the data and retrieve whenever required. The data includes billions of records and searching them requires more efficient algorithms. Further, a database should be well-designed and implemented to allow faster storage and retrieval. This requires efficient query processing algorithms, query plans and compilers. CSc 244 covers important topics involved in design and implementation of database management systems, mainly on query compiler, query processing algorithms, logical and physical query plans; and query optimization. The main objective of this project is to explain query processing algorithms using animation. The project includes two-pass algorithms based on sorting, hashing, and index-based algorithms. This project explains the above algorithms through animation using Java Swing framework. It includes the step-by-step explanation of algorithms by taking data from disk into the memory, processing them and writing back into the disk, and bringing back the data from disk to memory for second pass of processing. The courseware is designed to assist students to effectively understand the algorithms using animation.