Введение. Все большее количество информации в современных промышленных системах представляется в формате XML

Все большее количество информации в современных промышленных системах представляется в формате XML. С его помощью удобно описывать различные структуры данных, он является межплатформенным форматом и поддерживается большинством языков и библиотек. В XML-документах хранят различного рода информацию, которая может быть критичной для функционирования системы. Хранение подобной информации на диске в виде простых файлов опасно и неэффективно, поэтому использование СУБД для управления XML-документами представляется вполне логичным.

Более всего для хранения XML-документа в БД подходит тип clob (character large object). Этот тип в SQL Server называется text (ntext – для юникодных символов). Однако XML – это не просто текст, а формат разметки и хранения данных, и логично было бы работать с ним как со структурированными данными, а не как с простым текстом. К сожалению, до сих пор SQL Server не позволял этого. Например, чтобы выбрать определенный узел XML-документа с помощью XPath, этот документ придется перенести на middle tier, потому что SQL Server не содержит XML-процессоров, способных выполнять подобные операции. А что, если необходимо использовать результаты обработки XML-документа в SQL-запросе? XML должен быть отправлен обратно и преобразован в скалярные величины или в реляционные данные (функция OPENXML в SQL Server-е).

Иерархическую информацию можно представить с помощью реляционной модели [18]. Однако о простоте при этом приходится забыть. Почему? Дело в том, что в SQL просто нет механизмов выборки иерархической информации. Различные серверы для осуществления подобной выборки предоставляют разнообразные расширения SQL. Например, в Oracle есть расширение connect by. В SQL Server 2005 появятся общие табличные выражения (common table expressions), которые могут выполняться рекурсивно.

Для решения описанных выше проблем в SQL Server будет добавлен новый тип данных – XML. В Oracle аналогичный тип появился сравнительно давно, в SQL Server-е – только-только. Что дает его появление? Это позволяет перенести обработку XML-документов в сервер БД. Теперь с помощью встроенного XML-процессора можно выполнять запросы XPath и XQuery. Кроме выполнения запросов предоставляется поддержка механизма изменения XML-документов, а также проверки их на допустимость. Теперь при работе с XML можно использовать все преимущества SQL Server, например, транзакции.

Теперь у пользователей есть возможность извлечения XML-документов прямо из SQL Server непосредственно с помощью браузера. Отпадает необходимость в использовании отдельного Web-сервера и дополнительного ПО (типа SQLXML), служащего для связи между SQL Server и Web-сервером.

Что ж, давайте поближе ознакомимся с этими возможностями.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: