This topic describes how to populate an empty database using Data Generator.
The following use case demonstrates the use of Data Generator for MySQL to quickly populate an empty database with meaningful test data. For this purpose, the following database called salesdb was created. The screenshot below graphically demonstrates the structure of the database, including tables, columns, connections, data types, foreign keys, etc.
To generate test data:
The window allows you to:
To populate all the columns, select the check box next to salesdb. Alternatively, you can specify the tables that you want to populate by selecting the check boxes next to the table names.
In addition, Data Generator provides the Preview window that shows a table with the generated data.
For a column you select, Data Generator automatically assigns a generator based on the column and table characteristics: name, data type, etc. You may select a different generator for the column and customize the parameters of this generator in the settings pane.
Select the CustomerID column. The ID (sequential) generator is automatically assigned, which generates unique identifiers for the column. For this generator, along with the basic settings, you can specify the Min and Max values for the IDs to be generated.
Select the FirstName column. The First Name (any gender) generator is automatically assigned to this column. The generator provides realistic male First Names. In the text box, you can see a predefined regexp template to generate names. The template may be customized by inserting various snippets, counters, files, and columns.
Select the MiddleInitial column. The Middle Name generator is automatically assigned to this column. The generator provide a wide range of middle names including both the full names and initials. The values to be generated may be customized using regular expressions. For example, if you want only one-character initials to be generated, specify the [A-Z] regular expression in the text box of the settings pane. The values may also be adjusted by inserting predefined regexp snippets, counters, files, and columns.
Select the Gender column. The Gender generator is automatically assigned to this column. The data grid in the settings pane is designed to show weight ratios and percentages of the male and female values to be generated. The weight ratios can be customized by manually altering the numbers in the data grid. The percentages will be automatically recalculated concurrently with the change of the weight ratios.
Select the SSN column. The US Social Security Number (SSN) is automatically assigned to this column. The generator will populate the column with random numbers. You can customize the numbers in the text box using various regular expressions or by inserting regexp snippets, counters, files, and columns.
For example, with the help of regexp snippets, you can add or generate lower case and uppercase letters, hexadecimal characters, digits without a zero. You can also specify groups, alternatives, repeats, etc. of the generated values.
With the help of the counter, you may can get a sequence of digits in increment/decrement order, sequence of characters in increment/decrement order, and hexadecimal characters in increment/decrement order.
Select the Avatar column. The Avatar Images generator is automatically assigned to this column. The generator contains more than 150 different avatars. You can specify the fold and a subfolder to load images from, as well as select a file pattern.
Select the ShippingMethod column. The Shipping Method generator is automatically assigned to this column. The generator provides a wide range of realworld shipping methods, such as USPS Express Mail, FedEx, DHL, Airmail Priority, etc. The list of all shipping methods is visible in the text box of the settings pane. You can customize this list manually or by adding regexp snippets, counters, columns, files from the drop-down lists below the text box.
While selecting tables and customizing generators, the Preview window displays data to be generated in real-time.