# JMathNorm- Database Normalization Tool Using Mathematica

This paper is about designing a complete interactive tool, named JMathNorm, for relational database (RDB) normalization using Mathematica. It is an extension of the prototype developed by the same authors [1] with the inclusion of Second Normal Form (2NF), and Boyce-Codd Normal Form (BCNF) in addition to the existing Third normal Form (3NF) module. The tool developed in this study is complete and can be used for real-time database design as well as an aid in teaching fundamental concepts of DB normalization to students with limited mathematical background. JMathNorm also supports interactive use of modules for experimenting the fundamental set operations such as closure, and full closure together with modules to obtain the minimal cover of the functional dependency set and testing an attribute for a candidate key. JMathNorm’s GUI interface is written in Java and utilizes Mathematica’s JLink facility to drive the Mathematica kernel.

Design of a RDB system consists of four main phases, namely, (i) determination of user requirements, (ii) conceptual design, (ii) logical design, and ﬁnally, (iv) physical design [2]. During the conceptual design phase, set of business rules is transformed into a set of entities with a set attributes and relationships among them. Extended Entity Relationship (EER) modeling tool can be utilized for the graphical representation of this transformation. The entity set in the EER model is then mapped into a set of relation schemas {R1, R2, R3, …, Rn} where each Ri represents one of the relations of the DB schema. A temporary primary key is designated, and a set of functional dependencies (FD’s) among the attributes of each schema are established as an outcome of this phase. As a side product of the logical design phase, each Ri is transformed into well-formed groupings such that one fact in one group is connected to other facts in other groups through relationships [3]. The ultimate aim of this article is to perform this rather mechanical transformation process, called normalization, eﬃciently in an automatic fashion

## Free download research paper

**CSE PROJECTS**