14. A machine-readable storage medium having recorded thereon instructions for at least one processor, the instructions comprising: instructions for completely copying all domain tables of a relational database to a shadow database having a same structure as the relational database; instructions for dividing a desired percentage, p, by a value, c, to create a target iteration slicing percentage of p/c; instructions for randomly selecting a plurality of rows from the driving table, such that the randomly selected plurality of rows are approximately p/c % of data included in the driving table; instructions for copying the randomly selected rows to a corresponding table of the shadow database; instructions for selecting rows of tables of the relational database, related to the randomly selected rows from the driving table, either directly or indirectly, and copying the selected rows of the tables to corresponding tables of the shadow database, such that referential integrity is preserved; instructions for determining whether a size of the shadow database is less than the desired percentage of a size of the relational database; instructions for repeating execution of a plurality of instructions, while the determined size of the shadow database is less than the desired percentage of the size of the relational database, the plurality of instructions comprising: the instructions for randomly selecting a plurality of rows from the driving table, the instructions for copying the randomly selected rows to a corresponding table of the shadow database, and the instructions for selecting rows of tables of the relational database, related to the randomly selected rows from the driving table, and copying the selected rows of the tables to corresponding tables of the shadow database, such that referential integrity is preserved; and instructions for recreating, in the shadow database constraints from the relational database.
17. The machine-readable storage medium of claim 14 , further comprising: instructions for creating a representation of a connected graph based on a schema description of the relational database, tables of the relational database being represented by nodes of the connected graph, and foreign keys relating to the tables of the relational database being represented by graph edges connecting the nodes representing the tables, wherein the instructions for selecting rows of tables of the relational database, related to the randomly selected rows from the driving table, and copying the selected rows of the tables to corresponding tables of the shadow database, such that referential integrity is preserved further comprise: instructions for performing a depth first search, starting from the driving table, by referring to the representation of the connected graph.