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


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

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

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

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

Подраздел

Описания

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

В базе данных AdventureWorks существует два типа заказчиков: торговые посредники и отдельные заказчики. В этом столбце хранится дополнительная контактная информация в формате 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-схем из базы данных AdventureWorks. Дополнительные сведения о коллекции XML-схем см. в разделе Управление коллекциями XML-схем на сервере.

USE AdventureWorks
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-схем в базе данных AdventureWorks:

  • Person.AdditionalContactInfoSchemaCollection

  • Sales.IndividualSurveySchemaCollection

  • HumanResources.HRResumeSchemaCollection

  • Production.ProductDescriptionSchemaCollection

  • Production.ManuInstructionsSchemaCollection

  • Sales.StoreSurveySchemaCollection

  • 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'Sales',N'IndividualSurveySchemaCollection')
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-схем.