|
Программирование >> Программирование баз данных
Глава 16 Применение средств поддержки языка XML Изучение истории развития расширяемого языка разметки (Extensible Markup Language- XML) позволяет сделать важные выводы и, прежде всего, понять, что язык XML достиг максимально возможной степени упрощения, поэтому вряд ли подвергнется значительным изменениям в будущем. Действительно, за прошедший период основные синтаксические определения XML не изменились вообще, чего нельзя сказать обо всех технологиях обработки данных, связанных с XML (предназначенных, в частности, для доступа к данным, хранимым в виде кода XML). Аналогичным образом, со времени первоначального внедрения средств поддержки языка XML в СУБД SQL Server происходило стремительное развитие этих средств, которое в конечном итоге привело к появлению массовой поддержки XML в версии SQL Server 2005. Следует отметить, что в опубликованной ранее книге автора Программирование баз данных Microsoft SQL Server 2005. Базовый курс бьгяо отмечено, что поддержка XML является дополнительной по отношению к другим средствам СУБД SQL Server, но само это утверждение стало не совсем верным даже за то короткое время, которое прошло с тех пор. Разумеется, в высказанной в предыдущей книге мысли о вспомогательном характере средств поддержки XML подразумевалось, что эти средства фактически не требуются для обеспечения нормального функционирования СУБД SQL Server, но прошел совсем небольшой период, и требования к системам обработки и хранения данных еще больше изменились, поэтому в современном мире немыслимой стала сама возможность эксплуатации СУБД SQL Server без поддержки XML. Кроме того, в предьщущих книгах автора дополнительными именовались также многие службы (Reporting Services, Integration Services, Connectivity и т.д.), которые отчасти будут рассматриваться в следующих главах, но и эти службы, функционирование которых основано на использовании XML, становятся основой организации рациональной эксплуатации приложений в среде СУБД SQL Server! Кроме всего сказанного, в настоящей главе будуг рассматриваться следующие темы. Тип данных XML. Коллекции схем XML. Методы представления реляционных данных в коде XML. Кроме того, предполагается, что читатель твердо знает по крайней мере основные определения и конструкции XML. Если у вас нет таких основополагающих знаний, то настоятельно рекомендуем ознакомиться с такой книгой издательства Wrox, как Beginning XML, 3rd Edition, by David Hunter, et al (Wiley 2005), или прочитать другую книгу, посвященную языку XML, и только после этого приступать к дальнейшему изучению данной главы. Тип данных XML в версии SQL Server 2005 был впервые введен тип данных XML, и это, по мнению автора, является свидетельством того, что наконец-то завершился еще один продолжительный и важный этап развития этой СУБД. С тех пор СУБД SQL Server приобрела способность принимать к обработке данные, представленные в формате XML, и распознавать их как действительно являющиеся данными XML. Предыдущие версии SQL Server характеризовались тем, что в каждой последующей версии количество способов обработки данных XML неизменно увеличивалось, но все эти способы были основаны на использовании простых символьных данных. А в последней версии этой СУБД непосредственно распознается тип данных XML, благодаря чему открывается перспектива создания целого ряда новых функций обработки данных, начиная с индексирования и заканчивая проверкой допустимости данных. Но для реализации таких возможностей необходимо ввести в действие многочисленные вспомогательные структуры данных. В число многих разных конструкций, без рассмотрения которых нельзя обойтись при обсуждении типа данных XML, входят перечисленные ниже. Коллекции схем. Данные XML оформляются в виде документов XML, которые должны соответствовать определенным требованиям. Эти требования представлены с помощью так называемых схем. Схемы XML регламентируют правила, которые позволяют определить, является ли документ XML допустимым (иными словами, соблюдены ли при формировании документа те требования, которым должен соответствовать каждый документ XML, рассматриваемый как допустимый в соответствии с той схемой, которая к нему относится). В СУБД SQL Server для хранения схем и реализации свойственных им функций проверки допустимости документов применяется способ, в основе которого лежат коллекции схем XML. Коллекции схем позволяют устанавливать соответствие между экземплярами данных XML (например, данными столбца или переменными), с одной стороны, и схемой XML, с другой, Методы выполнения запросов к данным, хранящихся непосредственно в коде XML (с помощью языка XQuery, языка XDL корпорации Microsoft и других методов). Индексы XML. Оконечные точки HTTP и поддержка протокола SOAP. Некоторые из них являются тесно взаимосвязанными, поэтому в настоящей главе принят такой способ описания представленных в ней тем, который позволяет четко представить себе, где начинается и где заканчивается соответствующая предметная область. и это становится для СУБД SQL Server указанием, что рассматриваемая схема должна применяться к каждому экземпляру указанного кода XML для определения того, является ли текущий экземпляр допустимым документом XML или нет. Предписываемые ограничения целостности. Выше в этой книге уже было указано, что в СУБД SQL Server предусмотрена возможность проверять соответствие данных определенным критериям перед вводом их в столбец таблицы, а теперь мы обязаны уточнить, относится ли это утверждение также и к данным XML. При этом следует учитывать, что данные типа XML, применяемые в СУБД SQL, позволяют хранить многочисленные фрагменты разрозненных данных в одном-единственном столбце, поэтому возникает неопределенность в отношении того, как проверить допустимость этих отдельных фрагментов данных. Тем не менее тип данных XML обеспечивает обработку кода XML, и несмотря на то, что возможность непосредственного определения ограничений целостности отсутствует, для определения ограничения целостности применительно к конкретным узлам документа XML могут использоваться интерфейсные функции. Методы типа данньгх XML. При обращении к столбцу или переменной с типом XML можно использовать определенные методы, которые входят в определение этого типа данных. Например, предусмотрена возможность провести проверку на наличие определенного узла или атрибута, выполнить код XDL (разработанное корпорацией Microsoft расширение языка XQuery, которое обеспечивает модификацию данных), а также запросить значение определенного узла или атрибута. В следующих разделах приведены более подробные сведения. Определение столбца как имеющего тип XML в настоящей главе уже приводились сведения, которые необходимы для изучения структуры объявления столбца с данными типа XML в наиболее простой форме. Например, в составе предельно упрощенного определения таблицы Production. ProductModel базы данных AdventureWorks это объявление может выглядеть приблизительно так: CREATE TABLE Production.ProductModel ( ProductModellD int IDENTITY(1,1) PRIMARY KEY NOT NULL, Name dbo.Name NOT NULL, CatalogDescription xml NULL, Instructions xml NULL, ModifiedDate datetime NOT NULL CONSTRAINT DF ProductModel ModifiedDate DEFAULT (GETDATEO), В приведенном выше коде объявлены два столбца с данными типа XML; рассмотрим, как это может отразиться на дальнейшей работе с этими столбцами. 1. Из того, что столбцы объявлены как содержащие данные типа XML, следует, что для работы с ними могут применяться методы типа данных XML (дополнительнгш информация об этих методах приведена ниже). В рассматриваемых столбцах допускается использование NULL-значений, но из этого не следует, что можно столь же легко выбрать в качестве ограничения
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |