[ Russian ] [ English ]

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

Я.Л. Калайдзидис,
НИИ физико-химической биологии им. А.Н.Белозерского,
yannis@computer.org

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

В связи с этим нами была разработана система отображения реляционной базы данных в объектное представление со стороны прикладной программы - ODML 2.0. ODML 2.0 реализована в рамках проекта Pluk [1] и является встраиваемым интерпретатором, позволяющим совмещать объектное представление базы данных приложения с реляционным СУБД. ODML транслирует объектно-ориентированные запрос в последовательность SQL запросов к таблицам, в которых хранятся части собираемого объекта, и осуществляет его сборку. При записи в базу данных ODML производит декомпозицию объекта и запись его в соответствующие таблицы. Синтаксис языка запросов ODML 2.0 является реализацией стандарта ODMG 2.0 [2]. Автоматическая настройка на объектную схему данных позволяет динамически подстраивать (в определенных пределах) существующие приложения под эволюционирующую схему базы данных. Разработанные графические CASE средства для создания/редактирования объектно-ориентированной схемы базы данных позволяют автоматически декомпозировать объектную схему включающую, множественное наследование, в таблицы РСУБД.

Разделение объектной схемы и схемы РСУБД при помощи специализированного декларативного языка ODML позволяет построить объектно-ориентированное представление для существующих реляционных баз данных.

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

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

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

Литература:

  1. Калайдзидис Я.Л., Гаврилов А.В., Зайцев П.В., Калайдзидис А.Л., Королев Е.В., Плюк - среда разработки программного обеспечения. Программирование, №4, 1997, с.38-46.
  2. Object Database Standard: ODMG 2.0, Edited by R.G.G. Cattel, Douglas K. Barry, Morgan Kaufmann Publishers, Inc. San Francisco, California, 1997.
Supported by Synthesis Group