2012 год Создание модели XML ориентированной базы данных на примере

advertisement
МБОУ «Токаевская СОШ» Комсомольского района ЧР
Создание модели XML
ориентированной базы
данных на примере
электронной библиотеки
XML.
Научно – исследовательская работа ученика
9Б класса МБОУ «Токаевская СОШ»
Ямалтдинова Айнура
2012 год
Оглавление
1.
2.
3.
4.
5.
6.
7.
8.
9.
Введение ............................................................................................................................. 2
Основы XML ...................................................................................................................... 4
Сферы применения стандартов XML .............................................................................. 6
XML и электронные библиотеки ..................................................................................... 7
Создание модели базы данных на примере электронной библиотеки ......................... 8
Приложения для работы с базой данных ........................................................................ 9
Заключение ....................................................................................................................... 10
Библиографический список ............................................................................................ 11
Приложение...................................................................................................................... 12
1
Введение
Язык XML (Extensible Markup Language) привлек достаточно внимания среди
разработчиков и пользователей среды Интернет, чтобы задуматься над вопросом
применения его в качестве основного инструмента для создания Web – приложений и
хранения данных.
Популярность World Wide Web и неотъемлемой ее части, XML стала причиной
повышенного внимания к системам гипертекстовой разметки документов.
В
качестве
элемента
гипертекстовой
базы
данных,
описываемой
XML,
используется текстовый файл, который может легко передаваться по сети с
использованием протокола HTTP. Эта особенность, а также то, что XML является
открытым стандартом и огромное количество пользователей имеет возможность
применять возможности этого языка для оформления своих документов, безусловно,
повлияли на рост популярности XML и сделали его сегодня главным механизмом
представления информации в Web.
Еще одним из очевидных достоинств XML является возможность использования
его в качестве универсального языка запросов к хранилищам информации. Сегодня в
глубинах W3C находится на рассмотрении рабочий вариант стандарта XML-QL (или
XQL), который, возможно, в будущем составит серьезную конкуренцию SQL. Кроме того,
XML-документы могут выступать в качестве уникального способа хранения данных,
который включает в себя одновременно средства для разбора информации и
представления ее на стороне клиента.
Разработка и использование XML ориентированных баз данных является
приоритетным направлением развития ИКТ. Одной из основных задач управления
качеством образования в учебном заведении является задача контроля качества обучения.
В условиях современного информационного общества XML ориентированные БД могут
стать основным способом хранения и передачи информации.
Таким образом, существует техническая проблема, заключающаяся в развитии и
внедрении XML ориентированных баз данных.
Объект исследования – процесс разработки электронных библиотек XML.
2
Предмет исследования – хранение данных в XML файлах.
Цель работы - создание электронной библиотеки и приложения для доступа к ней
на основе применения языка XML.
Для достижения поставленной цели необходимо решить следующие задачи:

Выполнить анализ существующих методик и моделей построения баз
данных

Разработать модель построения БД на примере электронной библиотеки

Проанализировать возможности известных инструментов для создания
систем приложения для доступа к БД.

Разработать программное обеспечение для реализации модели базы данных
Методы исследования базируются на математическом аппарате теории баз данных
и информационных систем.
Практическая значимость работы заключается в разработке модели электронной
библиотеки и приложения для доступа к ней.
3
Основы XML
XML (eXtensible Markup Language) – это расширяемый язык разметки, инструмент
для структурирования информации, а также это инфраструктура для создания Webбазированных информационных систем, т.е. набор программных компонент для создания,
обработки структурированных документов и их передачи, посредством, например,
протокола HTTP.
На данный момент, XML является основой для построения современных вебсервисов.
Развитием XML управляет консорциум WWW (W3C).
Данные в XML размещаются внутри тегов. Пара “открывающий - закрывающий
тег” соответствует элементу данных. Элементом называется часть документа XML,
разграниченная открывающим тегом, таким как <my_element>, и закрывающим тегом,
таким как </my_element>. Документ XML состоит из одного элемента верхнего уровня,
называемым корневым элементом и наборов, вложенных в него, элементов и символьных
данных.
Атрибутом является свойство элемента, которое предоставляет дополнительную
информацию об элементе или о моделируемой сущности элемента.
Имена конструкций XML (атрибутов, элементов и т.п), применяемые для описания
сущностей предметной области должны иметь уникальные имена. В случае если имена
должны быть уникальными не только внутри документа XML, но и вне его, необходимо
использовать пространства имен XML.
Для повышения читабельности XML-данных необходимо структурировать
информацию по определенным критериям.
Например, можно использовать способы
структурирования информации, принятые в ER-моделировании или ООП. Для
структурирования можно использовать простое правило - элементы XML соответствуют
сущностям предметной области, а атрибуты соответствуют характеристикам этих
сущностей.
Для организации связи «быть частью» между сущностями можно использовать
вложение элементов XML. Так, если Вы хотите показать, что некоторый элемент является
4
частью другого элемента, то описываете его внутри этого элемента. Например, если Вы
хотите показать, что сущность автомобиль состоит из различных компонентов, например,
двигателя, колес и т.д., тогда в XML это можно выразить так:
<car namе="VM"><engine>V6</engine></car>
Кроме того, при создании документов XML необходимо не забывать простые
правила формирования XML-документов, а именно,
1. XML- регистрозависим, т.е.в тегах учитывается регистр символов.
2. Элементы XML должны быть правильно вложены друг в друга.
3. В XML должен быть один корневой элемент.
4. Значения атрибутов всегда должны быть заключены в кавычки.
Для обработки XML конструкций применяются синтаксические анализаторы.
Например, msxml от Microsoft.
Для описания данных в XML используется DTD или схема XML. DTD (Document
Type Definition) задает правила формирования теговой разметки.
Для визуализации содержимого файла XML с помощью CSS можно использовать
каскадную таблицу стилей CSS. Подключить ее можно следующим образом:
<?xml-stylesheet type="text/css" href="sheet.css" ?>
Для визуализации содержимого файла XML с помощью XSL можно использовать
XSL. Подключить его можно следующим образом:
<?xml-stylesheet type="text/xsl" href="sheet.xsl" ?>
Для обработки XML-конструкций применяются такие технологии как DOM, SAX,
XSLT.
5
Сферы применения стандартов XML
Хотя язык XML и базирующийся на этом языке комплекс стандартов создавались
консорциумом W3C, прежде всего, как средства представления информационных
ресурсов Веб-2, они, тем не менее, нашли широкие применения в различных областях
информационных технологий. Многие из них уже приобрели статус стандартов де-факто.
Перечислим важнейшие задачи, решение которых обеспечивает платформа XML:

создание Веб второго поколения;

выполнение функций языка-посредника при обмене данными между
программными системами, реализующими, возможно, различные технологии, и
обеспечение тем самым их интероперабельности;

интеграция неоднородных информационных ресурсов, различных
технологий управления данными и приложений;

создание новой ветви технологий баз данных, называемых XML-
ориентированными базами данных;
Области применений стандартов платформы XML постоянно расширяются и
охватывают ряд технологий и стандартов как горизонтальной, так и вертикальной сферы.
В горизонтальной сфере (технологии, независимые от конкретной области
приложений) стандарт XML нашел применение в ряде стандартов консорциумов Object
Management Group (OMG), Meta Data Coalition (MDC) и Workflow Management Coalition
(WfMC), в стандартах ISO/IEC и др.
Более конкретно, в ряде стандартов горизонтальной сферы предусматривается
использование языка XML как языка-посредника для обмена информацией между
различного рода системами с помощью Веб.
В связи с успешным продвижением платформы XML в практику, начались работы
над новым, ранее не планировавшимся компонентом SQL/XML следующей версии
стандарта языка SQL - SQL:200n. По замыслу разработчиков, он будет определять
возможности совместного использования ресурсов SQL и XML. В частности, будут
определяться представление схем и данных SQL в форме XML-документов и наоборот.
6
Важной сферой применения стандартов XML становится формирующаяся в
последние годы новая ветвь технологий баз данных - XML-ориентированные базы
данных. В таких системах язык XML используется в качестве языка определения данных.
Языками запросов служат XPath, XSLT и XQL - один из ранних претендентов на
роль стандарта языка запросов для платформы XML. Активно ведутся разработки
спецификаций стандарта языка запросов XQuery. Имеются программные продукты этой
категории,
которые
обеспечивают
интерфейс
прикладного
программирования,
основанный на объектной модели стандарта DOM.
Стандарты XML широко применяются также в вертикальной сфере (конкретные
области приложений - электронный бизнес, управление производством, транспорт и т.п.).
Здесь следует, в частности, упомянуть технологии и стандарты консорциумов OASIS,
OMG и OGC (Open GIS Consortia), компаний IBM, Microsoft, Ariba.
Важной
областью
применений
стандартов
XML
являются
электронные
библиотеки. Они используются во многих таких системах.
XML и электронные библиотеки
Как уже отмечалось выше, одной из важных областей применения стандартов
платформы XML стали разработки электронных библиотек. Разработки и исследования
электронных библиотек являются одним из актуальных направлений развития
информационных систем в последние годы, привлекающим внимание специалистов
различного профиля.
Направления исследований и разработок в области электронных библиотек
охватывают технологические, лингвистические, экономические, правовые, социальные и
другие аспекты систем этого класса, а также методы и инструментарий создания
поддерживаемых в них коллекций разнообразных цифровых информационных ресурсов.
Поскольку Веб стал "средой обитания" электронных библиотек, радикальные
технологические сдвиги, которые происходят в этой среде, связанные, прежде всего, с
активно развиваемыми консорциумом W3C технологиями и стандартами платформы
XML, оказывают существенное влияние на развитие информационных систем этого
класса.
7
Использование технологий XML в электронных библиотеках является весьма
перспективным. На основе XML созданы языки разметки информационных ресурсов в
математике, химии, астрономии, геоинформатике и в других областях знаний, и они
довольно широко применяются на практике. Предложены различные подходы к
представлению библиографической информации с помощью языка XML и к созданию на
этой основе электронных библиотек с поисковыми машинами, оперирующими такой
информацией. Имеется ряд примеров локальных и распределенных систем такого рода. В
частности, известны системы для поддержки электронных ботанических коллекций,
коллекций публикаций в экономической науке и т.д. Методы интеграции неоднородных
информационных ресурсов с использованием технологий XML разрабатываются в
различных исследовательских центрах.
Создание модели базы данных на примере электронной библиотеки
Для демонстрации возможностей языка XML мы разработали простую модель
базы данных – XML файл, содержащий список книг с основными атрибутами (название,
автор, артикул, количество страниц и категории). При дальнейшем развитии можно также
включить в базу дополнительную информацию, например, ссылку для скачивания книги.
Вот пример базы данных, состоящей из одной книги:
<Library>
<Book ID="AP-127" Pages="190">
<Name>Теория Вероятности</Name>
<Author>Тихонов</Author>
<Category>Математика</Category>
<Category>Наука</Category>
<Category>ТВИМС</Category>
<Category>Экономика</Category>
</Book>
</Library>
8
Приложение для работы с базой данных
При разработке приложения для доступа к базе данных был использован язык
программирования Visual C#. Среда разработки приложений C# позволяет сосредоточить
максимум усилий на выполнение задач для достижения поставленной цели, не отвлекая
особого внимания на разработку пользовательского интерфейса, так как рутинную работу
по интерфейсу данная среда берет на себя. Также стоит отметить, что среда имеет
встроенный XML – парсер, что облегчает распознавание элементов базы данных.
Программа довольно проста в применении. Пользователь выбирает файл базы
данных, после чего он получает сведения о книгах, расположенных в библиотеке.
С помощью переключателя пользователь
информацию о которой он хотел бы посмотреть.
может
выбрать
номер
книги,
Листинг программы можно просмотреть в Приложении.
9
Заключение
XML – современный язык разметки документов, позволяющий существенно
упростить хранение и передачу данных. Средства платформы XML используются в
огромном количестве различных проектов. Одной из областей применения данной
технологии стали базы данных. Использование технологий XML в электронных
библиотеках является весьма перспективным направлением.
Целью данной работы было создание электронной библиотеки и приложения для
доступа к ней на основе применения языка XML.
В результате проведения исследования поставленные перед нами задачи были
решены. Был изучен теоретический материал и практические способы применения XML.
Цель работы была достигнута. Результатом работы явилась электронная
библиотека и приложение для доступа к ней. Спроектированная система может быть
использована для организации улучшенного доступа к библиографическим ресурсам
школы.
10
Библиографический список
1.
XML на сайте Консорциума Всемирной паутины (W3C)
2.
Сайт ru.wikipedia.org
3.
Спенсер П., XML. Проектирование и реализация,: Лори, 510 стр.
4.
Официальная спецификация стандарта XML 1.0 (англ.)
5.
Официальная спецификация стандарта XML 1.1 (англ.)
6.
http://www.MSDN.Microsoft.com/Library
7.
http://Support.Microsoft.com
11
Приложение. Листинг программы.
using
using
using
using
using
using
using
System;
System.Collections.Generic;
System.ComponentModel;
System.Data;
System.Drawing;
System.Text;
System.Windows.Forms;
namespace xml_library
{
public partial class Form1 : Form
{
LibManager LM = new LibManager();
int bid;
public Form1()
{
InitializeComponent();
label1.Text = "Загрузите библиотеку";
}
private void button2_Click(object sender, EventArgs e)
{
Application.Exit();
}
private void button1_Click(object sender, EventArgs e)
{
LM.rewrite();
if (OD.ShowDialog() == DialogResult.OK)
{
// Загружаем библиотеку
LM.LoadLib(OD.FileName);
}
UpDown1.Maximum = LM.GetBooksCount();
UpDown1.Minimum = 1;
label1.Text = " Количество книг в данной библиотеке: " +
LM.GetBooksCount().ToString()+".";
label8.Text = " Выберите номер книги для просмотра. ";
UpDown1.Visible = true;
UpDown1.Enabled = true;
button3.Enabled = true;
label7.Text = "№ книги";
}
private void button3_Click(object sender, EventArgs e)
{
bid=Convert.ToInt32(UpDown1.Value)-1;
label2.Text = "Название книги: " + LM.GetBookName(bid);
label3.Text = "Автор: " +LM.GetAuthor(bid);
label4.Text = "Идентификационный номер: " + LM.GetBookID(bid);
label5.Text = "Категории: ";
int i=1;
for(i=1; i<LM.GetCatigoriesCount(bid)-1;i++)
{
label5.Text =label5.Text + "
"+LM.GetBookCategotyText(bid,i)+", ";
}
label5.Text = label5.Text + " " + LM.GetBookCategotyText(bid,i);
label6.Text = "Количество страниц:" +
LM.GetPages(bid).ToString();
}
12
Download