Базы данных. Концепция баз данных, реляционная модель данных, языки SQL и XML. Токмаков Г.П. - 184 стр.

UptoLike

Составители: 

184
вичным ключом этой таблицы.) В результате некоторые данные таблицы будут
повторяться, в нескольких строках будет стоять один и тот же номер заказ, его
дата, номер клиента и номер продавца.
Кроме того, это усложнит маршалинг данных для восстановления докумен-
та
СУБД должна будет знать, что в строки с одним номером заказа нужно со-
брать в один многострочный
XML-документ. Очевидно, что для маршалинга и
демаршалинга даже такого просто документа требуется достаточно сложная
информация о соответствии между компонентами документа, таблицами и
столбцами базы данных.
Приведенный пример с многострочным заказом затрагивает лишь самые по-
верхностные проблемы, связанные с маршалингом и демаршалингом документов.
Более общая ситуация показана на Рис. 8.3. , где СУБД
должна выполнить де-
маршалинг
XML-документа, преобразовав его в несколько строк нескольких взаи-
мосвязанных таблиц. Для маршалинга этого документа СУБД должна про-
анализировать связи между таблицами, чтобы найти связанные строки и воспро-
извести иерархию
XML. Причиной всех этих сложностей является несоответствие
между естественной иерархической структурой XML и плоской, нормализованной
структурой реляционных баз данных, составленных из строк и столбцов.
Если СУБД поддерживает объектно-реляционные расширения, такие как
структурированные типы данных,
маршалинг и демаршалинг одновременно и
усложняются, и упрощаются. Упрощение достигается за счет того, что отдель-
ные столбцы таблицы могут иметь иерархическую структуру. В этом случае
id_cln id_order date_order id_slzh
12119 312650 2009-09-09 2112
12117 312961 2009-12-17 2106
12125 312767 2009-11-24 2122
ship bill
1 red Net432
2 ground Net30
3 yellow Net555
id_mfr id_prd count price_all id_order
ВАЗ 41003
207 3519.00 312650
УАЗ 2444L 7 31500.00 312961
Утес 775C 5 7125.00 312650
УПЗ 41003 1 652.00 312961
ПМЗ
XK48A
37
6549.00
312767
Рис. 8.3. Маршалинг и демаршалинг XML-документа