SQL Server 2000. Руководство для ознакомления с продуктом

       

Широкая поддержка стандартов языка XML и Интернета


XML не только является стандартной технологией для обмена данными в Интернете, но и быстро становится предпочтительной технологией для интегрирования систем электронной коммерции. При построении коммерческих веб-решений для секторов бизнес-потребитель и бизнес-бизнес или экстрасети компаниям необходима поддержка языка XML для упрощения интеграции серверных систем и передачи данных через брандмауэры. XML также является общим языком, который позволяет взаимодействовать выполняющимся на разных платформах приложениям вертикального типа, разработанными различными производителями– включая ПО для планирования ресурсов предприятия (ERP) и управления связями с потребителями (CRM). В то время как многие компании искали для передачи данных XML-решения промежуточного уровня, разработчики также поняли значимость высокоскоростных средств, обеспечивающих хранение и генерацию документов и данных в формате XML. SQL Server 2000 предлагает интегрированную, хорошо себя зарекомендовавшую поддержку формата XML, являющуюся гибкой, высокоэффективной и удобной как для веб-разработчиков, так и для программистов в области баз данных.

Широкие функциональные возможности применения формата XML в сервере SQL Server 2000 помогают веб-разработчикам справиться с трудностями программирования реляционных баз данных и позволяют использовать такие технологии, как XPath, запросы по URL-адресам и XML-диаграммы обновлений. Аналогичным образом разработчикам баз данных не нужно изучать объектно-ориентированный язык для понимания всех аспектов XML. Они могут применить в качестве основного варианта XML-доступ к существующей реляционной базе данных с помощью предложения FOR XML, которое возвращает XML-данные, выбранные оператором SELECT и ключевым словом OPENXML T/SQL. Функция OpenXML обеспечивает реляционное представление XML-данных, которое с помощью языка T-SQL может быть использовано для создания запроса к XML-данным, их объединения с существующими реляционными таблицами или обновления базы данных.


SQL Server позволяет создавать запросы, возвращающие данные в формате XML (вместо обычного набора строк) при помощи стандартного оператора SELECT с предложением FOR XML. Форма возвращаемого XML-документа определяется режимом XML, указываемым сразу после предложения FOR XML. Могут быть указаны следующие режимы XML:

·         RAW: режим RAW преобразует каждую строку результата запроса в XML-элемент со стандартным идентификатором «row» в качестве тега элемента.

·         AUTO: в режиме AUTO результаты запроса возвращаются в виде простого вложенного XML-дерева. Каждая таблица в предложении FROM, для которой в предложении SELECT указан хотя бы один столбец, представляется в виде XML-элемента. Столбцы, перечисленные в предложении SELECT, отображаются в соответствующие атрибуты элемента (в качестве альтернативы директива ELEMENTS позволяет представить столбцы в виде подэлементов вместо атрибутов). Иерархия (вложение элементов) получившегося набора определяется порядком таблиц, который, в свою очередь, задается указанием столбцов в предложении SELECT. Первая таблица преобразуется в элемент верхнего уровня. Следующая таблица (определяемая столбцами в операторе SELECT) будет вложена в верхний элемент и т.д.

·         EXPLICIT: в режиме EXPLICIT разработчики могут явно задать форму итогового XML-дерева. Однако при этом требуется, чтобы в запросе были явно указаны дополнительные сведения о необходимом порядке вложения.

Кроме извлечения данных в формате XML важно иметь возможность эффективного хранения их в этом виде, поддерживая при этом связи и иерархию данных и в то же время полностью используя скоростные преимущества такой быстродействующей базы данных, как SQL Server. SQL Server 2000 обеспечивает возможность представления реляционных данных в виде XML, а также отображения XML-данных в реляционные таблицы. В сервере SQL Server 2000 вводятся аннотации – расширения языка описания схем XDR (XML-Data Reduced). Эти аннотации используются для задания взаимно однозначного отображения XML – реляционные данные. Элементы и атрибуты XML-документа отображаются в таблицы и столбцы баз данных. По умолчанию имя элемента в аннотированной схеме отображается в имя таблицы (или представления) в указанной базе данных, а имя атрибута отображается в имя столбца. Эти аннотации также могут использоваться для указания иерархических отношений XML-данных. Для отображения отношений и полей используются следующие аннотации:



·         sql:relation – используется для указания имени таблицы или представления в том случае, если это имя не соответствует связанному полю в аннотированной схеме;

·         sql:field – задает отображение между элементом <имя_элемента> или атрибутом <имя_атрибута> аннотированной схемы и столбцом базы данных;

·         sql:overflow-field – при вставке записей в базу данных из XML-документа все невостребованные данные исходного XML-документа могут быть сохранены в столбце. При извлечении данных из базы данных с помощью аннотированных схем для указания столбца таблицы, содержащего избыточные данные, может быть задан атрибут sql:overflow-field;

·         sql:relationship – тег, используемый для иерархического вложения элементов аннотированной схемы на основании отношения первичных и внешних ключей соответствующих таблиц.

В то время как XML-представления позволяют обращаться к реляционным таблицам так же, как к XML-документам, функция OpenXML позволяет обращаться к XML-документам с помощью реляционного синтаксиса (SQL). Функция OpenXML является ключевым словом языка Transact-SQL (T-SQL), предоставляющим обновляемый набор строк для содержащихся в памяти XML-документов. Записи этого набора строк могут быть сохранены в таблицах базы данных (подобно наборам строк из таблиц или представлений). Функция OpenXML может использоваться в операторах SELECT и SELECT INTO, в которых указаны источники набора строк – таблица, представление или функция OPENROWSET. Для составления запросов с использованием функции OpenXML необходимо создать внутреннее представление XML-документа с помощью хранимой процедуры sp_xml_preparedocument. Данная хранимая процедура возвращает дескриптор внутреннего представления XML-документа. Затем этот дескриптор передается в функцию OpenXML, создающую для документа соответствующее представление набора строк на основе технологии XPath.

После выпуска сервера SQL Server 2000 в него войдут еще два XML-средства. Вскоре после выхода продукта в веб-выпуск будут включены XML-диаграммы обновлений и массовая загрузка XML-данных. XML-диаграммы обновлений позволяют веб-разработчикам использовать язык XML для вставки, обновления и удаления данных из таблиц SQL Server 2000. Другое средство позволяет выполнять массовую загрузку данных, структурированных с помощью XML. Как диаграммы обновлений, так и массовая загрузка используют взаимно-однозначное отображение XML – реляционные данные, создаваемое аннотированными схемами.


Содержание раздела