An interactive tool for teaching and learning database normalization
Christos Stefanidis, Georgia Koloniari · 2016
This paper presents a software tool that automates the process of relational database normalization. In particular, based on a user-given table and a set of functional dependencies, it outputs a set of BCNF normalized tables. The design goal of our software tool is twofold. Besides providing an automated normalization process that can efficiently handle small applications, its primary goal is to act as a teaching aid assisting educators to demonstrate the normalization process, and also as a self-training tool enabling students to practice with normalization by themselves. To this end, the tool provides a step-by-step interactive normalization process allowing the user to try alternative decompositions by selecting at each step a functional dependency and the corresponding table to be decomposed. Furthermore, it provides detailed explanations at each step and sub-process supported to help students understand the different steps of the normalization process.