Реализация внешнего уровня для интерпретации расширенной реляционной модели rm/t
Тимофеев Д.В.
Санкт-Петербургский институт информатики и автоматизации РАН
В данной работе рассматривается реализация внешнего уровня для системы, поддерживающей иерархическую модель данных с горизонтальными связями, которая является интерпретацией расширенной реляционной модели RM/T. Определяется механизм представления базы данных и взаимодействия с базой данных для пользователей системы. Разрабатывается единая инструментальная среда проектирования и использования информационных систем, которая обеспечивает унификацию хранения, представления и обработки данных.
1. Введение
В работе [1] была предложена интерпретация расширенной реляционной модели данных RM/T [2]. Согласно этой интерпретации молекулярные типы RM/T могут быть описаны структурой дерева с горизонтальными связями, дерево должно быть логическим, что позволит легко решать задачи переструктуризации дерева. Для такой структуры должна поддерживаться возможность представления горизонтальных связей в виде логических деревьев. Суррогаты должны служить для упорядочивания кортежей. Также было предложено использовать для описания этой интерпретации модели данных RM/T модель данных XML, наконец, было представлено краткое описание разработанной расширенной модели данных, основанной на модели данных RM/T, для описания которой используется модель данных XML.
В разработанной расширенной модели данных иерархическая модель данных в варианте XML наложена как вторичная поверх реляционной. Это позволяет сохранить строгость реляционной модели и привнести в неё дополнительные преимущества иерархической модели, а также использовать для описания модели как реляционную алгебру, так и языки и стандарты платформы XML: XML [3], Relax NG [4], Schematron [5], DOM [6], XPath [7, 8], XQuery [9].
Основными структурными компонентами разработанной модели данных являются понятие, объект, экземпляр объекта, код экземпляра объекта, отображение.
Объекты соответствуют типам элементов XML-документа, экземпляры объектов – отдельным элементам, а понятия – атрибутам элементов. С другой точки зрения объекты соответствуют реляционным отношениям, экземпляры объектов – кортежам отношений, а понятия – атрибутам отношений (рис. 1).
Рис 1. Структурные компоненты модели данных
Если с точки зрения XML позиция элемента это ключ естественный, то чисто с реляционной точки зрения он видится как ключ суррогатный. В разработанной модели данных этот ключ называется кодом экземпляра объекта.
Для описания связей понятий с объектами, а также связей между объектами вводится ещё одна структура – отображение. Отображение включает схему дерева объектов и дерево экземпляров. Дерево объектов соответствует схеме ХML-документа и может быть описано с помощью языка Relax NG [4], а дерево экземпляров – множеству ХML-документов, удовлетворяющих этой схеме.
Базу данных предлагается моделировать как совокупность деревьев информационных объектов с горизонтальными связями и со специфичным для каждого объекта набором понятий.
Для идентификации отображений, объектов и понятий предлагается использовать уникальные в пределах базы данных короткие коды. Относительно этих кодов определяются ограничения целостности и операции.
Так как задачей является построение логической структуры с возможностью переструктуризации, то и иерархические связи, и горизонтальные связи реализуются только на основе значений понятий, таким образом, все связи являются информационными.
В код экземпляра помимо первичного позиционного ключа объекта, включаются также внешние ключи, ссылающиеся на экземпляры-предки данного экземпляра (рис. 2).
Рис. 2. Реализация иерархических связей
Такой иерархический позиционный первичный ключ определяет уникальность экземпляра не только в пределах родительского экземпляра, но и в пределах любого экземпляра-предка. Используя метод редукции ключа, можно получить доступ к любому предку данного экземпляра объекта. Поэтому, несмотря на избыточность данных, такой ключ является наиболее предпочтительным, он позволяет реализовать и поддерживать иерархические связи автоматически.
Горизонтальные связи реализуются пользователем с помощью механизмов пользовательских потенциальных и внешних ключей объектов.
В модели данных предусматриваются ограничения целостности: ограничения типов и понятий, ограничения объектов и ограничения базы данных. Ограничения целостности могут быть описаны с помощью языка Schematron [5]. Благодаря выбранной структуре кодов экземпляров, правила целостности сущностей и правила ссылочной целостности для иерархических связей поддерживаются автоматически.
В модели данных предлагается поддерживать не только спецификационные операции, но и навигационные операции манипулирования данными, так как они предоставляют большую гибкость и свободу в реализации конкретных задач. Навигационные операции соответствуют низкоуровневым операциям модели DOM [6] с некоторыми расширениями. Спецификационные операции соответствуют реляционной алгебре с расширением операций на деревья объектов. Спецификационные операции могут быть описаны с помощью языка XQuery [9].
В работе [10] были предложены механизмы для логической переструктуризации дерева объектов – ссылочные и виртуальные объекты. Ссылочные объекты ссылаются на экземпляры объектов, реально существующие в базе данных. Виртуальные объекты позволяют создавать виртуальные деревья объектов. С помощью предложенных механизмов реализуются операции произведения и соединения без создания дополнительных структур хранения, решается задача представления горизонтальных связей как логических иерархических, задача инвертирования иерархии.
В работе [11] был предложен механизм интеграции аналитической обработки данных в разработанную модель данных. Согласно этому механизму результатом аналитической обработки становится физическое дерево, в котором уровни представляют собой аналитические срезы, а значения – анализируемые признаки – и в котором совмещаются дерево объектов и дерево экземпляров в рамках единой структуры хранения. В результате по такому физическому дереву может быть автоматически построено специальное отображение с результатами расчёта аналитики.
В работе [12] был предложена реализация физического уровня для системы, поддерживающей разработанную модель данных. В качестве средства для реализации физического уровня предлагается использовать M-системы. Для быстрого чтения экземпляров в последовательности иерархического обхода предлагается в качестве основной структуры хранения использовать кластерный индекс кодов экземпляров. В кластерном индексе экземпляры каждого объекта хранятся в порядке кодов экземпляров вместе с данными экземпляров. Для быстрого поиска требуемых экземпляров реализуются некластерные индексы, которые ссылаются на коды экземпляров кластерного индекса. Для устранения избыточности, свойственной иерархической организации данных, на физическом уровне предлагается выполнять кодирование слов структурированных значений понятий суррогатными кодами.
На основании предложенного подхода разработан инструмент для построения и использования информационных систем qWORD-XML [13].
В данной работе рассматривается реализация внешнего уровня инструмента qWORD-XML. Определяется механизм представления базы данных и взаимодействия с базой данных для пользователей системы.
Современные промышленные СУБД имеют набор интерфейсов к внешним инструментам проектирования и разработки приложений или снабжаются инструментальными средствами собственного производства. В общем случае имеется набор различных инструментов: собственно инструментарий СУБД, среда проектирования базы данных, среда разработки приложений, инструмент для поиска и аналитической обработки данных, генератор отчётов. Соответственно, для построения и использования информационной системы необходимо одинаково хорошо владеть всеми инструментальными средствами, которые могут сильно разниться друг с другом.
Поэтому задачей является разработка системы, которая совмещает эти инструменты в рамках единого универсального визуального инструмента. Это позволит значительно облегчить работу пользователей, ускорить разработку информационных систем и упростить их сопровождение.
