Научная статья на тему 'Хранение XML-документов в реляционной базе данных'

Хранение XML-документов в реляционной базе данных Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
289
38
i Надоели баннеры? Вы всегда можете отключить рекламу.
i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Хранение XML-документов в реляционной базе данных»

жество индексов атрибутов разбивается на классы, по которым для любого ц С n множество ^-концептов совпадают. Поэтому из каждого класса достаточно выбирать только один индекс атрибутов. Более того, учитывая свойство 4, из всех классов эквивалентных индексов атрибутов достаточно рассматривать только классы, содержащие одномерные индексы атрибутов, и из каждого такого класса выбирать лишь один из одномерных представителей этого класса. Итак, допустим, задан контекст K = (Mn, M1s, р) и стоит задача минимизировать отношение р, сохраняя упорядоченное множество ^-концептов. Допустим отношение B-зависимости в р разбивает множество из n одномерных атрибутов на k классов, k < n. Если k = n, то р - уже минимальное отношение для множества ^-концептов и любого ц С n. Если k < n, обозначим ц - индексный вектор, все координаты которого соответствуют одномерным представителям блоков этого разбиения. Причём, если в класс входит одномерный индекс атрибута, который в то же время является одной из координат индекса г s, то в качестве представителя этого класса выбираем именно этот индекс. Тогда отношение Z = fijfc (р) С Mjfc является минимальным отношением для множества ¿¿-концептов, ц = is * Jk, на контексте K' = (Mjfc, M1t , Z), упорядоченное множество которых изоморфно упорядоченному множеству ^-концептов на контексте K = (Mn,M1s,р). Причем изоморфизм устанавливается простой проекцией n1t.

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1. Ganter B., Wille R. Formal Concept Analysis. Mathematical Foundations. Berlin: Springer-Verlag, 1999.

2. Вагнер В.В. Теория отношений и алгебра частичных отображений // Теория полугрупп и её приложения. Саратов: Изд-во Сарат. ун-та, 1965. Вып. 1. С. 3-178.

3. Novikov V.E. Formal conceptual analysis within n-ary relation context // Вестн. Сарат. гос. техн. ун-та. 2006. № 3 (15), вып. 2. С. 18-22.

4. Мейер Д. Теория реляционных баз данных. М.: Мир, 1987.

УДК 681.3.06: 519.766.23

А.А. Орел

ХРАНЕНИЕ XML-ДОКУМЕНТОВ В РЕЛЯЦИОННОЙ БАЗЕ ДАННЫХ

Предлагается технология формирования структуры реляционной базы данных на основе схемы некоторого класса XML-документов и технология хранения соответствующих XML-документов в виде данных реляционной базы.

XML-документы позволяют представлять данные со сложной структурой из различных предметных областей. При этом XML-схемы способны зафиксировать структуру некоторого класса документов с учетом используемых

типов и на основании этого выполнить проверку правильности вновь создаваемых документов. Однако ХМЬ-документы, являясь текстовыми файлами, порождают проблему эффективного хранения и поиска информации. В настоящее время имеется развитая технология обработки информации на основе реляционных баз данных, которую желательно применить и для ХМЬ-документов. Следует отметить, что схемы ХМЬ-документов допускают неоднозначное моделирование структуры понятий предметной области. Поэтому представляется целесообразным выбрать из всевозможных ХМЬ-схем такие, которые сохраняют выразительные возможности при моделировании предметной области и допускают эффективное преобразование к реляционной модели данных. Для этой цели будем использовать структуру ХМЬ-документов, предложенную в работе [1] для автоматизации процесса создания ХМЬ-схем на основе предметно ориентированного языка. Особенностью таких документов является то, что они состоят из ХМЬ-элементов, которые либо имеют пустое содержимое, либо представляют структуры, включающие другие элементы. Для представления значений элементов используются атрибуты, среди которых может присутствовать специальный атрибут, именуемый <значение>, который используется для унификации имен вложенных элементов.

При преобразовании схемы рассмотренного типа ХМЬ-документов в структуру реляционной базы данных возникают следующие проблемы.

1. Элементы ХМЬ-документа имеют иерархическую структуру, поэтому необходимо найти способ представления вложенных элементов в таблице базы данных.

2. Количество уровней вложенности элементов в ХМЬ-документе потенциально не ограничено, что может потребовать динамической модификации схемы базы данных при вводе документа. Требуется найти способ хранения документов в базе данных с предопределенной структурой.

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

Для решения первой проблемы хранения в базе данных элементов ХМЬ-документа с иерархической структурой будем использовать таблицы с рекурсивными связями, как это показано на рисунке, представляющем упрощенный фрагмент схемы базы данных для информационной системы кардиологической помощи [2].

Тип Исследования ОбщиеСведения

Признаки

keyPriznaki: INTEGER keylssled: INTEGER

keyPatient: INTEGER Значение: VARCHAR(IOO) Тип: VARCHAR(15) fkeyPriznaki: INTEGER

I

-L___________________

Здесь таблица <Признаки> имеет рекурсивную связь, реализованную с помощью атрибута первичного ключа <keyPriznaki> и связанного с ним атрибута внешнего ключа <fkeyPriznaki>. Данная связь позволяет в таблице хранить значения иерархически вложенных элементов XML-документа. Для значений этих элементов служит столбец <Значение>. Одновременно с первой решается и вторая обозначенная проблема построения схемы базы данных, вызванная требованием неизменности структуры при различном количестве уровней вложенности элементов в XML-документах.

Решение третьей проблемы, связанной с необходимостью хранения в столбце <Значение> таблицы <Признаки> разнотипных элементов осуществляется введением дополнительного столбца <Тип>. При этом значения столбца <Значение> имеют текстовый тип, а значениями столбца <Тип> служат имена типов данных, принятых для конкретной базы данных, такие как: INTEGER, VARCHAR(:), DATE и др. Запросы к базе данных должны строиться с учетом значений обоих столбцов, что несколько усложняет их вид, являясь платой за предопределенность схемы данных.

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

служат для заполнения базы данных. При этом возникает необходимость использования в процессе трансформации XML-документа его XSD-схемы, которая требуется для заполнения столбца <Тип>, определяющего типы данных, необходимых для интерпретации значений столбца <Значение>. Требуется также решить вопрос генерации значений атрибутов первичных ключей, представленных дополнительными элементами, формируемыми для создания конечного в рассмотренной технологической цепочке XML-документа, содержащего все элементы, необходимые для внесения в базу данных. Он представлен XML-файлом, который может быть конвертирован в базу данных с помощью специальных программных средств, например, ALTOVA XML SPY.

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

Работа выполнена при финансовой поддержке РФФИ (проект 03-857034).

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1. Орел А.А. Формально грамматический подход к построению XML-схем // Математика. Механика: Сб. науч. тр. Саратов, 2004. Вып. 6. С. 105-108.

2. Гриднев В.И., Орел А.А., Петров Н.В., Довгалевский П.Я. Маршрутно-групповая технология кардиологической помощи в системе <пациент-поликлиника-стационар> // Проблемы стандартизации в здравоохранении: Тез. докл. М., 2001. С. 113.

УДК 519.4, 519.8

М.В. Пасечник

АНТАГОНИСТИЧЕСКИЕ ИГРЫ С ВЕКТОРНЫМИ ВЫИГРЫШАМИ

В теории игр важное место занимает проблема непустоты множества индивидуально рациональных исходов для различных классов игр [1]. В данной статье рассматривается вопрос о непустоте множества индивидуально рациональных исходов для класса антогонистических игр с векторными выигрышами. Дается также описание их структуры.

Введем некоторые понятия. Основным объектом является стратегическая игра вида

О = (Ж, (Хг)геМ,А, (иг)геМ),

где N = {1,... ,п} — множество игроков, Хг — множество стратегий игрока г, А — множество исходов, иг — бинарное отношение на А, выражающее предпочтения игрока г, Г — функция реализации, представляющая собой

i Надоели баннеры? Вы всегда можете отключить рекламу.