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

Область техники
Заявленная система относится к средствам представления данных в информационных базах, предназначенных для упорядоченного хранения данных об объектах, манипулирования данными, анализа, обработки и обеспечения удовлетворения запросов об объектах пользователей.
Заявленная система может быть использована для хранения информации об объектах предметной области в реляционной базе данных, при этом указанная информация может иметь любую заданную структуры.
Предшествующий уровень техники
Известны системы представления данных, содержащих информацию об объектах, основанные на реляционной модели представления данных.
Физическая структура реляционной базы данных может быть представлена как блоки данных, включающие записи заданной структуры, содержащие информацию о предметной области, (т.е. о предметах и действиях, информацию о которых необходимо сохранить в базе данных), взаимосвязанные между собой, таким образом, что в результате группирования они представляются в виде таблиц. Используя общие характеристики в блоках данных, в частности в таблицах, например такие, как уникальный ключ
исходной записи можно преобразовывать данные между собой, например, воспроизводить ту или иную таблицу реляционной базы данных (ТИОРИ-Т.  ДЖ. Проектирование структур баз .данных, М., МИР, 1985, с.18-19).
Таблицы данных реляционной базы являются узлами, предназначенными для записи характеристик объектов предметной области.
Данные в реляционной базе данных представленны в виде множества таблиц (или отношений в терминах реляционной модели), обладающих следующими свойствами и имеющих следующую структуру.
Таблицы имеют так называемый заголовок (или схему отношения), включающий набор имен столбцов (атрибутов) и множество строк. Строки состоят из полей и каждому полю отдельной строки можно поставить в соответствие имя столбца (атрибуты). Поле строки может содержать скалярное значение одного из поддерживаемых системой типов данных.
В реляционной базе данных все информационное содержимое базы может быть представлено только явным заданием значений данных, содержащихся в таблицах.
Следствием этого является тот факт, что для того, чтобы извлечь из таблицы определенную запись необходимо явно указать определенное значение поля /или набор полей/, которое однозначно идентифицирует эту запись в данной таблице. Такое поле или набор полей в системе называют ключом таблицы.
Т.о. таблицы как узлы записи не могут содержать повторяющиеся строки.
Выполнение указанных требований позволяет представлять данные реляционной базы посредством математической модели, являющейся основой для современных реляционных баз.
В то же время, если же исходить из необходимости адекватности описания предметной области, то реляционная база данных обладает рядом ограничение:
- поле в таблицах содержит одно и только одно значение предметного типа, поле должно содержать значение одного из поддерживаемых системой типов объектов, в реляционной базе таблицы не могут также содержать повторяющие строки. Однако трудно представить систему, содержащую все необходимые данные для адекватного представления описываемой системы предметной области.
В настоящее время идет процесс поиска систем представления данных удовлетворяющий следующим условием:
Обеспечение заданного уровня абстракции, т.е. степень достаточности данных при адекватном описании объекта и обеспечения уровня строгости представления реляционных систем.
Техническим результатом заявленной системы является осуществление использования реляционной базы данных для представления, сохранения и поиска данных, при этом все данные в базе данных описываются как объекты произвольной структуры, и все данные, имеющиеся в базе хранится в виде реляционных переменных.
Техническим результатом также является преодоление ограничений в представлении данных в реляционной системе, что расщиряет диапазон представления данных.
Заявленная система позволяет также повысить уровень абстракции предметной области.
Заявленная система обеспечивает возможность повторения записей и использования группы повторений. Записи заявленной системы могут содержать любое количество значений - элементов записи - входящих в одно поле.
Записи заявленной системы могут содержать поля, которые в свою очередь также можно рассматривать как записи, имеющие некоторую структуру.
Систеьла позволяет содержать идентичные записи одного типа объектов.
Система разрешает эту ситуацию путем снабжения записи уникальным идентификатором и при поиске этой записи обращение происходит по этому идентификатору.
Технический результат достигается тем, что в системе представления данных заданной структуры в реляционной базе данных, состоящей из узлов для записи характеристик объектов, включающих таблицы данных реляционной базы, и содержащей блоки данных заданной структуры об объектах, включающие идентификаторы и характеристики объектов, в строки указанных таблиц данных введены дополнительные идентификаторы, взаимосвязанные с соответствующими идентификаторами объектов блоков данных заданной структуры, в реляционную базу данных введен узел для записи, включающий таблицу, строки которой содержат указанные дополнительные идентификаторы и другие элементы записи взаимосвязанные с характеристиками соответствующих объектов указанных блоков данных.
На фиг.1 представлена функциональная схема заявленной системы представления данных.
В систему входит реляционная база данных, содержащая узлы 1 для записи характеристик объектов, включающие таблицы 2 данных. Система содержит блоки 4 данных заданной структуры, включающие данные об объекте, указанные блоки данных содержат идентификаторы 3 и записи характеристик объектов (на чертеже не показаны). Строки 5 таблиц 3 реляционной базы данных снабжены дополнительныьли идентификаторами 7, взаимосвязанными с соответствующими идентификаторами 3 блоков данных 4 заданной структуры. Реляционная база данных содержит узел 8 для записи включающий таблицу 28, строки 5 которой содержат дополнительные идентификаторы 7. Идентификаторы 7 и другие элементы записи таблицы 28 (на чертеже не показаны) взаимосвязаны с характеристиками соответствующих объектов блоков данных. Система содержит средство 9 управления базами данных, связанное по щинам 10, 11 и 12 с блоками 4 данных
данной структуры, узлами 2 и 8 для записи и шиной процессорной системы (на чертеже не показаны).
Для пояснения технической сущности заявленной системы и описания ее работы следует определить основные понятия, используемые в базах данных.
Понятие «сущность применяют в случае, когда описывают определенную характеристику объектов, часть информации о состоянии объекта в процессе определенного взаимодействия этих объектов с другими объектаьди окружающего мира.
Описывая тип объектов можно использовать описанные сущности.
Тип можно определить как осмысленную совокупность (схему) сущностей, возможно находящихся в определенных отношениях (связанных) с сущностями других типов. Каждый тип объектов может включать в себя любое число любых сущностей, и каждая сущность может входить в любое число типов. Последнее предположение говорит о взаимной ортогональности пространства определения сущностей и пространства определения типов объектов.
Тип объекта определяет и описывает его структуру. Для типов можно ввести понятие наследование. Тип В наследует Тип В (является производным от типа А), тогда, когда тип В содержит такие же сущности, что и.тип А, описываемые той же, что и в типе А схемой сущностей и, кроме того, может содержать другие сущности.
Опищем тип А объекта, включающий в себя поле xi сущности X. Опишем производный тип В, включающий поле Х2 той же сущности X и поле yi другой сущности Y. Создадим объект Од типа А идентифицируемый идентификатором 01DA и объект ОВ типа В идентифицируемый идентификатором ОЮв, на фиг.1 это идентификаторы 3 и 14 соответственно.
Пространство заявленной системы и взаимосвязь сущностей, типов и идентификаторов типов можно представить в виде многомерного пространства. определ При в блоках
Адресное пространство (пространство OID) Sold этом проекция взаимосвязей для типов объектов А и В данных заданной структуры имеет следующий вид. Таблица 2. Пространство определения сущностей Sr ОС5ъект Оа Объект Ов Таблица 3.
Адресное пространство (SoiD)
Видно, ЧТО данная проекция является блоками данных произвольно заданной структуры в виде блоков 4 данных с идентификаторами 3 и 14 и характеристиками объектов в виде элементов xi, Х2, yi сущности X и Y. ид оп ре
Адрмнм
n|JOCTp«HCrHO Otj«ji
где пунктирные линии показывают к какому типу, какой сущности и к какому узлу записи принадлежит тот или иной элемент записи.
При этом если для каждой сущности X или У определить ключевое поле (или поля), позволяющее однозначно идентифицировать любой элемент данной сущности, то можно сказать, что эта сущность является реляционной таблицей (отнощением) и каждый элемент (запись) может быть идентифицирован следующим выражением
1)имя таблицы данной сущности X;
2)значение ключа однозначно идентифицирующего этот элемент (запись) внутри таблицы Для однозначного определения элементов каждого из ифицируемых блоков данных заданной структуры необходимо елить следующее из двух частей. 1)OID - уникальный идентификатор блока данных заданной структуры, служащий для адекватного описания объекта предметной области. 2)Положение элемента в схеме сущностей, описывающий указанный блок данных, т.е. его место в уникальной структуре (типе). Каждому полю каждого типа можно поставить в соответствии еще один идентификатор FID (Field ID) , определяющий семантическое значение этого поля в контексте типа объекта - положение поля в схеме типа. Проекция взаимосвязей заявленной системы на плоскость ионной базы имеет следующий вид. I Сущность Y ;  Cyu4HOcn.X ; (OmouwHiMY) ; ;(OmoiMHinX) Таблица 4. Прострмспо опрвдшшнт 91ЧИС1Стей(3|0
Таким образом, можно сказать, что каждый элемент записи является:
1)записью таблицы реляционной базы данных
2)полем записи заданного типа.
Следует также пояснить описание идентификаторов и типов в терминах реляционных систем. Введем понятие сущность идентификатора (OID). Представим адресное пространство заявленной системы в виде таблицы, имеющей поле OID в качестве первичного ключа (поиска). Поля OID, имеющиеся в любой из таблиц, содержащих данные объектов (таблицы данных), должны быть объявлены как внешние ключи, ссылающиеся на поле 01D таблицы 5.
СТабпм 010): Тавпмщ  Z: iТабпмщУ Z
Как было указано вьше каждому полю каждого типа можно поставить в соответствие идентификатор FID (Field ID) ,
определяющий семантическое значение этого поля в контексте %
типа объекта.
При этом в соответствующую таблицу системы каждому полю любого из описанных в системе типов ставиться в соответствии уникальный идентификатор FID ID. Имеющиеся в любой содержащей пользовательские данные таблице, поле FID должно быть объявлено как внешний ключ, ссылающийся на поле FID ID таблицы SCHEME.
Таблицы типов, в данном случае таблица SCHEME (табл.б) являющиеся фактически каталогом типов, вместе с полем FID, существующем во всех таблицах данных, являются механизмом, позволяющим определить семантическое значение (смысл) записи в контексте объекта, атрибутом которого данная запись является. Атрибуты базового и ссылочного типа также могут быть представлены как атрибуты табличного типа. Также можно
предположить, что спроектированные соответствующим образом таблицы типов могут сохранять всю информацию о типах объектов (константы, методы и т.п.)
После введения таблицы 01D и таблиц SCHEME еляционной базы система примет следующий вид.
ТаапмцшС .)
(Т«Спмц Х)
Каждая запись характеризуется следующими параметрами: Значение OID определяет запись как атрибут некоторого
объекта. Записи имеющие одинаковый OID принадлежать одному
объекту, существование которого определяется существованием
записи таблицы OID (таблица 5).
Значение FID определяет семантическое значение данной
записи в контексте класса объекта, атрибутом которого она
является.
Таблица, содержащая данную запись, определяет ее
сущность (реляционный смысл).
В таблице реляционной базы данных, входящей в заявленную систему может существовать произвольное количество записей, имеющих одинаковое значение идентификаторов OID и FID. Т.о. в соответствующей данному OID записи заявленной системы в поле, которому соответствует данный FID, может содержаться любое количество элементов данных и тем самым внутри записи заявленной системы разрешаются группы повторений.
Кроме того, если в число типов, поддерживаемых реляционной базой данных, входящий в заявленную систему, входит тип идентификатора объекта (тип OID), то вхождение поля данного типа в запись указанной реляционной базы логически можно представить как вхождение объекта.
Таблица б.
Г,SCHEME).
(Таблица Y)
I FMtD/M
FMIDfci
FMIDba
FMIP«a
идентифицируемого OID, содержащимся в этом поле, в данную запись реляционной базы данных и тем самым в запись заявленной системы, в которую указанные записи реляционной базы входят.
Таблица 01D и таблицы типов содержат информацию позволяющую объединить записи различных таблиц содержащих данные (таблицы данных) в виде единой записи об объекте предметной области, имеющий структуру и функциональные особенности определяемые типом к которому данный объект принадлежит. Поскольку любая структура может быть нормализована, можно предположить, что в системе может существовать запись об объекте с произвольной внутренней структурой.
Таким образом, заявленная система, сохраняя все данные реляционной базы, обеспечивает возможность хранения идентичных записей, возможность использования группы повторения внутри записей, возможность вхождения одних записей в другие, возможность расширения существующих типов записей, в т.ч. за счет множественного наследования. Кроме того, система обеспечивает возможность как навигационного, так и ненавигационного интерфейса, что позволяет использовать
непроцедурные языки высокого уровня.
Система позволяет также расширять существующие реляционные базы данных за счет реляционного доступа к данным, которые имеют практически произвольную структуру.