1. A machine-implemented method for slicing a relational database while preserving referential integrity, the machine-implemented method comprising: copying, completely, all domain tables of the relational database to a shadow database, the shadow database having a same structure as the relational database; dividing a desired percentage, p, by a value, c, to create a target iteration slicing percentage of p/c; determining whether foreign keys exist in the relational database; and performing a plurality of acts, when the foreign keys are determined to exist in the relational database, the plurality of acts comprising: determining whether a size of the shadow database is less than the desired percentage, p, of a size of the relational database, repeating a second plurality of acts when the size of the shadow database is determined to be less than the desired percentage of the size of the relational database, the second plurality of acts comprising: randomly selecting, approximately, the target iteration slicing percentage, p/c, of data from a driving table of the relational database, copying previously uncopied ones of the randomly selected approximate target iteration percentage, p/c, of the data from the driving table into a table of the shadow database corresponding to the driving table, performing a depth first search to find a corresponding next related table of the relational database, copying previously uncopied ones of the corresponding next related table of the relational database, referred to by copied data of a corresponding previous related table of the relational database, to a table of the shadow database corresponding to the corresponding next related table of the relational database, and repeating the performing of the depth first search, to find a corresponding next related table and the copying of previously uncopied ones of the corresponding next related table of the relational database, referred to by copied data of a corresponding previous related table of the relational database until the depth first search fails to find a next related table, and recreating, in the shadow database, constraints from the relational database.
1. A machine-implemented method for slicing a relational database while preserving referential integrity, the machine-implemented method comprising: copying, completely, all domain tables of the relational database to a shadow database, the shadow database having a same structure as the relational database; dividing a desired percentage, p, by a value, c, to create a target iteration slicing percentage of p/c; determining whether foreign keys exist in the relational database; and performing a plurality of acts, when the foreign keys are determined to exist in the relational database, the plurality of acts comprising: determining whether a size of the shadow database is less than the desired percentage, p, of a size of the relational database, repeating a second plurality of acts when the size of the shadow database is determined to be less than the desired percentage of the size of the relational database, the second plurality of acts comprising: randomly selecting, approximately, the target iteration slicing percentage, p/c, of data from a driving table of the relational database, copying previously uncopied ones of the randomly selected approximate target iteration percentage, p/c, of the data from the driving table into a table of the shadow database corresponding to the driving table, performing a depth first search to find a corresponding next related table of the relational database, copying previously uncopied ones of the corresponding next related table of the relational database, referred to by copied data of a corresponding previous related table of the relational database, to a table of the shadow database corresponding to the corresponding next related table of the relational database, and repeating the performing of the depth first search, to find a corresponding next related table and the copying of previously uncopied ones of the corresponding next related table of the relational database, referred to by copied data of a corresponding previous related table of the relational database until the depth first search fails to find a next related table, and recreating, in the shadow database, constraints from the relational database. 2. The machine-implemented method of claim 1 , further comprising: repeating the second plurality of acts with respect to all driving tables of the relational database, when the size of the shadow database is determined to be less than the desired percentage, p, of the size of the relational database.