Полагаю, первым шагом было бы наметить, каковы зависимости / отношения между таблицами, и как найти все зависимости данной строки в данной таблице.
После того, как вы это сделали, вы можете просто взять случайную выборку из одной из ваших таблиц высокого уровня (например, «Клиенты») и рекурсивно извлечь любые зависимые строки из зависимых таблиц.
Промойте и повторите для всех таблиц, которые не отображаются в "иерархии зависимостей" для первой выбранной вами таблицы, пока у вас не будет выборка из всех таблиц.
Конечно, не будет общего сценария для этого, но я бы сказал, что время, потраченное на отображение зависимостей в базе данных таким способом, - это время, потраченное на понимание структуры базы данных.
<ч />
Tbh Я бы, вероятно, вместо этого сделал бы обратное - очистить базу данных и добавить записи в соответствующие таблицы, если вы сочтете это необходимым. На самом деле разработчикам не нужно всегда работать с репрезентативной выборкой данных, и на самом деле вы всегда должны регулярно проверять полную выборку данных, на случай, если 95% в оставшейся базе данных содержатся строки, вызывающие проблемы.