Сравнение XML и SQL
Сходства XML и SQL. Поскольку язык XML произошел от SGML, он обладает рядом полезных характеристик, сближающих его с языком SQL.
– Описательный подход. В XML принят такой подход к определению структуры документов, при котором задается структура и содержимое каждого элемента документа, а не то, как он должен обрабатываться. Этот же подход используется и в SQL, ориентированном на определение запрашиваемых данных, а не на то, как они должны извлекаться.
– Строительные блоки.XML-документ состоит из небольшого количества базовых строительных блоков, в число которых входят такие фундаментальные компоненты, как элементы и атрибуты. В SQL этим понятиям соответствуют таблицы и столбцы.
– Типы документов.В XML каждый документ воспринимается не сам по себе, а в качестве представителя определенного типа, соответствующего документам реального мира, например заказ, ответ на деловое письмо или резюме кандидата на должность. И здесь тоже очевидна параллель с SQL, поскольку таблицы также представляют типы сущностей реального мира.
Различия XML и SQL. Однако несмотря на очевидные параллели между XML и SQL, между ними есть и значительные различия.
– Ориентация на документы или на данные.Базовые концепции XML сформированы на основе структуры типовых документов. Это язык с ориентацией на текст, и в нем строго различается содержимое (элементы документа) и характеристики этого содержимого (атрибуты). В то же время базовые концепции SQL сформированы на основе структур, типичных для обработки данных. SQL ориентирован на данные, поддерживает широкий диапазон типов данных (в двоичном представлении), и его структуры (таблицы и столбцы) ориентированы на содержимое (данные). Это расхождение между фундаментальными моделями SQL и XML приводит к некоторым сложностям их совместного использования.
– Иерархическая или табличная структура.Естественные структуры XML имеют иерархическую природу и отражают иерархию элементов большинства распространенных типов документов (например, книга содержит главы, главы включают параграфы, параграфы содержат заголовки, абзацы и рисунки). Эти структуры не являются жесткими. Например, один параграф содержит пять абзацев и один рисунок, а в следующем параграфе будет три абзаца и два рисунка и т. д. В противоположность этому структуры SQL имеют табличную, а не иерархическую организацию. Более того, это жесткие структуры - все строки таблицы SQL содержат одинаковый набор столбцов в одинаковом порядке. Эти отличия также затрудняют совместное использование SQL и XML.
– Объекты или операции.Основной задачей языка XML является представление объектов. Если выделить осмысленный фрагмент текста XML и спросить, что он представляет, выяснится, что представляет он какой-нибудь объект: абзац, заказ товаров, адрес клиента и т. п. У языка SQL более широкие задачи, но в первую очередь он ориентирован на обработку объектов. Если выделить осмысленный фрагмент текста SQL и спросить, что он представляет, выяснится, что он представляет операцию над объектом: создание объекта, удаление объекта, поиск одного и/или более объектов, либо обновление содержимого объекта. Эти отличия делают назначение и использование языков XML и SQL взаимодополняющими.
Дата добавления: 2015-02-03; просмотров: 1088;