- •Введение
- •Методы хранения документов xml в реляционных базах данных
- •Хранение документов xml в sql Server
- •Хранение документов xml с использованием типа данных xml
- •Индексирование столбца xml
- •Типизированные в сравнении с нетипизированными xml
- •Типизированные столбцы xml, переменные и параметры
- •Представления каталогов схемы xml
- •Хранение документов xml с использованием декомпозиции
- •Поиск сохраненных документов xml и фрагментов
- •Идеальное решение для хранения xml - документов
- •Литература
Методы хранения документов xml в реляционных базах данных
Как вы уже знаете, модель реляционных данных является лучшей моделью, если вы должны структурировать данные в соответствующую схему. С другой стороны, если используемые вами данные не полностью структурированы, вы должны знать, как моделировать эти данные. В этом случае хорошим выбором является XML, поскольку эта модель является независимой от платформы, которая обеспечивает переносимость слабоструктурированных данных. Тесная взаимосвязь существует между системами реляционных баз данных и документами XML, потому что целью современных систем баз данных является хранение данных любого вида. Существуют три основные техники хранения документов XML в реляционных базах данных: ♦ в виде «сырых» документов; ♦ разнесение документа по реляционным столбцам (выполнение…
Хранение документов xml в sql Server
SQL Server поддерживает все три общие техники для сохранения документов XML, рассмотренные в предыдущем разделе. ♦ «Сырые» документы. SQL Server использует типы данных varchar(max) и varbinary (мах) для хранения документов XML в качестве «сырых» документов. Этот подход не будет в дальнейшем обсуждаться в этой книге по причине его сложности. ♦ Декомпозиция. SQL Server может выполнять декомпозицию документа XML на раздельные столбцы таблиц, используя системную процедуру sp_xmi_preparedocument. Эта процедура выполняет синтаксический анализ предоставленного документа и представляет его узлы в виде дерева. (Полученное дерево может затем сохраняться в столбцах реляционных таблиц при использовании стандартного оператора insert и функции OpenXML.) ♦ Собственный формат…
Хранение документов xml с использованием типа данных xml
Тип данных xml является базовым типом данных Transact-SQL. Это означает, что вы можете использовать тип данных xml таким же образом, каким вы используете любые другие стандартные типы данных, такие как integer или character. С другой стороны, тип данных xml имеет ряд ограничений, потому что столбец xml не может быть объявлен с помощью предложений unique, primary key или foreign key. В общем случае вы можете использовать тип данных xml для объявления: ♦ столбцов таблицы; ♦ переменных; ♦ входных или выходных параметров (в хранимых процедурах и в функциях, определенных пользователем). В примере 28.1 показано применение типа данных xml для объявления столбца таблицы.…
Индексирование столбца xml
Database Engine внутренне сохраняет значения xml как большой двоичный объект. Без индекса для таких объектов во время выполнения запроса осуществляется декомпозиция, что может занять много времени. Поэтому причиной выполнять индексирование столбцов xml является увеличение производительности запроса. Система поддерживает первичный индекс xml и три типа вторичных индексов xml. Первичный индекс xml индексирует все теги, значения и пути в экземплярах XML столбца xml. Запросы используют первичный индекс xml для получения скалярных значений или вложенных деревьев xml. В примере 28.3 создается первичный индекс xml. Как вы можете видеть из примера 28.3, создание первичного индекса xml похоже на создание «нормального» индекса. Первичный…
