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

       

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


Если выражения языка SQL в практических приложениях используются как средства доступа к базе данных из языка программирования общего назначения, то с языком XQuery ситуация нам представляется несколько иной. По нашему мнению, язык XQuery является самодостаточным для некоторых классов приложений, интенсивно обрабатывающих данные. Среди таких классов приложений мы видим Web-приложения, Web-сервисы, приложения класса управления контентом и ряд других. Язык XQuery содержит мощные средства выборки данных, средства трансформации данных, необходимые управляющие конструкции, что позволяет его использовать для описания бизнес-логики приложений. Главное преимущество такого подхода заключается в том, что разработка приложений ведется на одном языке в рамках одной модели данных, что позволяет избежать известной проблемы потери соответствия (impedance mismatch) [], заключающейся, применительно к XML-данным, в несоответствии модели данных языка программирования и модели данных XML.

Для практического воплощения такого подхода необходима тесная интеграция языка XQuery и языка модификации XML-данных. Типичные проблемы, выявленные при разработке практических приложений на языке XQuery, сводятся к необходимости выражения логики обработки данных, использующей различные состояния данных, например:
  • изменить состояние данных при одном условии, изменить состояние данных другим образом при невыполнении этого условия;
  • изменить состояние данных при одном условии, выполнить запрос над исходным состоянием при другом условии;
  • выполнить запрос над исходным состоянием данных; изменить состояние данных; выполнить новый запрос над исходным и модифицированным состоянием данных.


Для решения подобных задач необходима возможность композиции выражений языка XQuery и языка модификации XML-данных. Именно это мы подразумеваем под тесной интеграцией языка XQuery и языка модификации XML-данных. Однако решение такой задачи "напрямую" порождает серьезные проблемы в силу функциональной природы языка XQuery.


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