Представление типов XML-данных в базе данных AdventureWorks
В базе данных AdventureWorks имеется несколько столбцов типа xml. В следующей таблице приводится список разделов, в которых дано описание этих столбцов. Эти столбцы используются в различных образцах запросов, приведенных в электронной документации по SQL Server.
В каждом разделе представлен образец экземпляра XML-данных, хранящихся в этих столбцах. Большая часть представляет собой типизированные XML-столбцы. В этих разделах представлена коллекция XML-схем, которая используется для определения типа этих столбцов. Чтобы разобраться в запросах к этим столбцам, необходимо просмотреть XML-данные, которые в них хранятся.
В этом разделе
Подраздел |
Описания |
---|---|
В базе данных AdventureWorks существует два типа заказчиков: торговые посредники и отдельные заказчики. В этом столбце хранится дополнительная контактная информация в формате XML об оптовых посредниках. |
|
Хранит обзорные сведения об оптовых посредниках. |
|
Хранит обзорные сведения об индивидуальных клиентах. |
|
Хранит производственные инструкции для моделей продукта. В настоящее время хранятся инструкции для разных моделей велосипедов. |
|
Хранит описание каталога для модели продукта в формате XML. |
|
Хранит схемы производственных пояснений в формате XML (SVG-файл). |
|
Хранит резюме служащих в виде 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-схем.