Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Использование XML совместно с SQL.doc
Скачиваний:
2
Добавлен:
01.05.2025
Размер:
1 Мб
Скачать
☆

Заключение

Когда следует использовать описанный в статье подход? Очевидно, что для слишком больших систем он неприемлем, так как:

  • Слабо масштабируется.

  • В качестве языка реализации бизнес-логики используется T-SQL, что не всегда бывает оправдано.

  • Предъявляет высокие требования к браузеру клиента (необходима поддержка «поведений Web-сервисов», которые пока реализованы только в IE 5.0 и выше).

  • Имеет не очень высокое быстродействие.

Этот список недостатков решения. Наоборот, для простых систем, вроде корпоративных домашних страничек, форумов и проч. такое решение соответствует как нельзя лучше.

Microsoft продолжает развивать данный подход: в новой версии SQL Server под кодовым названием «Yukon» будет встроенная поддержка Internet-сервера, а ISAPI-расширение sqlxml.dll будет входить в дистрибутив.

Литература

  • Использование XML совместно с SQL. Часть 1. Алексей Ширшов.

  • Build Data-Driven Web Services with Updated XML Support for SQL Server 2000

  • Using SQLXML 3.0 and Visual Basic .NET to Build an Intranet Web Site

  • SQLXML Managed Classes

  • RPC/Literal and Freedom of Choice

  • Simple Object Access Protocol (SOAP) 1.1

Эта статья опубликована в журнале RSDN Magazine #1-2004. Информацию о журнале можно найти здесь

Использование XML совместно с SQL

Часть 3. Новые возможности Microsoft SQL Server 2005 (Yukon)

Автор: Алексей Ширшов Источник: RSDN Magazine #2-2004

Опубликовано: 16.10.2004 Исправлено: 13.03.2005 Версия текста: 1.0

Введение

Тип данных XML

Основы

XML DML

Поддержка XML Schema

SQL-инструкции и XML

Поддержка XQuery

Основы

Конструкторы узлов

Операторы сравнения

Логические операторы

Условные выражения

FLWOR-выражения

Кванторные выражения

Сортировка

Заключение

Литература

Введение

Все большее количество информации в современных промышленных системах представляется в формате 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-сервером.

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