Смекни!
smekni.com

А. Н. Терехов Санкт Петербург (стр. 1 из 8)

Санкт-Петербургский Государственный Университет

Математико-Механический Факультет

Кафедра Системного Программирования

Сравнение различных методов хранения XML в реляционных базах данных и в разных системах.

Дипломная работа студентки 545 группы
Нгуен Тхань Хуен.

Руководитель
доктор ф.-м. наук, профессор

Б.А. Новиков

Рецензент

«Допустить к защите»
Заведующий кафедрой
доктор ф.-м. наук, профессор

А.Н. Терехов

Санкт – Петербург

2007.

Содержание:

1. Введение …………………………………………………………….3

2. Научная область исследования ……………………………….....4

2.1 Языки XML ……………………………………………………...……4

2.2 Основы реляционных моделей ……………………………………..6

2.3 DTD и XML schema …………………………………………………..7

2.3.1 Определение типа данных – DTD ……………………....…....7

2.3.3 Схема XML ………………………………………………….10

2.4 XMark и его запросы ……………………………………………….10

2.4.1 Описание базы данных ……………………………………...11

2.4.1.1 Иерархическая структура ……………………...….11

2.4.1.2 Эталонные запросы ………………………………...13

2.5 XQuery – язык запросов XML ……………………………….….…20

2.6 Поддержка XML в СУБД ………………………………...….…..…21

2.6.1. В SQL Server 2005 ……………………...…………………...21

2.6.1.1 XML – Тип данных……………………………….......22

2.6.1.2 XQuery в SQL Server 2005………….……………......25

2.6.2. В Oracle ...…………………………………………….…....…27

2.6.2.1 Новый тип данных – XMLType………………….….27

2.6.2.2 XQuery в Oracle ………………………………….......29

2.7 Другие методы для хранения XML в реляционных данных…..29

2.7.1 Относительный подход DTD………………………………29

2.7.1.1 Побуждение для специальных методов преобразования схемы………………………….………..….29

2.7.1.2 DTD Xmark…………………………………………...30

2.7.1.3 Часть графа DTD Xmark……………………..….…33

2.7.1.4 Отношение схемы от графа DTD…………………34

2.7.2 Поход атрибутов…………………………………………….36

2.7.2.1 Подход Edge таблицы……………………………....36

2.7.2.2 Подход атрибута……………………………..…….37

3. Эксперименты и результаты……………………………………...…37

4. Заключение……………………………………………………...............…40

5. Список литературы…………………………………………...………....42

Аннотация

В данной работе рассматриваются различных методов хранения XML в реляционных базах данных и в различных системах. Предлагается методы и поддержки XML в СУБД.

1.Введение

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

XML все больше используется в приложениях уровня предприятия для моделирования частично структурированных и неструктурированных данных. Одно из таких приложений - это управление документами. Документы, такие, как e-mail, являются изначально частично структурированными. Если документы хранятся внутри сервера базы данных в виде XML, то достаточно мощные приложения могут быть разработаны для получения документов, основанные на содержимом документов, объединении документов, и запросах на получение части содержимого документа, как, например, поиск главы документа с заголовком, содержащим слово "background". Такие сценарии становятся все более возможными с ростом количества приложений, которые генерируют и потребляют XML. Например, система Microsoft Office 2003 позволяет пользователям создавать документы Word, Excel, Visio и Infopath в виде XML.

Почему для данных XML используются реляционные базы данных?

· Хранение данных XML в реляционной базе данных имеет свои преимущества при управлении данными и обработке запросов. SQL Server обеспечивает большие возможности для выполнения запросов к реляционным данным и изменения этих данных, которые были расширены для выполнения запросов по данным XML и их изменения. Это позволяет увеличить отдачу от инвестиций, как, например, в областях оптимизации затрат ресурсов и хранилищ данных. Например, методы индексирования в реляционной базе данных хорошо известны, и они были расширены для индексирования данных XML так, чтобы запросы могли быть оптимизированы с учетом затрат ресурсов.

· Данные XML могут взаимодействовать с существующими реляционными данными и приложениями SQL так, чтобы XML мог быть добавлен в систему при возникновении новых потребностей без серьезного изменения существующих приложений. Сервер базы данных также обеспечивает административную функциональность для управления данными XML (например, резервное копирование, восстановление и репликация).

2.Научная область исследования

2.1.Язык XML.

XML (eXtensible Markup Language – расширяемый язык разметки) представляет собой подмножество языки SGML (Standard Generalized Markup Language – стандартный обобщенный язык разметки)

2.1.1 Объявление XML

Документы XML начинаются с необязательного объявления XML, которое в данном примере содержит обозначение версии XML, применяемой автором документа(1.0) и системы кодировки (UTF-8 соответствует стандарту Unicode), а также содержит сведения о том, имеется ли в документе ссылка на внешние объявления разметки (standalone = ‘yes’ указывает, что в документе отсутствуют внешние объявления разметки). Пролог так:

<? xml version=”1.0” encoding standalone =”yes”>

2.1.2 Элементы XML.

Элементы XML, называемые также дескрипторами, представляются собой наиболее широко применяемую форму разметки. Первый элемент документа должен быть так называемым корневым элементом, который может содержать другие элементы (субэлементы). Каждый документ XML должен иметь один корневой элемент. Любой элемент начинается с начального дескриптора и оканчивается конечным дескриптором. Элемент XML чувствительны к регистру, поэтому элемент <DOC> отличный от элемента <doc>. Элемент может быть пустым, и в этом случае его можно сокращенно представить одним дескриптором, например <DOC/>. Элементы должны быть правильно вложенными.

2.1.3 Атрибуты XML.

Атрибуты представляют собой пары “имя-значение”, которые содержат описательную информацию об элементе. Атрибуты помещаются внутри начального дескриптора после соответствующего имени элемента, а значение атрибута заключаются в кавычки. Каждый конкретный атрибут может присутствовать в дескрипторе только в одном экземпляре, тогда субэлемент в одном и том же дескрипторе могут повторяться. Например, объявления атрибута: <Doc id = “id111”>.

2.1.4 Ссылки на сущности.

Сущностями называются элементы документа, которые выполняют следующие основные задачи:

· Служат в качестве сокращений для обозначения часто повторяющегося текста или позволяют включить в документ содержимое внешних файлов.

· Используются для вставки в текст произвольных символов Unicode (например, для представления символов, которые нельзя ввести непосредственно на клавиатуре);

· Позволяют обозначить различие между зарезервированными символами и информационным наполнением. Например, левая угловая скобка ( < ) обозначает начало начального или конечного дескриптора элемента. Чтобы можно было отличить этот символ разметки от символа, содержащегося в самом информационным наполнении, а язык XML введена сущность lt, которая служит для замены символа <.

Каждая сущность должна иметь уникальное имя, и ее применение в документе XML называется ссылкой на сущность. Любая ссылка на сущность начинается с символа амперсанда (&) и оканчивается точкой с запятой (;), например &lt;

2.1.5 Комментарии

Комментарии заключаются в дескрипторы <! -- и -- > и могут содержать любые данные, кроме литеральной строки “--”. Комментарии могут помещаться между дескрипторами разметки в любом месте документа XML, но процессор XML не обязательно должен передавать комментарии приложению.

2.1.6 Разделы CDATA и команды обработки.

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

2.1.7 Упорядочение.

В языке XML элементе рассматриваются как упорядоченные, таким образом, в языке XML следующие два фрагмента с переставленными элементами FNAME и LNAME считаются разными: