Pavel Kisiel

Database Data Generator

A Database Data Generator is a program capable of performing database population with test data predefined by user parameters. There are no restrictions on the number of database tables and the number of generated rows per table. These limits are dependent upon the particular Database Management System in use. The main purpose of the Database Data Generator is to load the testing of database applications and performance tuning of large databases.

There are four main modules in the program – the User Interface, Database Schema Analyzer, Database Populator Engine and the Random Data Generator. Each of these four modules has several sub-modules. The Database Schema Model sub-module is a shared object which is used by all four modules to gather database schema specifications and user parameters for data generation. This information is used by the Data Generator Engine during the database population.

The User Interface module manages all communications with the user. It interprets user data generation parameters and handles database authentication. The User is required to enter a database user name and password. Database schema analysis is performed by the Database Schema Analyzer module. The Database Schema Analyzer creates a Database Schema Model based on database specifications. The User is then able to define the kind of data and table(s) that should be generated via a User Interface. The Random Data Generator generates data values constrained by user parameters. The Database Populator Engine uses data from the Random Data Generator to populate the database. It also uses the database connection managed by User Interface and Database Schema Model created by Database Schema Analyzer. The Database Populator Engine is thus the central piece of the program design.

The project requires 36 weeks to complete and will expend an estimated 694 person-hours of labor at an estimated labor cost of $27,655. A working prototype should be available by April 26, 2000. Estimated total cost for the prototype is $92,920. Economic analysis has established that approximately 100,000 copies of the software will be sold at a cost to the company of $56 per copy. This price includes indirect, Administrative and General costs as well as a 20% profit margin. Estimated retail price of the product is $100.