Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Статья1.doc
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
1.08 Mб
Скачать

4. Расширенная модель данных

На основе предложенного подхода разработана расширенная реляционная модель данных, в которой иерархическая модель данных в варианте XML наложена как вторичная поверх реляционной. Это позволяет сохранить строгость реляционной модели и привнести в неё дополнительные преимущества иерархической модели, а также использовать для описания модели как реляционную алгебру, так и языки платформы XML: XML, Relax NG, Schematron, XPath, XQuery.

Основными структурными компонентами разработанной модели данных являются понятие, объект, экземпляр объекта, код экземпляра объекта, отображение.

Объекты соответствуют типам элементов XML-документа, экземпляры объектов – отдельным элементам, а понятия – атрибутам элементов. С другой точки зрения объекты соответствуют реляционным отношениям, экземпляры объектов – кортежам отношений, а понятия – атрибутам отношений (рис. 6).

Рис 6. Структурные компоненты модели данных

Если с точки зрения XML позиция элемента это ключ естественный, то чисто с реляционной точки зрения он видится как ключ суррогатный. В разработанной модели данных этот ключ называется кодом экземпляра объекта.

Для описания связей понятий с объектами, а также связей между объектами вводится ещё одна структура – отображение. Отображение включает схему дерева объектов и дерево экземпляров. Дерево объектов соответствует схеме ХML-документа и может быть описано с помощью языка Relax NG, а дерево экземпляров – множеству ХML-документов, удовлетворяющих этой схеме.

Базу данных предлагается моделировать как совокупность деревьев информационных объектов с горизонтальными связями и со специфичным для каждого объекта набором понятий.

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

В код экземпляра помимо первичного позиционного ключа объекта, включаются также внешние ключи, ссылающиеся на экземпляры-предки данного экземпляра (рис. 7).

Рис. 7. Реализация иерархических связей

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

Горизонтальные связи могут быть реализованы пользователем с помощью механизмов пользовательских потенциальных и внешних ключей объектов.

Иерархической организации данных свойственно дублирование информации и соответственно избыточность данных. Такое дублирование является естественным для человека и должно адекватно отражаться в модели данных. Дублирование информации позволяет отказаться от реализации горизонтальных связей между отдельными деревьями и непосредственно использовать значения. Вопрос о минимизации количества хранимой информации – это вопрос физического уровня, а не уровня модели.

В модели данных предусматриваются ограничения целостности: ограничения типов и понятий, ограничения объектов и ограничения базы данных. Ограничения целостности могут быть описаны с помощью языка Schematron. Благодаря выбранной структуре кодов экземпляров, правила целостности сущностей и правила ссылочной целостности для иерархических связей поддерживаются автоматически.

В модели данных предлагается поддерживать как навигационные операции манипулирования данными, так и спецификационные, так как навигационные операции предоставляют большую гибкость и свободу в реализации конкретных задач. Навигационные операции соответствуют низкоуровневым операциям модели DOM с некоторыми расширениями. Спецификационные операции соответствуют реляционной алгебре с расширением операций на деревья объектов. Спецификационные операции могут быть описаны с помощью языка XQuery.

На основании предложенной структуры кодов экземпляров легко решается задача инвертирования иерархии, реализуется операция проекции общей схемы базы данных по объектам.

Для логической переструктуризации дерева предлагаются механизмы ссылочных и виртуальных объектов.

Ссылочные объекты ссылаются на экземпляры объектов, реально существующие в базе данных, при этом операции манипулирования экземплярами ссылочных объектов поддерживаются системой. Виртуальные объекты позволяют создавать виртуальные деревья объектов. Операции манипулирования экземплярами должны реализовываться пользователем.

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

Разработанная модель данных основывается на базовой реляционной модели данных и модели данных XML и является функциональной полной. Она позволяет манипулировать логическими деревьями с горизонтальными связями, предоставляет средства логической переструктуризации дерева с возможностью представления горизонтальных связей в виде логических деревьев и соответствует предложенной интерпретации модели данных RM/T. Модель также обладает свойством самоописания, что позволяет использовать одни те же операции для манипулирования как данными, так и метаданными.