Методы и средства инженерии программного обеспечения

       

Унифицированные файлы для передачи данных между разными БД


Проблема преобразования и переноса  данных между различными СУБД решается  в основном двумя методами, основанными соответственно на использовании:

1)    специального драйвера (две СУБД соединяются друг с другом и напрямую передают данные, используя  интерфейс);

2)    транзитных файлов, в которые копируются  данные из старой БД  и  переносятся в новую  БД.

Процесс преобразования  и  переноса данных из разных БД в новую БД приведен на рис.8.3.

При первом методе две СУБД соединены напрямую и передают данные, используя определенный интерфейс или драйвер. Иными словами,. они  используют специальные программы взаимодействия двух СУБД, при которых  вторая СУБД понимает результаты выполнения запросов на языке манипулирования данными первой СУБД,  и наоборот. Данные на выходе первой СУБД являются данными на входе второй СУБД в языке манипулирования данными второй СУБД, такие данные могут быть внесены в транзитную БД.

Метод сложный в реализации и требует поставки с СУБД  программ переноса данных из других СУБД, которые привязаны к старой и новой СУБД. Поэтому   второй метод переноса данных между различными СУБД является более предпочтительным..

 

Второй метод заключается в том, что из старой БД данные переносятся в  транзитные файлы, SGL–скрипты, DBF–файлы с  заранее заданными форматами данных, которые  пересылаются через сеть в новую транзитную БД.

Данные из транзитных файлов с помощью  специальных утилит или средств новой СУБД  затем переносятся в транзитную БД для дальнейшей обработки. Если вторая СУБД реляционного типа, то данные в транзитных файлах  должны быть представлены  к табличному виду. Если первая СУБД не реляционна, то данные должны быть приведены  к табличному  виду и  первой нормальной форме.

Дальнейшая нормализация данных и приведение их к структуре новой БД осуществляется в транзитной БД. Существуют пять нормальных форм задания  структур данных, чаще всего используется  3–я или 4–я нормальная форма.
Каждая  высокая форма нормализации содержит в качестве  подмножества  более низкую форму  первой нормальной формы, содержащей скалярные значения.



             Рис. 8.3. Процесс преобразования и формирования новой БД из старых БД

Иными словами, отношение находятся в первой нормальной форме, если они хранятся в табличном виде (все ячейки в строке таблицы расположены в строго определенной последовательности) и каждая ячейка таблицы содержит только атомарные значения (каждый элемент не является множеством).

Отношение находится в третьей нормальной форме тогда и только тогда, когда каждый кортеж состоит из значения первичного ключа, которое идентифицирует некоторую сущность, и набора пустых значений или значений  независимых атрибутов, описывающих эту сущность. Т.е. отношение находится в третьей нормальной форме,  когда неключевые атрибуты являются взаимно независимыми и зависят от первичного ключа. Неключевой атрибут – это атрибут, который не задействован первичным ключом рассматриваемого  отношения.

Два или несколько атрибутов являются взаимно независимыми, если ни один из них не зависит функционально от какой–либо комбинации остальных атрибутов. Подобная независимость подразумевает, что каждый атрибут может быть обновлен независимо от остальных.

Процесс нормализации отношений позволяет избавиться от проблем, которые могут возникнуть при обновлении, внесении или удалении данных, а также при обеспечении  целостности данных.

Структуры старых баз данных, не всегда приводятся к третьей нормальной форме, поэтому требуется, чтобы данные, находящиеся в транзитных файлах, существовали  хотя бы в первой нормальной форме и относились  к реляционной модели.

В качестве унифицированного формата транзитных файлов используется  формат DBF–файлов, поскольку  многие СУБД, такие как DB2, FохРго и некоторые другие хранят данные в таких файлах, тем самым не требуется  начальный перенос данных из старой СУБД в транзитные файлы.Большинство СУБД, формат хранения данных которых отличается от формата DBF–файлов, снабжены утилитами или драйверами,  которые позволяют перенести данные в такой формат.


Содержание раздела