Skip to the content.

CS3223 Database Systems Implementation Project

AY2018/2019 Semester 2
School of Computing
National University of Singapore

This project focuses on the implementation of a simple SPJ (Select-Project-Join) query engine to illustrate how query processing works in modern database management systems (DBMS), specifically relational databases (RDBMS). More information about the project requirements can be found at here.

This repository presents our approach to this project. We are a team consisting of undergraduate students from the National University of Singapore, comprising of

Implementation Outline

Based on the given template, we have implemented the following operators in this SPJ query engine:

We have tried to follow the Volcano iterator model to implement the various operators. However, there does exist some operators (such as Sort) which are blocking and cannot use the iterator model.

In addition, we have implemented a new hybrid randomized operator (see here), which consists of both the iterative improvement (II) algorithm (see RandomII.java) and the simulated annealing (SA) algorithm (see RandomSA.java).

Setup Instructions

Development Workflow

References

Licence

GNU General Public Licence 3.0