[ Russian ] [ English ]

Возможности реализации объектных моделей данных в дедуктивных средах

К.Ю. Лисовский,
Московский институт стали и сплавов - Технологический университет,
kl@ns.misa.ac.ru

Возможности представления объектных данных средствами логики первого порядка активно исследуются в течение последнего десятилетия. Был предложен ряд логических языков, прежде всего Datalog^meth ( Abiteboul S., Lausen H., Uphoff H., Waller E. Methods and Rules. //SIGMOD Record, 1993, v.22, Num.2, p.32-41.), поддерживающих идентификаторы объектов, полиморфизм, наследование (как монотонное, так статическое и динамическое), переопределение и позднее связывание, что позволяет классифицировать их как объектные, а их программы могут быть преобразованы в программы логики первого порядка (как правило, в Datalog с отрицаниями).

Модель данных, поддерживаемая Datalog^meth, поддерживает перечисленный выше набор основных принципиальных и общепринятых объектных концепций, и далее мы будем ссылаться на нее как на "базовую объектную модель данных". Существует, однако, большое количество иных вариантов объектных моделей данных, которые исследуются и развиваются не менее активно.

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

Концепция делегирования позволяет определять объект в терминах отличия его от ранее определенных объектов (объектов-прототипов), а не принадлежности к предварительно описанному классу. Она может быть эффективна в ситуациях, когда количество классов и объектов сопоставимо.

Предлагаемый язык Datalog/D поддерживает концепцию делегирования, используя технику переписывания в Datalog с отрицаниями, подобную предложенной для Datalog^meth. Необходимо отметить, однако, что реализация объектно-дедуктивной системы в виде надстройки над реляционной СУБД является весьма проблематичной, что является очевидным недостатком предложенного подхода. Областью применения подобной системы может быть обработка слабоструктурированных данных, где применение концепции делегирования может быть оправданным и эффективным.

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

Поддержка таких расширений может быть включена и в объектно-дедуктивные языки, реализованные с применением техники переписывания в Datalog с отрицанием, например в язык Datalog/O, обсуждавшийся на семинаре Московской секции ACM SIGMOD в январе 1998. Применяемая при этом техника во многом подобна используемой для поддержки концепции делегирования, однако получаемая Datalog-программа существенно более пригодна для вычисления при помощи связанных реляционно-дедуктивных систем, что расширяет область применения подобных языков.

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

Supported by Synthesis Group