МЕТОДИКА ПОИСКА ДЛЯ ОБЪЕКТНО-ОРИЕНТИРОВАННЫХ БАЗ ДАННЫХ В INTERNET

Емельянов Николай Евгеньевич, Богданов Александр Сергеевич,
Институт системного анализа РАН, Москва


Богатые возможности по представлению различных сложно структурированных данных предоставляет СУБД НИКА [4]. Она имеет объектно-ориентированную модель данных. Система НИКА имеет уникальный единый индекс, который позволяет индексировать все атрибуты всех объектов всех уровней иерархии [3]. Сначала для выбора объекта поиска СП показывает иерархию объектов, поиск которых возможен в БД (по усмотрению разработчика БД могут существовать объекты, не имеющие атрибутов поиска). После выбора объекта определенного уровня иерархии однозначно определяется и высвечивается на экран набор атрибутов, по которым можно вести поиск этого объекта в БД: его собственные атрибуты и унаследованные атрибуты объектов, расположенных выше в иерархии. Для задания условия поиска использовалось табличное представление (отдельно для собственных и унаследованных атрибутов), где каждая строка - условие на один конкретный атрибут. Условия могут быть 3-х типов: "ЗНАЧЕНИЕ" (т.е. найти все значения данного атрибута, которые содержат заданный текст или число), "ОТ" и "ДО" (т.е. найти все значения данного атрибута, которые лежат в заданном интервале). Строки связаны между собой логическими связками И, ИЛИ и КРОМЕ. Строки, не участвующие в запросе, помечаются знаком "-", т.е. закомментарены. Присланные таблицы содержат кол-во строк, которое не меньше числа атрибутов (собственных или унаследованных). Причем, первоначально они закомментарены и в полях "ОТ" и "ДО" содержат граничные значения данного атрибута. Порядок следования атрибутов меняет по необходимости сам пользователь.

Сформированный таким образом запрос отсылается на сервер. На сервере запрос будет выполняться в порядке следования строк с условиями. Сначала выполняются условия по собственным атрибутам объекта, а затем - по унаследованным атрибутам. Результатом выполнения запроса будет массив путей (траекторий) в БД - новая ветка в БД. Размер (или глубина) путей зависит от уровня, на котором находится объект. Когда объект находится на m-ном уровне, то путь будет иметь следующий вид:

"<объект 1><Ключ 1>.<объект 2><Ключ 2>...<объект M><Ключ M>".

Программа обработки запроса после получения результата ведет подсчет отобранных объектов всех уровней иерархии. По этой информации можно судить о качестве запроса и о наличии необходимых данных в БД. Для того, чтобы пользователь сразу мог перейти на любой объект, находящийся выше объекта поиска по иерархии, необходимо поместить на HTML-странице, которую получает клиент (броузер), ссылки на все эти объекты. Пользователь видит всю цепочку до нужного ему объекта и может перейти на просмотр как самого отобранного объекта, так и на просмотр объектов, его содержащих. Результат поиска может оказаться достаточным большим, что повлечет за собой увеличение размера HTML-документа. Чтобы не перегружать сеть, большие документы разбиваются на части, связанные между собой ссылками. В результате запроса показывается первая часть и ссылки на следующие части. Переход к просмотру самих объектов осуществляется вызовом любого из отобранных объектов. Организация просмотра объектов описана в [5].

Литература

  1. С. Орлов. Будущее объектных СУБД. Ж. "ComputerWeek-Moscow" ь14 1996, с. 26,27,42.
  2. С.Д. Кузнецов. Основы современных баз данных. Информационноаналитические материалы Центра Информационных Технологий.
    (http://www.citforum.ru/koi/database/osbd/contents.shtml).
  3. Emelyanov N., Godunov A., Romanov A. Indexing of Objects in Complex Structures, Japan-CIS Symposium on Knowledge Based Software Engineering - JCKBSE-94, pp. 63-66.
  4. Системы управления базами данных и знаний, изд-во "Финансы и статистика", М., 1991, с.209-248.
  5. Емельянов Н.Е., Тищенко В.А. Принципы построения Web-сервера на основе ООБД // ж. "Информационные технологии и вычислительные системы", ОИВТА РАН, М.: 1997, ь4, с. 90-99.