Parent, Child, and Sibling Relationships

GenRocket Generates Data with Full Referential Integrity 

That's right, GenRocket can generate synthetic data with full referential integrity to meet your test data needs. GenRocket is able to do this because all  Domains have an ID or primary Attribute that is used to guarantee referential integrity between Domains.


Video Tutorial 

Check out the following three-minute video to gain a clear conceptual understanding of how GenRocket is able to generate test data with full referential integrity. 



Documentation 

In order for GenRocket to be able to generate test data with full referential integrity it has a different way of looking at database relationships.


Defining a Data Model in an Application
Defining the Same Data Model in GenRocket 
       



  • GenRocket generates test data sequentially based on relationships -- if GenRocket allowed you to give a table multiple parents, you would end up generating a large amount of unnecessary data. You can an see example of this in the video above.
  • Instead, GenRocket uses the concept of sibling relationships. A sibling table is a parent relationship that is used to describe the child table. For example, the table role is used to describe the user table so it could be marked as a sibling. 
  • A department table would be marked as a parent to the user table because it is describing an actual relationship between the two tables.
  • You can use the rule of thumb that if the table is an "adjective" for another table (i.e. role is an adjective to user) it can be marked as a sibling in GenRocket.


Three Easy Ways to Generate Data with Referential Integrity with GenRocket 

This video demonstrates how easy it is to model and generate test data with referential integrity.