Проблема преобразования и переноса данных между различными СУБД решается в основном двумя методами, основанными соответственно на использовании:
1) специального драйвера (две СУБД соединяются друг с другом и напрямую передают данные, используя интерфейс);
2) транзитных файлов, в которые копируются данные из старой БД и переносятся в новую БД.
Процесс преобразования и переноса данных из разных БД в новую БД приведен на рис.8.3.
При первом методе две СУБД соединены напрямую и передают данные, используя определенный интерфейс или драйвер. Иными словами,. они используют специальные программы взаимодействия двух СУБД, при которых вторая СУБД понимает результаты выполнения запросов на языке манипулирования данными первой СУБД, и наоборот. Данные на выходе первой СУБД являются данными на входе второй СУБД в языке манипулирования данными второй СУБД, такие данные могут быть внесены в транзитную БД.
Метод сложный в реализации и требует поставки с СУБД программ переноса данных из других СУБД, которые привязаны к старой и новой СУБД. Поэтому второй метод переноса данных между различными СУБД является более предпочтительным..
Второй метод заключается в том, что из старой БД данные переносятся в транзитные файлы, SGL–скрипты, DBF–файлы с заранее заданными форматами данных, которые пересылаются через сеть в новую транзитную БД.
Данные из транзитных файлов с помощью специальных утилит или средств новой СУБД затем переносятся в транзитную БД для дальнейшей обработки. Если вторая СУБД реляционного типа, то данные в транзитных файлах должны быть представлены к табличному виду. Если первая СУБД не реляционна, то данные должны быть приведены к табличному виду и первой нормальной форме.
Дальнейшая нормализация данных и приведение их к структуре новой БД осуществляется в транзитной БД. Существуют пять нормальных форм задания структур данных, чаще всего используется 3–я или 4–я нормальная форма.