Поделиться через


Представление типов данных XML в базе данных AdventureWorks2008R2

В базе данных База данных AdventureWorks2008R2 имеется несколько столбцов типа xml. В следующей таблице приводится список разделов, в которых дано описание этих столбцов. Эти столбцы используются в различных примерах запросов, приведенных в электронной документации по SQL Server.

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

В этом разделе

Подраздел

Описания

Об XML-столбце Contact.AdditionalContactInfo

В базе данных База данных AdventureWorks2008R2 имеется два типа клиентов: оптовые посредники и индивидуальные клиенты. В этом столбце хранится дополнительная контактная информация в формате XML об оптовых посредниках.

Об XML-столбце Store.Demographics

Хранит обзорные сведения об оптовых посредниках.

Об XML-столбце Individual.Demographics

Хранит обзорные сведения об индивидуальных клиентах.

Об XML-столбце ProductModel.Instructions

Хранит производственные инструкции для моделей продукта. В настоящее время хранятся инструкции для разных моделей велосипедов.

Об XML-столбце ProductModel.CatalogDescription

Хранит описание каталога для модели продукта в формате XML.

Об XML-столбце Illustration.Diagram

Хранит диаграммы производственных пояснений в формате XML (SVG-файл).

О столбце XML JobCandidate.Resume

Хранит резюме служащих в виде XML-документов.

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

Следующий запрос возвращает список коллекций XML-схем из базы данных База данных AdventureWorks2008R2. Дополнительные сведения о коллекциях XML-схем см. в разделе Управление коллекциями XML-схем на сервере.

USE AdventureWorks2008R2;
GO
SELECT *
FROM  sys.xml_schema_collections;

-- Result shows the list of XML schema collection names.
AdditionalContactInfoSchemaCollection
IndividualSurveySchemaCollection
HRResumeSchemaCollection
ProductDescriptionSchemaCollection
ManuInstructionsSchemaCollection
StoreSurveySchemaCollection

Следующий запрос возвращает имена коллекций XML-схем с именем реляционной схемы:

SELECT xsc.xml_collection_id, 
       s.name + '.' + xsc.name as xml_collection, 
       xsc.principal_id, xsc.create_date, xsc.modify_date
FROM sys.xml_schema_collections xsc 
     JOIN sys.schemas s
     ON xsc.schema_id = s.schema_id;

Столбец xml_collection в результате возвращает следующие коллекции XML-схем в базе данных База данных AdventureWorks2008R2:

  • Person.AdditionalContactInfoSchemaCollection

  • Sales.IndividualSurveySchemaCollection

  • HumanResources.HRResumeSchemaCollection

  • Production.ProductDescriptionSchemaCollection

  • Production.ManuInstructionsSchemaCollection

  • sys.sys

Дополнительные сведения о коллекции XML-схем sys.sys см. в разделе Встроенные коллекции XML-схем (sys).

Для реконструкции коллекции XML-схем можно следующим образом использовать встроенную функцию xml_schema_namespace:

SELECT xml_schema_namespace(N'Person',N'AdditionalContactInfoSchemaCollection');
GO
SELECT xml_schema_namespace(N'HumanResources',N'HRResumeSchemaCollection');
GO
SELECT xml_schema_namespace(N'Production',N'ProductDescriptionSchemaCollection');
Go
SELECT xml_schema_namespace(N'Production',N'ManuInstructionsSchemaCollection');
GO
SELECT xml_schema_namespace(N'Sales',N'StoreSurveySchemaCollection');
GO

Дополнительные сведения см. в разделе Просмотр хранимой коллекции XML-схем.