Develop a basic bank account management system

Affiliation: University of Crete, Department of Computer Science
Resolution: Individual, Group
Duration: Two to four hours

Overview


Goals

The activity aims at introducing students with basic concepts and skills related to the implementation of Database Management Systems. The activity addresses the topics of storage and index structures, query processing and optimization, and transaction management.

Learning Objectives

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). Upon completing the activity students will be able to: - Better understand the impact of internal implementation choices, such as page, buffer, file manager, B+-tree and Hash indices, external sort and join algorithms, and more, on the performance of a database management system - Adopt a principled approach to database tuning problems by choosing the appropriate internal system parameters, including software configurations, data structures, and 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

Context

The activity is designed for execution in the context of an introductory Database Management Systems course. It aims to complement theoretical instruction through practical hands-on problems implemented in a computer laboratory. The activity challenges students to apply Database Management Systems knowledge and skills in practice towards building basic applications similar to those that they will be called to develop as professionals. The activity focuses builds general database management skills, but has a specific focus on transaction management, fault tolerance, and database consistency.