Преобразование данных БД и замена БД
При переносе данных с одной БД на другую возникают проблемы, связанные с различием логических структур данных, справочников и классификаторов, используемых СУБД, а также изменениями, внесенными в БД [9,10]. Эти проблемы объясняются поясняются следующим:
1. Многомодельность представления данных в различных БД (иерархические, сетевые, реляционные модели) и СУБД;
2. Различия в логических структурах данных, в справочниках и классификаторах, в системах кодирования информации;
3. Поддержка различных языков для представления текстовой информации;
4. Разные типы СУБД и постоянное развитие их БД в процессе эксплуатации.
Проблема 1
решается путем перехода к реляционной модели данных и СУБД, поскольку они обладают более мощным математическим аппаратом, опирающимся на теорию множеств и математическую логику. Реляционная модель данных состоит из структурной, манипуляционной и целостной частей. В них соответственно фиксируется структура данных, описание программ в SQL–языке и требования к целостности. Целостность не поддерживается в иерархических или сетевых моделей, поэтому при переходе к реляционным БД целостности данных нарушается.
Проблемы 2 вызваны тем, что логическая структура данных представляет собой концептуальную схему БД, в которой описаны основные объекты БД и связи между ними. Поэтому при изменении предметной области, переход на новую СУБД предполагает проектирование новой структуры БД, проведение сопоставления на соответствие данных в старой и новой БД, а также изменения справочной информация и классификаторов.
Проблема 3
определяется разноязычными текстовыми представлениями информации в БД. В старых БД используется, как правило, один язык, а в новых может быть несколько, поэтому необходимо организовать хранение данных с простым доступ к текстовым данным и установлении соответствия текстовых данных, записанных на разных языках.
Проблему 4
можно сформулировать как метод хранения и обработки разных данных, вызванных спецификой СУБД иерархического, сетевого и реляционного типов. Наличие явной несовместимости типов и структур моделей данных, различные языки манипулирования данными приводят к тому, что нельзя сгенерировать на языке старой СУБД скрипты по переносу данных с последующим запусков этих скриптов в среде другой СУБД. Каждая СУБД обеспечивает внесение изменений в БД, которые в некоторой степени меняют и концептуальную модель данных, если в нее вносятся новые объекты. Внесенные изменения должны отображаться в справочниках и классификаторах, которые обеспечивают перенос данных из старой БД с учетом внесенных текущих изменений.