Модификация повторяющихся узлов
Особую осторожность следует проявлять при модификации повторяющихся узлов, что требует синтаксиса XQuery FLWOR. Это наиболее обобщенный синтаксис в XQuery. Аббревиатура FLWOR расшифровывается как For-Let-Where-Order by-Return. Данные ключевые слова позволяют организовать циклы и условное выполнение в XQuery. Для преобразования документов XML можно использовать выражения XSLT ДНазаметку (см. ра3дел “Представление документов XML”). Так как данные XSLT представлены в формате XML, они также могут храниться в базе данных в столбцах типа XML. Для повышения производительности столбцы XML в DB2 9.5 можно индексировать. Несмотря на сходство со стандартным индексом, создаваемым для других встроенных типов данных, столбцы XML требуют несколько другого подхода. В отличие от индексов других типов данных столбец XML можно индексировать по частичным данным, содержащимся в документе XML. Для определения того, какая часть документа XML должна быть проиндексирована, используется форма XPath, наряду с указанием типа данных, используемого в индексе. Если в процессе индексации некоторый элемент не будет соответствовать типу данных, записи в индексе не будут созданы, и ошибка не будет сгенерирована. Можно индексировать только один столбец XML; поддержки композитных индексов не существует. В то же время для одного столбца можно создать множество различных индексов. К примеру, следующая команда создает уникальный индекс для столбца xml Индексируемый атрибут PROD_ID (учтите чувствительность к регистру символов) потенциально способен ускорить поиск соответствующих документов.
Полный обзор всех связанных с XML возможностей DB2 потребовал бы целой книги. В настоящей главе рассмотрены только базовые функции, непосредственно связанные со стандартом SQL. Более полную информацию можно получить в документации IBM.