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

UptoLike

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

181
Аналогичным образом выполняется обновление базы данных. Например,
приведенную ниже инструкцию
UPDATE
UPDATEOFFICY
SETTARGET=200000.00,MNGR=2108
WHEREOFFICE=23
можно преобразовать в такую гибридную SQL/XML инструкцию:
UPDATEOFFICY
WHEREID_OFC=321
В инструкции DELETE необходимо указать только предложение WHERE, для
задания которого используются те же соглашения.
Уже несколько ведущих производителей СУБД добавили в свои продукты
возможности обработки
XML-операций вставки, обновления и удаления строк,
но в каждом из них используется свой способ представления имен таблиц и
столбцов, а также значений данных в тексте
XML и сопоставления их с соответ-
ствующими структурами базы данных. Стандарты для этого гибридного син-
таксиса
SQL/XML пока еще не разработаны.
Хотя в небольшом
XML-документе значения для вставки или обновления
представляются очень просто, и здесь есть некоторые проблемы. Например,
список столбцов в
SQL-инструкции INSERT будет излишним, если в XML-доку-
менте наряду со значениями данных, которые необходимо вставить, также со-
держатся имена столбцов базы данных, заданные с помощью имен элементов
или атрибутов. Возникает вопрос, почему бы не убрать из запроса список
столбцов, чтобы нужная информация извлекалась из
XML-документа.
Для программного использования
SQL проблема заключается в том, что XML-
документ и содержащиеся в нем значения данных определяются и передаются
СУБД во время выполнения программы. И если имена столбцов или даже имя
таблицы указаны только в
XML-документе, до момента выполнения программы
СУБД не знает, какие таблицы и столбцы участвуют в запросе. В такой ситуа-
ции СУБД должна использовать динамический
SQL, со всем связанным с этим
ущербом для производительности.
8.2.4. О
БМЕН ДАННЫМИ В ФОРМАТЕ XML
СУБД может поддерживать обмен данными в формате
XML в очень простой
форме
поддерживая вывод результатов запросов и ввод данных для инструк-
ции
INSERT в формате XML. Однако это требует от пользователя или программи-
ста тщательной проработки формата генерируемых результатов запроса, чтобы
он в точности соответствовал формату инструкции
INSERT в принимающей базе