Задача: передавать данные из одной БД в другую, отсекая ненужные для интеграции данные – слишком старые или логически нерелевантные. При этом вся совокупность данных, выгруженных из БД-источника, должна оставаться логически целостной. Это значит,
- недопустима выгрузка данных, не отвечающих критериям выгрузки,
- недопустима невыгрузка данных, отвечающих критериям выгрузки, и
- недопустима выгрузка данных, ссылающихся на данные, которые не выгружаются (ссылочная целостность).
Очевидно, что если выгружать все строки из выбранного набора таблиц БД, в котором обеспечена ссылочная целостность, то критерий выгрузки (все строки) не требует специальных анализа и реализации, а выгружаемые данные также будут ссылочно целостны.
Задача усложняется, когда нужно выгружать из таблиц только часть данных, – а такая задача возникает довольно часто. Попробуем ее решить.