This course covers topics relating to components of a Database System including file structures, access methods, query processing and optimization, transactions, concurrency control, recovery, distributed databases, security and some trend topics (e.g., distributed databases, spatial databases, etc.)
1. Students are able to define, discuss and implement the common file and index structures (e.g., extendible hashing, linear hashing, B+ tree etc.). Also Apply search, insert and delete algorithms on these structures for relational data.
2. Students are able define, discuss and analyse query processing strategies (e.g., nested loop join, sort merge join strategy, etc.). Also undertake cost model based analysis to analyze and evaluate the alternatives to decide on a suitable query execution strategy (e.g., choice of join strategies, index selection etc.).
3. Students are able define and discuss basic terminology of transactions and concurrency control (e.g., ACID properties, serializable schedules, etc), recovery and database security.
4. Students are able to define and discuss advanced database concepts such as Bit sliced indexes, database buffer mangers, query processing in distributed environment.