КАДЭЙ ТХЕЙ
Научный руководитель – Б. А. ЩУКИН, д. т.н., профессор
Московский инженерно-физический институт (государственный университет)
РАБОТА С БАЗАМИ ДАННЫХ, СОДЕРЖАЩИМИ
XML-ДОКУМЕНТЫ
В докладе рассматривается работа с базами данных СУБД DB2, содержащими XML-документы.
В настоящее время появляется всё больше производителей, которые встраивают в свои системы управления базами данных расширения для работы с XML. К наиболее развитым в этой области можно отнести средства от Microsoft и Oracle. Продукты этих фирм позволяют выполнять SQL-подобные запросы к базам данных, которые генерируют документы XML.
В рамках изучения XML баз данных был реализован проект, реализующий работу с XML базами данных с использованием СУБД DB2 [1].
СУБД DB2 позволяет клиентским приложениям работать как с табличной структурой данных, так и с XML-данными при помощи выбранного языка запросов – SQL или Xquery. Внутренние компоненты DB2 поддерживают запросы, написанные на любом из этих языков. СУБД DB2 хранит XML-данные и манипулирует ими, используя формат, отражающий иерархическую природу исходного XML-документа.
DB2 V9 поставляется среда Developer Workbench – инструмент разработки, основанный на Eclipse, включающий в себя средство графического создания запросов XQuery, которое помогает создавать и тестировать запросы.
Средства, которые позволяют привязывать информацию реляционных баз данных к данным XML, необходимы. Основные трудности, которые могут при этом возникнуть, связаны с разной структурой организации данных в документах XML и реляционных базах данных. Организация элементов в документах XML является иерархической и напоминает дерево. В базах данных используется иная структура: внутри базы данных находятся таблицы, а внутри таблиц – записи, в которых и производится хранение основных массивов данных. DB2 позволяет сохранять хорошо сформированный XML документ в любом столбце, определенном с указанием нового типа данных XML. Таким образом, один столбец может содержать документы с разными структурами (или схемами), а также с разным содержимым.
В ходе выполнения проекта были изучены основы технологии XML [2], XQuery [3], XMLSchema [4], Xlink [5], XPath [5] и СУБД DB2. Новая поддержка XML в DB2 включает в себя новый язык запросов. Теперь можно производить поиск данных, используя SQL или XQuery - новый язык запросов, который поддерживает навигационные (основанные на указании пути) выражения. Фактически, в приложениях можно свободно применять инструкции обоих языков запросов, и в одном запросе можно применять и SQL, и XQuery. Поскольку DB2 поддерживает два языка запросов. Тот же самый запрос можно сформулировать, используя выражения FLWOR, которые часто связываются с запросами XQuery. Выражения FLWOR – это неформальное название выражений for, let, where, order by и return. Они позволяют перебирать группы узлов в XML-документах и связывать переменные с промежуточными результатами. В приведенном простом запросе выражения for и return применяются для получения email из информайии студентах.
В одном запросе можно комбинировать SQL и XQuery, ограничивая поиск как в XML-столбцах, так и в не-XML-столбцах. В докладе демонстрируется работа с таблицами, содержащими XML столбцы, XML индексы на столбце, XML схемы документов и регистрация их в XSR. Показано как можно генерировать XML документ из XML схемы и затем вставлять его в XML столбец после редактирования в XML редакторе.
Список литературы
1. Bhambhri, Anjul. “Firing up the Hybrid Engine,” DB2 Magazine, Quarter 3, 2005. (http://www. or http://www. software. /data/db2/xml)
2. http://www. *****/journal/articles/41.html
3. Michael Brundage. “XQuery: The XML Query”. (http://www. /xquery)
4. Daniel K. Appelquist. “XML and SQL: Developing Web Applications”. (http://safari. /?tocview=true)
5. http://www. w3.org/TR/xmlschema-0/
6. http://www. /xquery/default. asp
7. http://www. /xml/XMLDBLinks. htm


