Представление структурированных данных в XML

Хотя XML разрабатывался, прежде всего, для представления и обработки документов, он может быть полезен для представления структурированных данных, которые обычно представляются в базах данных. На Рис. 8.1 показан типичный XML-документ из сферы обработки данных - очень простой заказ товаров. По содержанию он сильно отличается от документа, показанного на Рис. 7.1, но содержит те же основные компоненты. Вместо <book> элементом верхнего уровня является <purchaseOrder>. Он содержит, подобно элементу <book>, вложенные элементы - <customerNum>, <orderNum>, <orderDate> и <orderItem>. Элемент <orderItem> тоже содержит вложенные элементы. На Рис. 8.1 с заказом связано несколько условий приобретения товара, представленных атрибутами элемента <terms>. Атрибут ship определяет, как будет доставлен заказ, а атрибут bill - условия его кредитования.

<?xml version="1.0"?> <purchaseOrder> <customerNum>2117</customerNum> <orderNum>112961</orderNum> <orderDate>1989-12-17</orderDate> <repNum>106</repNum> <terms ship="ground" bill="Net30"></terms> <orderItem> <mfr>REI</mfr> <product>2A44L</product> <qty>7</qty> <amount>31500.00</amount> </orderItem> </purchaseOrder>
Рис. 8.1 - XML-документ для простого заказа

Очевидно, что этот документ-заказ тесно связан с таблицей ZAKAZY из нашей базы данных. Вы можете сравнить его со структурой таблицы ZAKAZY, приведенной в Приложении (см. Рисунок П.1 и Таблицу ZAKAZY). Элементы нижнего уровня за исключением элемента <terms> соответствуют столбцам таблицы ZAKAZY. Элемент верхнего уровня представляет строку таблицы.

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

В отличие от таблицы ZAKAZY приведенный XML-документ содержит еще один, средний уровень иерархии, группирующий информацию о заказанном товаре - код произво­дителя (mfr), код товара (product), количество товара (qty) и сумму заказа (amount). В реальном заказе, содержащем несколько позиций, эта группа элементов данных может повторяться несколько раз. XML-документ легко расширить для поддержки такой структуры данных, добавив еще один или несколько элементов <orderItem>.

Базу данных нельзя так легко расширить. Для поддержки многострочных заказов таблицу ZAKAZY, скорее всего, придется разбить на две: в одной будет храниться заголовок заказа (номер заказа (orderNum), дата заказа (orderDate), код клиента (customerNum) и т. п.), а в другой - соответствующие строки заказа: код произво­дителя (mfr), код товара (product), количество товара (qty) и сумму заказа (amount).








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


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

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

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

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