Возникновение языка XML и особенности перевода сообщений с реляционного языка на XML

Реляционный язык как язык кортежей и отношений. Структурированные данные документа и их отделение от способа их логико-графического представления (разметки) в виде списков, параграфов, таблиц, диаграмм. Описание наборов вложенных друг в друга тегов.

Рубрика Программирование, компьютеры и кибернетика
Вид статья
Язык русский
Дата добавления 17.01.2018
Размер файла 67,8 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Возникновение языка XML и особенности перевода сообщений с реляционного языка на XML

А.М. Камысбаев

В статье рассмотрены особенности перевода с реляционного языка на язык XML и наоборот. Реляционный язык - это язык кортежей и отношений. Внешним представлением сообщений на реляционном языке является набор двухмерных таблиц. Конкретное приложение, работающее с РБД, делает разметку отношений, кортежей и значений в таблицы, строки (записи) и клетки (поля) и придает им некоторый внешний вид, обычно по опциональному выбору пользователя.

XML - это самостоятельная технология, хотя и возникшая исторически как Internet- технология. Представляется важным рассмотреть технологию XML в отрыве от Internet и в связи с технологиями баз данных: реляционной, объектной и концепцией корпоративных хранилищ. Как связан язык XML с реляционным, почему на его основе может и должна быть построена модель данных, что собой представляет XML- ориентированная база данных, существуют ли таковые на сегодняшний день - этим вопросам посвящена настоящая статья.

Рассмотрим исторические причины возникновении XML как языка. На исторические причины возникновения XML можно посмотреть с двух различных, но связанных между собой точек зрения (рисунок 1):

Рисунок 1. Две точки зрения возникновения XML

Первая точка зрения состоит в том, что семантическая ограниченность языка разметки гипертекста HTML не позволяла разработчику Web-приложений описывать специфичную информацию, например, химические или математические формулы [1]. Возникла практическая потребность в других языках разметки, структурно аналогичных HTML, но с другой семантикой. В результате стараний Интернет-консорциума W3C был создан метаязык XML, на основе которого заинтересованные разработчики создали и создают специфичные дочерние языки разметки - CML, MathML и уже десятки других. С учетом небольшой синтаксической доработки, HTML также является дочерним языком XML.

Согласно второй точки зрения информация, заключенная в любом документе, в том числе и в Web-странице, является в большей или меньшей степени регулярной. Ранние варианты HTML слабо учитывали эту регулярность, что приводило к громоздкости сообщений на этом языке и не вполне удовлетворяло разработчиков Web-приложений. Первым делом, стараниями W3C-консорциума, разработчикам была предоставлена возможность вычленить из HTML-документа описание внешнего вида отдельных, регулярно повторяющихся его фрагментов в самостоятельный объект - таблицу стилей CSS. Далее была вычленена в самостоятельный объект собственно разметка - таблица стилей XSL, которую, возможно, следовало бы более точно назвать таблицей шаблонов разметки. В итоге остался XML-документ, описывающий в чистом виде структуру данных документа.

Таким образом, структурированные данные документа были отделены от способа их логико-графического представления (разметки) в виде списков, параграфов, таблиц, диаграмм и т.п., а логико-графическое представление от конкретного внешнего вида (стиля) - размеров, цветов, начертаний и т.п.

В общем виде XML-документ имеет структуру произвольного дерева, которая описывается набором вложенных друг в друга тегов, каждый из которых имеет следующий синтаксический вид:

<ИмяУзла ИмяАтр 1="значение" ИмяАтр 2="значение" ... > вложенные теги и тексты </ИмяУзла> реляционный тег графический

Разница этих двух точек зрения на XML состоит в том, что ставить во главу угла - разметку или данные. В первом случае имена тегов и их атрибутов являются указателями на конкретный шаблон разметки и стандартизуются в словарях-спецификациях XML для каждого конкретного языка разметки. Во втором случае имена тегов XML - это указатели регулярных данных самого XML- документа. Нас интересует второй вариант, и под XML- документом мы будем понимать структуру данных документа, выраженную языком XML. Далее рассмотрим особенности перевода с реляционного языка на язык XML и наоборот. Реляционный язык - это язык кортежей (неупорядоченных множеств пар "Имя Реквизита-Значение Реквизита") и отношений (неупорядоченных множеств кортежей, имеющих одинаковый набор имен реквизитов). Внешним представлением сообщений на реляционном языке является набор двухмерных таблиц [2]. Конкретное приложение, работающее с РБД, делает разметку отношений, кортежей и значений в таблицы, строки (записи) и клетки (поля) и придает им некоторый внешний вид, обычно по опциональному выбору пользователя.

Внешним представлением сообщений на языке XML является набор реальных документов (и электронных, и бумажных), визуализация которых происходит при помощи универсального браузера (например, IE5) на основании XSL и CSS.

Перевод сообщений с реляционного языка на XML синтаксически не однозначен. Для иллюстрации рассмотрим простой пример, состоящий из 3 отношений, 5 реквизитов и 5 кортежей (рисунок 2).

В простейшем и наиболее компактном варианте получается следующая конструкция (вариант 1):

<DataBase>

<Tab1 A="a1" C="c1"/>

<Tab2 B="b1" D="d1"/>

<Tab2 B="b2" D="d2"/>

<Tab3 A="a1" B="b1" E="e1"/>

<Tab3 A="a1" B="b2" E="e2"/></DataBase>

Ее недостатком является неоднородность представления кортежей и значений, что, например, осложняет отображение расширенных реляционных моделей. Если значения оформлять также в виде тегов, то получим следующее (вариант 2):

<DataBase>

<Tab1><A>a1</A><C>c1</C></Tab1>

<Tab2><B>b1</B><D>d1</D></Tab2>

<Tab2><B>b2</B><D>d2</D></Tab2>

<Tab3><A>a1</A><B>b1</B><E>e1</E></Tab3>

<Tab3><A>a1</A><B>b2</B><E>e2</E></Tab3></DataBase>

Оба варианта используют двухуровневую вложенность XML-узлов, с помощью которой устанавливаются направленные связи кортеж-значение. Направленные связи от записей Tab1 к записям Tab3 и от записей Tab2 к записям Tab3 (Tab3 обычно называют таблицей-связкой для реализации связей типа "многие-ко-многим") указываются одинаковыми значениями ключевых реквизитов A и B. В языке XML связи обычно указываются явно путем вложения тегов друг в друга и путем применения ссылок. Это позволяет в нашем примере убрать ссылочные ключи в Tab3 и установить ссылки на одного родителя путем вложения тега Tab3 в Tab2 и на второго родителя (Tab1) с помощью атрибутов Id и Ref (вариант 3):

<DataBase>

<Tab1 Id="#1">

<A>a1</A>

<C>c1</C></Tab1>

<Tab2>

<B>b1</B>

<D>d1</D>

<Tab3 Ref1="#1">

<E>e1</E></Tab3></Tab2>

<Tab2>

<B>b2</B>

<D>d2</D>

<Tab3 Ref1="#1">

<E>e2</E></Tab3></Tab2></DataBase>

Для того чтобы выполнить обратную операцию - привести произвольные XML- данные к реляционным - в первую очередь их необходимо преобразовать к одному из описанных выше вариантов. Для примера возьмем вариант 3.

1. Для каждого тега (в общем виде) вынесем все атрибуты, кроме Id и Ref, и все фрагменты текста в отдельные вложенные теги. Получится следующая структура:

<ИмяУзла Id="Указатель" Ref1="Указатель" Ref2="Указатель"...>

<ИмяАтр 1> Значение </ИмяАтр 1>

<ИмяАтр 2> Значение </ИмяАтр 2>...

<ИмяТекста 1> Только текст </ИмяТекста 1>

<ИмяТекста 2> Только текст </ИмяТекста 2>... Только вложенные теги </ИмяУзла>

2. Реляционные данные хранятся в неупорядоченном виде, а данные XML в упорядоченном. Если в порядке следования атрибутов, фрагментов текста и вложенных тегов заложен смысл, то его, возможно, следует сохранить путем добавления к этой структуре специального вложенного тега, содержащего эту информацию.

3. Узлы предпоследнего уровня иерархии, которым соответствуют кортежи, не могут содержать одноименные вложенные теги - эта ситуация должна быть преобразована. Грубо говоря, в реляционной таблице клетка не может быть разделена на части. Кроме того, если она и может быть пустой, то уж никак не может отсутствовать. Поэтому, необходимо учесть разницу между отсутствующим и пустым тегом последнего уровня.

4. Узлы последнего уровня иерархии, которым соответствуют значения реквизитов, не могут содержать ссылочных атрибутов Id и Ref, так как в реляционных данных связи по ключам существуют только на уровне кортежей.

Преобразование варианта 3 в вариант 2 происходит путем включения ключевых тегов, в качестве которых, в общем случае, удобно использовать суррогатные ключи.

Как видно из рассмотренного примера, если данные размещать как текст и "размечать" их именами тегов, а атрибуты использовать только для ссылок, то получается весьма однородная структура, синтаксически несколько более широкая, чем реляционная.

Литература

1. Веселов В.В., Долженков А.Н. Влияние языка XML на развитие технологий баз данных. - Сайт информационных технологий. webservis.ru

2. Джонатан Эйнджел. XML: время пришло. - Lan/Журнал сетевых решений,№11/99

Размещено на Allbest.ru


Подобные документы

  • Ознакомление с основами расширяемого языка разметки Extensible Markup Language. Изучение основных правил создания XML-документа. Рассмотрение набора элементов языка, секций CDATA, директив анализатора, комментариев, спецсимволов, текстовых данных.

    презентация [400,9 K], добавлен 21.12.2014

  • Определение понятия гипертекста. Основные части документа SGML. История создания стандартного языка разметки документов HTML. Отличия синтаксиса XHTML от HTML. RSS - семейство XML-форматов для описания лент новостей. Применение языка разметки KML.

    презентация [4,3 M], добавлен 15.02.2014

  • Назначение языка SQL. Операторы манипулирования данными. Группировка записей, объединение таблиц, многотабличные и вложенные запросы. Добавление, удаление, определение и обновление данных. Типы данных языка SQL. Методики проектирования, ER-моделирование.

    реферат [84,8 K], добавлен 15.12.2015

  • Общие данные об основных операторах языка SQL. Интерактивный режим работы. Использование языка SQL для выбора информации из таблиц, для вставки, редактирования и удаления данных в них. Связь между операциями реляционной алгебры и операторами языка SQL.

    реферат [146,5 K], добавлен 06.02.2015

  • Специальные разметочные указатели (теги) языка HTML. Основные правила написания тегов. Структура HTML-файлов. Внесение изменений и способы обновления Web-сайта. Необходимые атрибуты для создания на Web-странице бегущей строки и вставки рисунков.

    презентация [439,3 K], добавлен 29.01.2014

  • Изучение тегов для создания списков и таблиц в HTML, основных атрибутов тегов. Практические навыки создания списков и таблиц в HTML-документах. Нумерованные, маркированные и вложенные списки, список определений. Выравнивание данных в ячейках таблицы.

    контрольная работа [322,1 K], добавлен 09.08.2014

  • Основные теги и атрибуты языка HTML. Создание web-сайта, который должен представлять собой несколько связанных между собой страниц. Рассмотрение различных значений атрибутов и тегов на страницах и в других документах. Экранные формы разработанных страниц.

    лабораторная работа [1,2 M], добавлен 16.04.2014

  • Общее описание и характеристики языка программирования (Ф-язык). Конструкции и элементы данного языка, порядок их взаимосвязи, разновидности и главные функции. Микрооперации Ф-языка, их назначение и особенности реализации. Графические схемы алгоритма.

    контрольная работа [67,5 K], добавлен 13.09.2008

  • Понятие, сущность и особенности применения языка HTML, а также структура его документа. Рекомендации по созданию сайтов в интернете. Общая структура и порядок оформления гипертекстов, записанных в языке HTML, примеры отображения их в браузере компьютера.

    контрольная работа [29,4 K], добавлен 12.09.2010

  • Цель и место размещения документа Web. Язык гипертекстовой разметки. Сценарий и структура Web-документа. Основные редакторы гипертекста. Создание документов в стандарте HTML. Создание заголовков, форматирование и изменение стиля, нумерация списков.

    реферат [34,4 K], добавлен 22.11.2009

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.