[ Russian ] [ English ]

Конверсия реляционных баз данных и трансляция SQL-запросов в среду объектных баз данных

Предраг Станишич,
МГУ,
PREDRAGS@cs.msu.su

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

В настоящее время объектно-ориентированные системы стали вполне зрелыми, и уже существует ряд хороших коммерческих продуктов. Стимулирующее влияние на развитие объектных технологий в системах баз данных оказало появление объектно-реляционных СУБД лидирующих поставщиков реляционных СУБД - Oracle, Informix, IBM... Многие организации переходят к объектно-ориентированным технологиям. При этом естественно возникает желание использовать уже существующие данные, которые хранятся в реляционных системах. К решению этой проблемы существует несколько подходов, одним из которых является полная семантическая конверсии реляционной базы данных в объектно-ориентированную.

Процесс конверсии базы данных из одной модели в другую можно разделить на две основные фазы: трансформацию схемы базы данных из одной модели в другую и конверсию данных в соответствии с этой трансформацией схемы. Трансформация схемы - это отображение концептов исходной модели данных в концепты целевой модели данных. В данном случае она сводится к идентификации высокоуровневых объектно-ориентированных концептов в реляционной схеме, т.е. восстановлению "рельефной" объектно-ориентированной схемы из "плоской" реляционной схемы. Объектно-ориентированная модель данных описывает не только структуру (статический аспект), но также и поведение (динамический аспект) объектов реального мира, которые она моделирует. С другой стороны, реляционная модель допускает в основном моделирование структуры и только некоторых весьма ограниченных динамических аспектов объектов реального мира (с помощью, например, хранимых процедур или триггеров). По этим причинам, при трансформации схемы в основном используются лишь статические возможности объектно-ориентированной модели данных.

Кроме конверсии самой базы данных, необходимо также осуществить и конверсию приложений. Одной из важных проблем в этой области является трансляция запросов. При этом естественно рассматривать прежде всего SQL-запросы.

В докладе рассматриваются проблемы, связанные с автоматизацией процессов трансформации схемы, конверсии данных и трансляции запросов, а также предлагаются алгоритмы реализации этих процессов.

Supported by Synthesis Group