Вывод в формате XML

Одним из самых естественных способов объединения технологий баз данных и XMLявляется использование XML в качестве формата выходных данных SQL-запросов. Результаты запроса имеют структурированный табличный формат, который легко преобразовать в XML-пред­ставление. Рассмотрим простой запрос из учебной базы данных:

SELECT ID_ORDER, ID_MFR, ID_PRD, COUNT, PRICE_ALL

FROM ZAKAZY

WHERE ID_CLN = 12103;

ID_ORDER ID_MFR ID_PRD COUNT PRICE_ALL
ВАЗ $3,276.00
ВАЗ $702.00
ВАЗ $4,104.00
ВАЗ 4100Y $27,500.00

Если СУБД получила команду вывести результаты запроса в формате XML, те же выходные данные могут быть представлены так:

SELECT ID_ORDER, ID_MFR, ID_PRD, COUNT, PRICE_ALL

FROM ZAKAZY

WHERE ID_CLN = 12103;

<?xml version="1.0"?>

<queryResults>

<row>

<id_order>312963</id_order>

<id_mfr>ВАЗ< id_mfr>

<id_prd>41004</id_prd>

<count>28</count>

<price_all>3276.00</price_all>

</row>

<row>

<id_order>3112983</id_order>

<id_mfr> ВАЗ </id_mfr>

<id_prd>41004</id_prd>

<count>6</count>

<price_all>702.00</price_all>

</row>

<row>

<id_order>3113027</id_order>

<id_mfr>ВАЗ</id_mfr>

<id_prd>41002</id_prd>

<count>54</count>

<price_all>4104.00</price_all>

</row>

<row>

<id_order>3112987</id_order>

<id_mfr>ВАЗ</id_mfr>

<id_prd>4100Y</id_prd>

<count>11</count>

<price_all>27500.00</price_all>

</row>

</queryResults>

Это типичный вид выходной информации, которую можно получить от популярных СУБД, поддерживающих вывод данных в XML-формате. Результаты запроса представляют собой сформированный по всем правилам самодостаточный XML-документ. Если подать его на вход синтаксического анализатора XML, анализатор правильно его интерпретирует и выделит в нем:

– один корневой элемент <queryResults>;

– четыре вложенных элемента <row>;

– для каждого элемента <row> пять вложенных элементов, расположенных в одном и том же порядке.

Возможность получать результаты запросов в XML-формате бывает очень полезной по следующим причинам.

1. Такие данные можно непосредственно подать на вход программы выполняющей их дальнейшую обработку и принимающей информацию в XML-формате.

2. Их можно переслать по сети другой системе, и благодаря XML-формату, содержащему описания элементов, любаяполучающая система или приложе­ние интерпретируют результаты запроса одинаково - как четыре строки по пять элементов в каждой.

3. А поскольку выходные данные имеют текстовый формат, то исключается их неправильная интерпретация из-за различий двоичного пред­ставления данных в системе-отправителе и системе-получателе.

4. Наконец, если XML-документ передается через HTTP с использованием стандартного протокола Simple Object Access Protocol (SOAP), он может проходить через корпоративные брандмауэры и связывать приложение-отправитель в одной компании с прило­жением-получателем в другой.

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

Для нашего примера с маленьким количеством данных это не страшно, но для результатов запросов, содержащих тысячи или десятки тысяч строк, умножен­ных на сотни приложений, выполняющихся на крупном предприятии, это может быть очень существенно.

Кроме того, в данном простейшем XML-формате теряется некоторая информация о данных. Исчез символ денежной единицы, присутствовавший в табличном представлении данных, из-за чего на основании только содержимого XML-документа нельзя определить, что данные имеют денежный тип, и узнать, какая денежная единица используется. Для сохранения этой информации может исполь­зоваться XML схема.








Дата добавления: 2015-02-03; просмотров: 905;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.007 сек.