2. Модель данных rm/t
Базовыми семантическими понятиями расширенной реляционной модели данных RM/T являются сущность, свойство, связь, подтип. Связь рассматривается как особый вид сущности.
Сущности имеют типы, которые классифицируются на три категории:
Характеристические сущности выполняют вспомогательную роль в описание некоторой другой сущности. Существование характеристик зависит от существования описываемых ими сущностей.
Ассоциативные сущности выполняют вспомогательную роль в обеспечении взаимосвязи других сущностей. Ассоциации представляют связи типа «многие ко многим».
Стержневые сущности независимы.
Сущности могут иметь свойства, поддерживаются супертипы и подтипы сущностей.
Для идентификации сущностей предметной области используются суррогаты (определяемые системой идентификаторы). Пользователи базы данных могут заставить систему сгенерировать или удалить некоторый суррогат, но они не могут изменять значение суррогата. С введением суррогатов не отменяются ключи, контролируемые пользователями.
Каждому типу сущности соответствует унарное E-отношение (рис. 1). В E-отношении перечисляются суррогаты всех сущностей, которые имеют этот тип и существуют в базе. Свойства типов сущностей представляются P-отношениями (рис. 1).
Рис. 1. E- и P-отношения
Для связи некоторого свойства с типом сущности, а также для связи типов сущностей используются бинарные и тернарные графовые отношения.
RM/T поддерживает определённую атомарную и молекулярную семантику. Атомарная семантика представляется n-мерными отношениями (в крайнем случае, бинарными), которые являются наиболее малыми смысловыми единицами, молекулярная семантика представляется смысловыми единицами большими, чем n-мерные отношения. RM/T поддерживает четыре измерения молекулярной семантики: декартову агрегацию, обобщение, агрегацию покрытия и предшествование событий.
Декартова агрегация – это абстракция, в которой связь между объектами рассматривается как объект более высокого уровня. В RM/T декартова агрегация подразделяется на 3 вида:
Агрегация простых свойств, которая образует некоторый тип сущностей.
Совокупность P-отношений для заданного E-отношения составляет молекулярный тип свойств.
Агрегация характеристических сущностей, которая образует некоторый тип сущностей.
Характеристическая сущность сама может иметь одну или более характеристических сущностей, ей подчиненных. Характеристические типы сущностей, обеспечивающие описание заданного стержневого типа сущностей, образуют характеристическое дерево.
Совокупность характеристических отношений для заданного E-отношения составляет характеристический молекулярный тип.
В данной работе характеристическую агрегацию предлагается естественным образом описывать и представлять в виде дерева типов сущностей (рис. 2).
Рис. 2. Характеристическая агрегация
Агрегация любой комбинации стержневых и ассоциативных сущностей, которая образует ассоциативный тип сущностей.
Совокупность типов сущностей, принимающих участие в заданном ассоциативном типе сущностей, образуют ассоциативный молекулярный тип.
В работе предлагается использовать характеристические деревья в качестве основной структуры данных, тогда ассоциативная агрегация может быть реализована с помощью горизонтальных связей между типами сущностей этих деревьев (рис. 3).
Рис. 3. Ассоциативная агрегация
Вместе с тем ассоциативную агрегацию удобно представлять в виде дерева, такое представление является более наглядным и интуитивно понятным для пользователя. Таким образом, предлагается поддерживать возможность представления ассоциативной агрегации в виде логического дерева.
Обобщение – это абстракция, при которой множество схожих объектов рассматривается как родовой объект (подтипы и супертипы сущностей).
Некоторый тип сущности вместе с его непосредственными подтипами, их подтипами и т.д. образует иерархию обобщения, которая является молекулярным типом.
Иерархия обобщения в общем виде представляет собой решётку типов. В предлагаемом подходе она может быть реализована с помощью горизонтальных связей между типами сущностей характеристических деревьев (рис. 4).
Рис. 4. Агрегация обобщения
Вместе с тем агрегацию обобщения также удобно представлять в виде деревьев.
Агрегация покрытия – это абстракция, при которой разнородные объекты могут связываться по признаку компонентного вхождения в другие объекты.
В предлагаемом подходе агрегация покрытия может быть реализована с помощью горизонтальных связей между типами сущностей характеристических деревьев (рис. 5).
Рис. 5. Агрегация покрытия
Вместе с тем агрегацию покрытия также удобно представлять в виде дерева.
Предшествование событий – это абстракция, которая отражает последовательность некоторых типов событий.
Для представления относительного времени возникновения событий в данной работе предлагается использовать упорядочивание данных, которое может быть реализовано, если суррогаты будут нести дополнительную смысловую нагрузку – будут служить для упорядочивания сущностей.
RM/T включает расширяемый каталог, содержащий информацию об отношениях, атрибутах, доменах и существующих связях между ними. Также RM/T предусматривает специальные операторы над именами, множествами и графовыми отношениями.
В целом RM/T вводит молекулярные смысловые единицы, более крупные, чем отдельные n-арные отношения. Эти смысловые единицы более естественны и интуитивно понятны для человека. Однако механизм реализации расширений является низкоуровневым, что делает модель более мощной и гибкой, но вместе с тем более сложной и ориентированной в первую очередь на программистов, а не на пользователей. Большинство деталей расширения должно быть скрыто от основной массы пользователей. Из-за своей сложности RM/T не получила широкого распространения.
Как было отмечено, характеристическая агрегация может быть описана древовидной структурой, а ассоциативная агрегация, обобщение и агрегация покрытия – горизонтальными связями между типами сущностей этих деревьев. В целом для описания молекулярных типов RM/T в данной работе предлагается введение молекулярной структуры – дерева с горизонтальными связями – поверх атомарной структуры – n-мерного отношения. Такое дерево, очевидно, должно быть логическим, что позволит легко решать задачи переструризации дерева. Кроме того, должна поддерживаться возможность представления ассоциативной агрегации, обобщения и агрегации покрытия в виде логических деревьев. Суррогаты должны служить для упорядочивания кортежей отношений.
Логико-математический аппарат иерархической базы данных с горизонтальными связями, в общем случае, существенно сложнее, чем реляционных – последние лишь частный случай первых. Однако с созданием и развитием платформы XML появилась возможность формального описания иерархической модели с горизонтальными связями.
