Title: Functional Dependency Application
Author: David J. Stein, Esq., Kevin Hardy, and Craig White
Version: 1.0
Written: Fall 2004


Abstract: This application facilitates the development of attribute and functional dependency sets in a relational database. The application tests for form normalization (second, third, and Boyce-Codd normal forms) and checks for minimality and nonredundancy. The application can also determine whether a designated set of attributes is a key for the attribute set, and the attributes that the set directly derives.

Installation Instructions: Nothing unusual - simply run the enclosed executable.

Operation Instructions: Upon execution, the application displays the main user interface form, which shows the current attribute set and the current functional dependency set (over the current attribute set.) Both sets are initially empty, so the user may create new attributes and functional dependencies through this form. Adding an attribute is done simply by clicking "Create Attribute" and specifying its name.

To create a functional dependency, click the "Add Functional Dependency," which produces a form containing two lists of attributes, one for the left-hand side and one for the right-hand side of the new functional dependency. Select the attributes that should appear on each side of the functional dependency and click OK. The new attribute or functional dependency is then shown on the lists in the main form. The user may edit any item by double-clicking on its entry in these lists, or may delete it by clicking on the item and then clicking either the "Delete Attribute" or "Delete Functional Dependency" button.

Once an attribute set and functional dependency set have been created, the following operations are available for them:

Application History: This application was written for a relational database theory course taught by Dr. David McIntyre in Fall, 2004. This assignment was written in Visual Basic.NET with the assistance of Kevin Hardy and Craig White, and has been made available here under the included license with their consent.

Questions/Comments: Please contact David J. Stein, Esq. via email at djs10@po.cwru.edu.

Terms and Conditions of Use: Please see the enclosed "License.html" file for terms and conditions of use of this software package.