Классика баз данных - статьи

       

ориентированного подхода не содержит подходящего


объектно- ориентированного подхода не содержит подходящего к

данному случаю понятия. Обычно из положения выходят, расширяя

базовый набор концепций концепцией множества объектов и полагая,

что результатом запроса является некоторое подмножество

объектов-экземпляров класса. Это довольно ограничительный подход,

поскольку автоматически исключает возможность наличия в языке

запросов средств, аналогичных реляционному оператору соединения.

В конце этого раздела мы коротко изложим собственные (в

достаточной степени предварительные) соображения по этому поводу,

но сначала кратко рассмотрим особенности нескольких конкретных

декларативных языков запросов к ООБД.

В языке запросов объектно-ориентированной СУБД ORION

полностью поддерживается принцип инкапсуляции объектов. В

реализованном варианте языка запросы могут основываться только на

одном классе (хотя в описывается подход к определению

запроса на нескольких классах в стиле расширения семантики

реляционного оператора соединения). Синтаксис языка ориентирован

на SQL. Очень развит набор допустимых предикатов селекции. В

частности, для атрибута, доменом которого является суперкласс,

можно указать имя интересующего пользователя подкласса.

Язык запросов системы Iris находится в значительной

степени под влиянием реляционной парадигмы. Даже название этого

языка OSQL отражает его тесную связь с реляционным языком SQL. По

сути дела, OSQL - это реляционный язык, рассчитанный на работу с

ненормализованными отношениями. Естественно, при таком подходе в

OSQL нарушается инкапсуляция объектов.

На наш взгляд, особый интерес представляет декларативный язык

запросов системы O2 RELOOP . В общих словах, это

декларативный язык запросов с SQL-ориентированным синтаксисом,

основанный на специально разработанной для модели O2 алгебре

объектов и значений. (Кстати, это не единственная работа в

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

моделей данных. См., например, .) На наш взгляд, особенно

впечатляющим качеством языка RELOOP является естественность его


Содержание  Назад  Вперед