Сравнение 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 взаимодополняющими.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: