Модели, ориентированные на формат документа
Как говорилось ранее, документальные модели данных соответствуют представлению о слабоструктурированной информации, ориентированной в основном на свободные форматы документов, текстов на естественном языке.
Модели, ориентированные на формат документа, являются документальной моделью.
Модели, основанные на языках разметки документов, связаны, прежде всего, со стандартным общим языком разметки - SGML (Standard Generalized Markup Language), который был утвержден ISO в качестве стандарта еще в 80-х годах. Этот язык предназначен для создания других языков разметки, он определяет допустимый набор тегов (ссылок), их атрибуты и внутреннюю структуру документа. Контроль за правильностью использования тегов осуществляется при помощи специального набора правил, называемых DTD-описаниями, которые используются программой клиента при разборе документа. Для каждого класса документов определяется свой набор правил, описывающих грамматику соответствующего языка разметки. С помощью SGML можно описывать структурированные данные, организовывать информацию, содержащуюся в документах, представлять эту информацию в некотором стандартизованном формате. Но ввиду некоторой своей сложности SGML использовался в основном для описания синтаксиса других языков (наиболее известным из которых является HTML), и немногие приложения работали с SGML-документами напрямую.[7]
1.
2.
HTML и базы данных
Язык HTML намного проще SGML. HTML – стандартизированный язык разметки документов. Данный язык имеет некий ограниченный набор инструкций - тегов, при помощи которых осуществляется процесс разметки.
Инструкции HTML в первую очередь предназначены для управления процессом вывода содержимого документа на экране программы-клиента и определяют этим самым способ представления документа, но не его структуру. В качестве элемента гипертекстовой базы данных, описываемой HTML, используется текстовый файл, который может легко передаваться по сети с использованием протокола HTTP. Эта особенность, а также то, что HTML является открытым стандартом, и огромное количество пользователей имеет возможность применять возможности этого языка для оформления своих документов, безусловно, повлияли на рост популярности HTML и сделали его сегодня главным механизмом представления информации в Internet.[8]
Общая структура выглядит следующим образом:
<HTML>
<HEAD>
<TITLE></TITLE>
</HEAD>
<BODY>
</BODY>
</HTML>
Язык HTML имеет определенный набор тегов, которые можно сгруппировать по следующим образом:
1. Корневой элемент (<html></html>)
2. Служебные теги. Например, <!DOCTYPE> используется для объявления типа документа.
3. Таблицы. Например, <table></table> - таблица, <tr></tr> строка таблицы, <th></th> - столбец таблицы, <td></td> - ячейки таблицы. Чтобы построить таблицу 1, нужно использовать следующий код, который будет содержаться внутри тела.
Таблица 1.
Таблица в HTML
№ п/п | Наименование товара | Ед.изм. | Количество | Цена за ед.изм., руб. | Стоимость, руб. |
1. | Яблоки | кг | 5,00 | 50,00 | 250,00 |
2. | Груши | кг | 4,00 | 80,00 | 320,00 |
ИТОГО: | 570,00 |
<table>
<tr>
<th>№ п/п</th><th>Наименование товара</th><th>Ед. изм.</th><th>Количество</th><th>Цена за ед. изм., руб.</th><th>Стоимость, руб.</th>
</tr>
<tr>
<td>1.</td><td>Яблоки</td><td>кг</td><td>5,00</td><td>50,00</td><td>250,00</td>
</tr>
<tr>
<td>2.</td><td>Груши</td><td>кг</td><td>4,00</td><td>80,00</td><td>320,00</td>
</tr>
<tr>
<td colspan="5" style="text-align:right">ИТОГО:</td><td>570,00</td>
</tr>
</table>
4. Текст. Например, парный тег <p></p> обозначат параграф в тексте.
5. Изображения. Для отображения изображений используют тег <img>.
6. Ссылки
7. Списки. Например, парные теги <ol></ol> используются для упорядоченных нумерованных списоков, а <ul></ul> - для маркированный список, причем каждый элемент списка может быть заключен в тег <li></li>.
8. Группировка контента. <body></body> -
тело html-документа.
9. Формы.
10. Встраиваемый контент.
XML и базы данных
Язык XML
На смену HTML пришёл новый язык разметки документов – XML (eXtensible Markup Language – расширяемый язык разметки). Прогнозируется, что использование этого языка позволит значительно упростить процессы взаимодействия между информационными системами, обеспечить эффективное управление предприятиями, использовать системы электронной коммерции и др.
XML не является заменой HTML. Они предназначены для решения разных задач. По сравнению с HTML, который ориентирован на форматирование, на отображение данных, а XML ориентирован на данные, а именно на их хранение и передачу.
XML позволяет создавать оригинальные теги, поддерживать произвольную структуру данных и обеспечивать проверку корректности документа.
XML не связан с типом хранимых данных. Независимость от СУБД организуется путём представления запросов к ним на языке XML Query.
XML (Extensible Markup Language) - это язык разметки, описывающий целый класс объектов данных, называемых XML-документами. Он используется в качестве средства для описания грамматики других языков и контроля за правильностью составления документов. То есть сам по себе XML не содержит никаких тегов, предназначенных для разметки, он просто определяет порядок их создания.
XML отделяет данные от HTML. С XML данные можно хранить в отдельных файлах XML. XML упрощает распределение данных. В реальном мире компьютерные системы и базы данных используют данные в несовместимых форматах. XML данные хранятся в простом текстовом формате. Это обеспечивает программную и аппаратную независимость. Что позволяет легко создавать данные, которые могут использоваться самыми разными приложениями. XML упрощает передачу данных. Одной из самых время затратных проблем разработчиков всегда была и остается до сих пор проблема обмена данными между несовместимыми между собой системами. Передача данных в виде XML значительно снижает сложность передачи данных между несовместимыми между собой системами этой, так как данные в этом формате могут быть прочитаны ими. XML используется для создания новых интернет-языков
С использованием XML было создано множество языков программирования в Интернете. (XHTML, WSDL для описания доступных веб-сервисов, WAP и WML как языки разметки для портативных устройств типа КПК, RSS языки для новостных каналов, RDF и OWL для описания ресурсов и онтологии).
Пример XML, описывающий данные о IT- специалисте:[9]
<xs:schema
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name=" IT Специалист" type=" IT Специалист"/>
<xs:complexType name="IT Специалист">
<xs:sequence>
<xs:element name=" Фамилия" type="xs:string"/>
<xs:element name=" Имя" type="xs:string"/>
<xs:element name=" Отчество" type="xs:string"/>
<xs:element name=" Контактный телефон" type="xs:decimal"/>
</xs:sequence>
</xs:complexType>
</xs:schema>
Представление данных как XML-документов является естественным, поскольку они получаются из реальных документов. Представлять данные как документы привычнее и понятнее, чем представлять их как реляционные таблицы. Реляционная таблица, в лучшем случае, отдельный фрагмент документа. Неестественность табличного представления легко прочувствовать вначале при проектировании РБД, когда из набора имеющихся документов происходит вычленение сущностей, и затем при подготовке отчета, когда из этих же сущностей вновь создаются документы. Манипулировать данными с использованием такой естественной для человека сущности как «связь» также привычнее и понятнее, чем со ссылочными ключами, которые в реальных документах встречаются редко.[10]
Достоинства и недостатки
У XML есть как достоинства, так и недостатки.
Достоинства[11]:
1. XML - язык разметки, позволяющий отобразить двоичные данные в текст, читаемый человеком и анализируемый компьютером;
2. XML поддерживает Юникод;
3. в формате XML могут быть описаны такие структуры данных как записи, списки и деревья;
4. XML - это самодокументируемый формат, который описывает структуру и имена полей также как и значения полей;
5. XML имеет строго определённый синтаксис и требования к анализу, что позволяет ему оставаться простым, эффективным и непротиворечивым. Одновременно с этим, разные разработчики не ограничены в выборе экспрессивных методов (например, можно моделировать данные, помещая значения в параметры тегов или в тело тегов, можно использовать различные языки и нотации для именования тегов и т. д.);
6. XML - формат, основанный на международных стандартах;
7. Иерархическая структура XML подходит для описания практически любых типов документов, кроме аудио и видео мультимедийных потоков, растровых изображений, сетевых структур данных и двоичных данных;
8. XML представляет собой простой текст, свободный от лицензирования и каких-либо ограничений;
9. XML не зависит от платформы;
10. XML является подмножеством SGML. Уже накоплен большой опыт работы с языком и созданы специализированные приложения;
11. XML не накладывает требований на расположение символов в строке;
12. В отличие от бинарных форматов, XML содержит метаданные об именах, типах и классах описываемых объектов, по которым приложение может обработать документ неизвестной структуры;
13. XML поддерживается на низком аппаратном, микропрограммном и программном уровнях в современных аппаратных решениях.
Недостатки:[12]
1. Синтаксис XML избыточен.
2. Неоднозначность моделирования.
2.1. Нет общепринятой методологии для моделирования данных в XML, в то время как для реляционной модели и объектно-ориентированной такие средства разработаны и базируются на реляционной алгебре, системном подходе и системном анализе.
2.2. В природе есть множество объектов и явлений, для описания которых разные структуры данных (сетевая, реляционная, иерархическая) являются естественными, и отображение объекта в неестественную для него модель является болезненным для его сути. В случае с реляционной и иерархической моделями определены процедуры декомпозиции, обеспечивающие относительную однозначность, чего нельзя сказать о сетевой модели.
2.3. В результате большой гибкости языка и отсутствия строгих ограничений, одна и та же структура может быть представлена множеством способов (различными разработчиками).
3. XML не содержит встроенной в язык поддержки типов данных.
4. Иерархическая модель данных, предлагаемая XML, ограничена по сравнению с реляционной моделью и объектно-ориентированными графами и сетевой моделью данных.
DXML
Database-driven eXtensible Markup Language (DXML) расширяет возможности новых веб-издания стандарта в формате XML, чтобы включить профилирование пользователей, администрирование группы и настройки пользовательского интерфейса. DXML дополняет XML, обеспечивая гибкую схему базы данных, что позволяет разработчикам настроить их содержимое динамически.
DXML специально разработан для создателей контента. Web-разработчики теперь могут создавать Intranet web-сайты, где навигация встроена. Для web-администраторов dXML включает консолидацию web-сервера.
Больше не необходимо поддержать отдельный общественный видимый Internet web-сайт, корпоративный Intranet - сайт или совместное использование партнерами Extranet сайта.
Одно и то же содержимое сайта может быть перепредставлено основываясь на том, что пользовательская профилирующая способность определяет то, к чему пользователь имеет надёжный доступ.
DXML позволяет разработчику контента переназначить их веб - контент, как интерактивное содержание - где права доступа и стиль отображения зависит от пользователя.
DXML включает в себя следующие компоненты[13]:
1. DXML Authoring tool позволяет веб - коллекции быть XML мета-тегами, используя популярные инструменты Authoring, такие как Microsoft Word и FrontPage.
2. Реляционная схема базы данных обеспечивает централизованное управление содержанием любого контента , который может быть преобразован в URL, в том числе веб -документов, баз данных, SQL запросов к базе данных, Newsfeeds и браузер с поддержкой приложений устаревших ПК.
3. База данных по инициативе пользователя позволяет Web - администратору системы управлять доступом и представлением пользовательского интерфейса на основе пользователя и / или группы.
4. Интерфейс на основе меню позволяет администратору контролировать публикацию / подписаться права, содержание диспетчеризацию и стиль пользовательского интерфейса.
5. Кросс-платформенная поддержка браузера. DXML среда поддерживает все 32-разрядные Java с поддержкой веб - платформ, в том числе от Microsoft Internet Explorer и Communicator компании Netscape. DXML в настоящее время поддерживает Oracle, Sybase и Microsoft SQLServer базы данных.
Заключение
Перед созданием базы данных очень важно выбрать правильную модель данных, которая позволит формализовано представить объекты, связи, свойства, а также их взаимодействие. Модели данных, ориентированных на формат документа, относящаяся к документальным моделям, соответствуют представлению о слабоструктурированной информации, ориентированной в основном на свободные форматы документов, текстов на естественном языке.
Модели, основанные на языках разметки документов, связаны, прежде всего, со стандартным общим языком разметки - SGML, с помощью которого можно описывать структурированные данные, организовывать информацию, содержащуюся в документах, представлять эту информацию в некотором стандартизованном формате. Стандартизированный язык разметки документов – HTML, который имеет ограниченный набор тегов, при помощи которых осуществляется процесс разметки. HTML, который ориентирован на форматирование, на отображение данных.
Расширяемый язык разметки - XML ориентирован на данные, позволяет создавать оригинальные теги, поддерживать произвольную структуру данных и обеспечивать проверку корректности документа.
DXML призван расширить возможности стандарта в формате XML.
Список литературы
1. DataChannel Announces Database-driven eXtensible Markup Language (dXML). - URL: http://www.thefreelibrary.com/DataChannel+Announces+Database-driven+eXtensible+Markup+Language+...-a01980368 (Дата последнего обращения: 24.09.2016)
2. XML и технологии БАЗ ДАННЫХ. - URL: http://inftech.webservis.ru/it/internet/xml/ar2.html (Дата последнего обращения: 24.09.2016)
3. XML. - URL: http://www.tadviser.ru/index.php/%D0%A1%D1%82%D0%B0%D1%82%D1%8C%D1%8F:XML (Дата последнего обращения: 24.09.2016)
4. Классификация моделей данных. - URL: http://www.sqlshop.ru/publ/klassifikacija_modelej_dannykh/1-1-0-5 (Дата последнего обращения: 24.09.2016)
5. Модели и типы данных. - URL: http://studepedia.org/index.php?vol=1&post=42652 (Дата последнего обращения: 24.09.2016)
6. Онлайн библиотека PLAN.RU. Базы данных - URL: http://www.plam.ru/compinet/osnovy_informatiki_uchebnik_dlja_vuzov/p13.php (Дата последнего обращения: 24.09.2016)
7. Учебник. Базы данных. - URL: http://www.studfiles.ru/preview/4086597/ (Дата последнего обращения: 24.09.2016)
[1] Онлайн библиотека PLAN.RU. Базы данных -URL: http://www.plam.ru/compinet/osnovy_informatiki_uchebnik_dlja_vuzov/p13.php (Дата последнего обращения: 24.09.2016)
[2] Онлайн библиотека PLAN.RU. Базы данных -URL: http://www.plam.ru/compinet/osnovy_informatiki_uchebnik_dlja_vuzov/p13.php (Дата последнего обращения: 24.09.2016)
[3] Классификация моделей данных. - URL: http://www.sqlshop.ru/publ/klassifikacija_modelej_dannykh/1-1-0-5 (Дата последнего обращения: 24.09.2016)
[4] Учебник. Базы данных. - URL: http://www.studfiles.ru/preview/4086597/ (Дата последнего обращения: 24.09.2016)
[5] Классификация моделей данных. - URL: http://www.sqlshop.ru/publ/klassifikacija_modelej_dannykh/1-1-0-5 (Дата последнего обращения: 24.09.2016)
[6] Учебник. Базы данных. - URL: http://www.studfiles.ru/preview/4086597/ (Дата последнего обращения: 24.09.2016)
[7] Модели и типы данных. - URL: http://studepedia.org/index.php?vol=1&post=42652 (Дата последнего обращения: 24.09.2016)
[8] Модели и типы данных. - URL: http://studepedia.org/index.php?vol=1&post=42652 (Дата последнего обращения: 24.09.2016)
[9] Учебник. Базы данных. - URL: http://www.studfiles.ru/preview/4086597/ (Дата последнего обращения: 24.09.2016)
[10] XML и технологии БАЗ ДАННЫХ. - URL: http://inftech.webservis.ru/it/internet/xml/ar2.html (Дата последнего обращения: 24.09.2016)
[11]XML. - URL: http://www.tadviser.ru/index.php/%D0%A1%D1%82%D0%B0%D1%82%D1%8C%D1%8F:XML
(Дата последнего обращения: 24.09.2016)
[12] XML. - URL: http://www.tadviser.ru/index.php/%D0%A1%D1%82%D0%B0%D1%82%D1%8C%D1%8F:XML
(Дата последнего обращения: 24.09.2016)
[13] DataChannel Announces Database-driven eXtensible Markup Language (dXML). - URL: http://www.thefreelibrary.com/DataChannel+Announces+Database-driven+eXtensible+Markup+Language+...-a019803682 (Дата последнего обращения: 24.09.2016)