ФОРМИРОВАНИЕ ЗАПРОСА В ОБЪЕКТНО-ОРИЕНТИРОВАННЫХ БАЗАХ ДАННЫХ В INTERNET
Богданов Александр Сергеевич, Ерохин Вячеслав Ильич, Институт системного анализа РАН (ИСА РАН), г. Москва
Богатые возможности по представлению различных сложно структурированных данных предоставляет СУБД НИКА [1]. Она имеет объектно-ориентированную модель данных. Система НИКА имеет уникальный единый индекс, который позволяет индексировать все атрибуты всех объектов всех уровней иерархии.
В работе [2] представлена методика поиска для ООБД в INTERNET, в которой было показано, что необходимо предварительно выбрать объект поиска из иерархии объектов БД. По выбранному объекту представляется набор атрибутов, по которым можно вести поиск этого объекта в БД: его собственные атрибуты и унаследованные атрибуты объектов, расположенных выше в иерархии. Для задания условия поиска использовалось табличное представление (отдельно для собственных и унаследованных атрибутов), где каждая строка — условие на один конкретный атрибут. Теперь рассмотрим, как сделать наиболее эффективным интерфейс для заполнения такой таблицы с условиями, т. е. сам процесс формирования запроса в INTERNET. Для работы нами использовались WEB-сервер WebSite версии 1.1 и WEB-броузеры: NetScape Navigator версии 3 и выше и Internet Explorer 3.0 с поддержкой фреймов и JavaScript. Разработанное программное обеспечение состоит из HTTP-демона, запускаемого Web-сервером по запросу от клиента и набора HTML-документов, содержащих Java-скрипт, который управляет рабочим полем броузера для создания интерфейса запроса. Причем, эти две части устроены так, чтобы предоставить INTERNET-пользователю всю необходимую информацию для запроса и в то же время минимизировать обращения к WEB-серверу и не перегружать сеть.
Методика составления запроса условно разбита на три задачи:
С целью представления необходимых атрибутов для запроса (как собственных, так и унаследованных) в удобном виде на экране предлагается использовать табличный вид. Таблица имеет следующие колонки:
Когда поисковый объект находится на внутренних уровнях иерархии, запрос разбивается на две таблицы. Например, имеется набор объектов типа “Школа” со своими атрибутами и у каждой такого объекта имеется набор объектов “Ученик”. Требуется найти всех отличников из школ с углубленным изучением иностранных языков. Тогда, при выборе объекта “Ученик” мы получаем две таблице атрибутов: одна для самого объекта “Ученик”, а другая – для набора атрибутов объектов более высокого уровня (в нашем случае это объект “Школа”). Нам надо задать условие на атрибут “Успеваемость” из первой таблице и на атрибут “Тип школы” из второй. В работе [2] показано, что результат запроса — это путь (траектория) к отобранному объекту. При этом мы имеем пути и к объектам, находящемся на более высоком уровне иерархии. Чтобы получить необходимое нам подмножество, нужно пересечь результат запроса на нужный нам объект (“Ученик”) с результатом запроса на атрибуты объектов, лежащих выше (“Школа”). Как видно, при создании запроса не требуются знание каких-либо языков запросов или физической структуры БД.
Результат запроса предлагается показывать в третьем окне броузера. В окне формирования запроса предлагается отобразить статистику о полученных результатах: сколько объектов и на каком уровне. Пользователь может отредактировать условие и снова запустить запрос. В работе [2] указывалось на необходимость разбиения полученного набора траекторий к отобранным объектам на небольшие порции. Такие порции в виде HTML-документов со встроенным Java-скриптом присылаются клиентской программе, которая организовывает навигацию по отобранным объектам для их просмотра. Технология просмотра объектов описана в [3].
Литература.
![]() | Сервер поддерживается фирмой НПП "БИТ про" Лучшие программы для образовательного процесса |
|