Управление коллекциями XML-схем на сервере
Как указано в разделе тип данных xml, SQL Server естественным образом поддерживает хранение XML-данных в форме типа данных xml. При помощи коллекции XML-схем можно связать с переменной или столбцом типа xml XSD-схемы. Коллекция XML-схем хранит импортированные XML-схемы и используется для решения следующих задач:
проверка экземпляров XML;
типизация XML-данных, хранимых в базе данных.
Коллекция XML-схем — это сущность класса метаданных, подобная таблице в базе данных. Можно создавать, изменять и удалять эти схемы. Схемы, указанные в инструкции CREATE XML SCHEMA COLLECTION (язык Transact-SQL), автоматически импортируются в создаваемую коллекцию XML-схем. Можно импортировать дополнительные схемы или компоненты схем в существующую в базе данных коллекцию при помощи инструкции ALTER XML SCHEMA COLLECTION (язык Transact-SQL).
Как сказано в разделе типизированный и нетипизированный XML, код XML, хранимый в столбце или переменной, с которой связана схема, называется типизированным, потому что схема предоставляет необходимую информацию о типах данных экземпляра. В SQL Server эта информация о типах используется для оптимизации хранения данных.
Механизм обработки запросов применяет схемы для проверки типов, а также оптимизации запросов и изменения данных.
Кроме того, в случае типизированного xml SQL Server использует соответствующую коллекцию XML-схем для проверки экземпляра XML. Если экземпляр XML соответствует схеме, база данных позволяет сохранить его в системе с информацией о его типах. В противном случае она отклоняет экземпляр.
SQL Server поддерживает ряд инструкций DDL, служащих для управления схемами в базе данных. Однако прежде чем можно будет использовать коллекцию XML-схем, ее нужно сначала импортировать. Дополнительные сведения см. в разделе DDL для управления коллекциями XML-схем в базе данных.
Чтобы осуществить импортирование коллекции XML-схем в базу данных, нужны соответствующие разрешения. Дополнительные сведения см. в разделе Разрешения на коллекцию XML-схем.
Встроенная функция XML_SCHEMA_NAMESPACE позволяет получить коллекцию схем, хранимую в базе данных. Дополнительные сведения см. в разделе Просмотр хранимой коллекции XML-схем.
Кроме того, можно использовать коллекцию XML-схем для типизации переменных, параметров и столбцов типа XML.