Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпора.doc
Скачиваний:
20
Добавлен:
14.05.2015
Размер:
646.14 Кб
Скачать

Выбор xml-технологии

Выбор между естественным форматом XML и XML-представлениями обычно зависит от следующих факторов.

  • Параметры хранения

Иногда XML-данные (например, руководство по продукции) лучше хранить как большой объект, а в других ситуациях — в реляционных столбцах (например, описание товара, преобразованное в формат XML). Каждый вариант хранения данных обеспечивает точность документа в разной степени.

  • Обработка запросов

Иногда один вариант хранения данных лучше другого соответствует природе и интенсивности запросов XML-данных. Степень поддержки детализированных запросов XML-данных, например оценки предикатов для XML-узлов, поддерживается двумя технологиями хранения данных в разной степени.

  • Индексирование XML-данных

Возможно, потребуется проиндексировать XML-данные, чтобы ускорить обработку XML-запросов. Возможности индексирования зависят от технологии хранения данных; для оптимизации рабочей нагрузки нужно выбрать более подходящий вариант.

  • Возможности модификации данных

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

  • Поддержка схем

XML-данные можно описать при помощи схемы, которая может быть, а может и не быть документом XML-схемы. Поддержка связанных со схемой XML-данных зависит от XML-технологии.

Кроме того, технологии хранения XML-данных различаются по быстродействию.

Хранение xml-данных в собственном формате

XML-данные можно хранить на сервере в столбце типа xml. Этот вариант уместен, если выполняются следующие условия:

  • необходим простой способ хранения XML-данных на сервере, при этом нужно сохранить порядок и структуру документа;

  • существует вероятность отсутствия схемы XML-данных;

  • требуется запрашивать и изменять XML-данные;

  • требуется проиндексировать XML-данные для ускорения обработки запросов;

  • требуется использовать в приложении представления системного каталога для управления XML-данными и XML-схемами.

Механизм хранения XML-данных в естественном формате полезен, если есть XML-документы, имеющие разную структуру, или XML-документы, соответствующие разным или сложным схемам, которые слишком трудно сопоставить с реляционными структурами.

XML-столбец может быть столбцом, вычисляемым на основе столбца [n]varchar(max). Однако для вычисляемого XML-столбца, а также для столбцов типов[n]varchar(max) или varbinary(max) нельзя создать XML-индекс.

Технология xml-представлений

Определив соответствие между XML-схемами и таблицами базы данных, можно создать «XML-представление» хранимых данных. Чтобы заполнить базовые таблицы при помощи XML-представления, можно использовать операцию массовой загрузки XML-данных. Запрашивать XML-данные можно при помощи технологии XPath версии 1.0, при этом запрос преобразуется в SQL-запросы таблиц. Обновления также распространяются на эти таблицы.

Эта технология полезна в следующих ситуациях:

  • требуется реализовать ориентированную на XML модель программирования, используя XML-представления существующих реляционных данных;

  • есть XSD-схема или XDR-схема XML-данных, которую, возможно, предоставила внешняя партнерская организация;

  • порядок данных не важен, данные таблиц нерекурсивны или максимальная глубина рекурсии не известна заранее;

  • требуется запрашивать и изменять данные посредством XML-представления с использованием технологии XPath версии 1.0;

  • требуется выполнять массовую загрузку XML-данных и распределять их между базовыми таблицами с использованием XML-представления.

Примерами данных, отвечающих этим условиям, могут служить реляционные данные, предоставляемые веб-службам и средствам обмена данными в форме XML, а также XML-данные с фиксированной схемой. Дополнительные сведения см. в библиотеке MSDN Online.