Зверев М.С. ГРАФИЧЕСКАЯ БАЗА ДАННЫХ НА ОСНОВЕ АССОЦИАТИВНОГО ПРИНЦИПА ДОСТУПА К ОБЪЕКТАМ ДЛЯ СИСТЕМ РЕАЛЬНОГО ВРЕМЕНИ
В настоящее время нет разработок в части графических баз данных, которые имели бы в описании объектов содержательную их часть. Это затрудняет идентификацию объектов.
Технология XML (extensible Markup Language) является на сегодняшний день одной из самых популярных, в части ассоциативного построения данных. XML-документ представляет собой обычный текстовый файл, в котором при помощи специальных маркеров (тэгов, дескрипторов) создаются элементы данных, последовательность и вложенность которых определяет структуру документа и его содержание. Одним из достоинств XML документов является то, что при относительно простом способе создания и обработки, они позволяют создавать структурированную информацию. Это позволяет с помощью XML решать проблему
неоднородности данных. Такой подход, основанный на тэгах, предлагает гибкий и эластичный механизм
для управления метаданными, связанными содержанием информации. Мощность XML-технологии заключается в возможности ввода данных в любом порядке, потому что именно тэги данных, а не их местоположение, описывает значение данных.
Данный XML-подход хорошо подходит для реализации поставленной задачи - создание графической базы данных на основе ассоциативного принципа для систем реального времени. В разрабатываемой базе данных необходимо будет хранить неоднородную неупорядоченную информацию под управлением метаданных. Файл базы данных должен иметь простую структуру и обеспечивать быстрый и простой доступ к необходимой информации в базе.
Анализ предметной области
Графическая База Данных (ГБД) предназначена для хранения и доступа пользователей к графическим данным, хранящимся в базе данных.
Современные информационное технологии дают в распоряжении программиста большое многообразие платформ и средств для построения баз данных как начального уровня локальных платформ, так и сетевых распределенных профессиональных программных комплексов. Это FireBird, InterBase, Oracle, Access, SQL и другие. Но все это формальные базы данных с жестко определенной структурой организации и хранения данных. Поэтому все эти средства не подходят для решения поставленной задачи.
Решая задачу иначе, можно воспользоваться обычными текстовыми файлами типа txt, в которых можно определить свою структуру хранения данных и которые позволяют быстро извлекать эти данные. Но и этот способ не подходит в силу трудоемкости организации структуры данных и поиска данных по файлу.
Решение видится в применении XML-технологии, поскольку она удовлетворяет всем требованиям для создания быстродействующей и «мягко» структурированной графической базы данных.
XML (Extensible Markup Language) - это новый SGML-производный язык разметки документов, позволяю-
щий структурировать информацию разного типа, используя для этого произвольный набор инструкций. Сегодня XML может использоваться в любых приложениях, которым нужна структурированная информация - от сложных геоинформационных систем с гигантскими объемами передаваемой информации до обычных «однокомпьютерных» программ, использующих этот язык для описания служебной информации. Язык XML позволяет описывать данные произвольного типа и используется для представления специализированной информации, например химических, математических, физических формул, медицинских рецептов, нотных записей, и т.д. Это означает, что XML может служить мощным средством для хранения «нестандартной» информации. XML может использоваться в обычных приложениях для хранения и обработки структурированных данных в едином формате.
XML имеет большой успех в качестве глобального стандарта метаданных в Web.
Описание программы
Разработанная графическая база данных состоит из 2 компонентов: база данных и графические файлы.
Ее структура представлена на рисунке 1.
Рисунок 1 - Структура ГБД
Такая структуризация позволяет логически разделить информационную и графическую части. Графическая часть представляет собой упорядоченный набор графических файлов. Информационная часть - база данных, содержащая уникальные ссылки на графические файлы из этого набора.
Разработанная база данных написана на языке XML, выполнена в виде отдельного файла и имеет название «PolygonBD.xml». Ее структура представлена на рисунке 2.
File
PK Num (inteaer)
FK1 Name (string(24)) Comment (string(24)) Path (strina(124)) item
Category
PK Number (Autoinc)
Name (string(32)) Comment (string(32)) item (link)
Рисунок 2 - Структура базы данных
В качестве среды разработки базы данных используется программный комплекс «ALTOVA XmlSpy 2005 rel. 3 Enterprise Edition». XMLSpy 2 0 05 - лидирующий в мире инструмент для моделирования, редактирования и отладки в среде XML. Продукт XMLSpy 2005 является отраслевым стандартом в области разработки XML-приложений. Он дает возможность заниматься проектированием, редактированием и отладкой корпоративных приложений, на базе таких технологий, как XML, XML Schema, XSL/XSLT, SOAP, WSDL и web-службы.
База данных состоит из 2-х связанных абстрактных таблиц. Таблица «Category» является главной таблицей базы данных и имеет первичный ключ «Number». Таблица «File» является подчиненной и содержит первичный ключ «Num». Связь таблиц осуществляется посредством поля «item», содержащегося в главной таблице «Category».
Таблица «Category» предназначена для хранения записей, содержащих информацию о категориях графических объектов (текстура, карта, объект и т.д.). Таблица имеет следующие поля:
Поле «Number» хранит счетчик категории;
Поле «Name» предназначено для хранения наименования категории;
Поле «Comment» - подробное и уникальное описание категории;
Поле «item» представляет собой ссылку на вложенную таблицу «File».
Таблица «File» предназначена для хранения идентификатора и пути для доступа к графическим файлам заданной категории. Таблица имеет следующие поля:
Поле «Num» - номер файла в категории по порядку;
Поле «Name» хранит признак графического файла, уникально идентифицирующий его содержание;
Поле «Comment» содержит уникальное подробное описание содержимого графического файла;
Поле «Path» предназначено для хранения физического пути к графическому файлу.
База данных представляет собой набор дескрипторов на языке XML. Для реализации принципов построения базы данных, можно воспользоваться следующими метками языка XML:
<DATAPACKET Version="2.0"> - дескриптор определяет саму базу данных.
<METADATA> - дескриптор для объявления таблиц и полей базы данных.
<FIELDS> - дескриптор для определения набора поле, т.е. таблицы базы данных.
<FIELD attrname="" fieldtype=""/> - дескриптор для определения поля базы данных с именем «at-trname» и типом хранимых данных «fieldtype».
<FIELD attrname="item" fieldtype="nested"> - дескриптор указывает на вложенность одной таблицы в другую, т.е. реализует связь главный-подчиненный.
<ROWDATA> - дескриптор для заполнения полей таблицы.
<ROW> - дескриптор для определения значений полей таблицы.
<ROWitem/> - дескриптор для определения значений полей вложенной таблицы.
!!! Каждый дескриптор имеет закрывающий тег и должен быть закрыт.
Графические данные хранятся в виде файлов, разбитых по категориям, на жестком диске или физическом носителе в каталоге «BD». Каталог «BD» размещен в той же директории, что и база данных. Он со-
держит 3 подкаталога, соответствующие категориям (текстуры, карты, модели): «Textures», «Map», «Mod-els». Подкаталог «Textures» содержит графические файлы текстур, применяемых в проекте «Полигон»: aaa.tga, bbb.tga, ccc.tga, eee.tga, textureold.tga, sky.tga, sky2.tga, sky3.tga, sky4.tga, sky5.tga. Подкаталог «Map» содержит карты, посредством которых строится проект «Полигон»: polygon.raw,
indexway.raw. Подкаталог «Models» содержит все графические трехмерные объекты, размещенные в проекте «Полигон»: bbridje.3ds, ej.3ds, garaj.3ds, ruin.3ds, tank.3ds, hendgehog.3ds.
Ссылка «Refer» показывает, что база данных хранит уникальный идентификатор и путь к графическому файлу в каталоге «BD».
База данных имеет возможность редактирования и добавления данных. Входным данным для главной таблицы базы данных служит новая уникальная категория графических объектов, введенных в состав проекта «Полигон». Входным данным для подчиненной таблицы базы данных служит уникальная ссылка на новый графически файл в существующей категории.
Графические файлы, в силу расширяемости проекта «Полигон», также могут быть добавлены, отредактированы или удалены из графической базы данных. Входными данными служат новый графический файл, отнесенный к существующей категории и размещенный в соответствующей поддиректории в каталоге «BD», или новая уникальная категория, созданная в виде отдельной поддиректории в каталоге «BD».
Графическая база данных создана для учета и хранения графических объектов и обеспечивает доступ к графическим файлам на основе их содержательной части. В ходе решения проект разбит на 2 логические части: информационную и графическую. Информационная часть выполнена в виде базы данных с архитектурой «главный/подчиненный» с помощью XML-технологии.
Графическая база данных предназначена для дизайнера, создающего 3-х-мерную карту для системы реального времени.
Заключение
Разработанный проект предназначен для систем реального времени отображения трехмерных пространственных объектов.
Проект состоит из 2-х частей: база данных «PolygonBD.xml» и графические файлы «BD». ГБД позволяет вводить, хранить, редактировать, удалять и просматривать упорядоченный набор графических файлов.
Графическая база данных активно используется в составе системы отображения трехмерных пространственных объектов «Полигон» в виде интегрированного компонента.
ЛИТЕРАТУРА
1. Лабин С. М. Доклад «Инструментальные средства управления технологической инфраструктурой организаций теплоэнергетического комплекса на базе программных продуктов STAR». -http://iac.spb.ru/shablon.asp?subpage=122&sem=102&people=121.
2. Барабанов В., Лыткина Л. Техническое перевооружение мельницы с использованием графических баз данных. - http://valcerez.narod.ru/any/proektirovanieZ3.htm.
3. Кандрашин Д. Е., Кимеев В. М. Возможная структура графической базы данных и простейшая типология этнографических предметов музейных коллекций. - http://x.archaeology.nsc.ru/Home/pub/Data/
?html=6.html&id=1.
4. Пролеткин И. В. Об опыте работы по созданию пилотного проекта геоинформационной системы «ГИС-Недвижимость г. Балаково». - http://www.sgu.ru/ogis/gis_otd/publ4 8.htm.
5. Справка приложения Altova XMLSpy® 2005.
6. Еременко А. В., Долгова И. А. Программирование в компьютерных сетях. Библиотека методической литературы. - http://172.16.30.30/ivs/index.html.