УДК 004.651.54/004.652
И. А. Микляев
ФОРМАЛИЗОВАННОЕ ОПИСАНИЕ ОСНОВНОЙ СТРУКТУРЫ ПРЕДСТАВЛЕНИЯ ДАННЫХ МАТРИЧНОЙ УНИВЕРСАЛЬНОЙ ОБЪЕКТНО-РЕЛЯЦИОННОЙ БАЗЫ ДАННЫХ
Введение
Современные автоматизированные системы обработки информации должны работать с любыми традиционными базами данных (БД), независимо от их моделей данных. Ключевой проблемой при этом является разработка таких структур представления данных (СПД) для БД, которые были бы совместимы, как минимум, со всеми основными СПД традиционных моделей данных.
Предлагаемая нами универсальная модель БД даёт возможность поиска единого стандарта СПД, в основу которой, конечно же, должна лечь реляционная СПД, доминирующая в области разработки информационных систем.
В реляционной модели все данные логически структурированы внутри отношений (таблиц). Каждое отношение имеет имя и состоит из именованных атрибутов (столбцов) данных. Каждый кортеж (строка) данных содержит по одному значению каждого из атрибутов. Большое преимущество реляционной модели заключается именно в этой простоте логической структуры, хотя, конечно же, за этой простотой скрывается серьезный теоретический фундамент.
Универсальная модель БД
Объектная декомпозиция бизнес-среды предполагает получение ответов на три основных вопроса [1]:
1. Что необходимо описать?
2. Что необходимо приписать?
3. Какие значения принимает то, что будет приписано?
В стандартных реляционных СУБД эти вопросы устанавливаются при формировании кортежа (записи таблицы). Первый вопрос - это определение таблицы и строки таблицы, в которую вносится информация. Второй вопрос определяет поле, которому приписывается значение -вопрос третий.
Следующий вопрос расширил элемент кортежа с двух составляющих (имя атрибута и его значения) до четырёх.
Для учета того, что все развивается во времени и некоторые свойства могут иметь место только в определенный момент времени, целесообразно поставить вопрос:
4. В какой период действует данная информация?
Таким образом, получаем логическую модель универсальной БД с определением следующих сущностей (рис. 1):
1. Сущность (первый вопрос).
2. Экземпляр сущности (первый вопрос).
3. Параметр (второй вопрос).
4. Принадлежность (указывает, какие характеристики могут быть использованы при описании той или иной сущности, т. е. ограничения второго вопроса).
5. Возможное значение параметра (третий вопрос).
6. Характеристика экземпляра сущности (основное хранилище информации).
Рис. 1. Логическая модель универсальной БД
Формализованное описание реляционных СПД
Известно, что реляционная модель данных - это множество нормализованных отношений (таблиц), к которым применимы операции реляционной алгебры [2]. Единственным средством структуризации данных в реляционной модели является отношение [3]. Одним из основных преимуществ реляционной модели является ее однородность. Все данные рассматриваются как хранимые в таблицах, в которых каждая строка имеет один и тот же формат [4].
Интенсионал реляционной БД задается реляционной схемой, состоящей из одной или нескольких схем отношений. Схема отношения задается именем отношения и именами соответствующих доменов. Выделяют следующие реляционные СПД: имена отношений, имена атрибутов, значения. Рассмотрим формализованное описание реляционных СПД. Пусть А - это множество имен отношений [5]:
А = {а1,а2,...,а1,...,а1},
"а е А зв1 = ^..., ъщ,..., },
"ьу е в ЗСЙ = 1,с1Н2,...,у ,...,Сук },
(1)
(2)
(3)
где / = 1,1; у = 1, Jг- ; к у = 1, К у ; Д - это множество имен атрибутов отношения а;; Су - это
множество значений атрибута Ъу отношения а;.
Пусть 2 - множество имен типов наборов-связей [5]:
г = z2,..., zl,..., },
"21 е г ЗУ1 = { у12,_ у1щ ,..., у1М1
е г $Х1 хг2,...,■%,,...,хш
},
(4)
(5)
(6)
где I = 1, Ь ; ш1 = 1,Мг ; п1 = 1, N и ^ - это множество реализаций записей-владельцев набора-связи типа 1\ и Х\ - это множество реализаций записей-членов набора-связи типа ц. При этом
"21 е % ${< у1т;, х1п; > |у1т; е УI, х1п, е Х1 }. (7)
}
Распределённые БД
При формировании единой структуры БД в первую очередь необходимо определиться с масштабами самой крупной структуры. В разрабатываемой нами МУОРБД за основу была взята задача о возможности поддержки одновременной работы сразу с несколькими БД.
Для реализации упорядоченной совокупности МУОРБД организован ещё один внешний уровень над множеством отношений A—D, т. е.
D = (d1, d2,...,db..., dL }, (8)
где di - отдельная МУОРБД.
Следовательно, выражения (1)-(3) преобразуются:
"di е D $Ai = ^1^ai2,...,aUi ^.^aUi }, (9)
"aii е Ai $Bii =^11 bii 2,..., biij biiJ}, (10)
"biij е Bii $Cij ={ciiji,ciij2,...,ciijk,...,ClijK}. (11)
Впоследствии матричные элементы МУОРБД имеют пять измерений с двумя измерениями детализации, поэтому детальное описание индексов (1)-(3) из формул исключим.
Взаимосвязь элементов информации
В МУОРБД существует возможность формировать сложные единицы информации, для этого устанавливается пятое измерение. Это не противоречит свойствам атомарности реляционных БД, т. к. простейшая единица информации остаётся единой и неделимой, а сложные единицы информации в МУОРБД - это не что иное, как просто совокупность простейших единиц информации. В реляционных моделях данных это достигается двумя таблицами с простой связью «один ко многим».
Получаем:
"Ciijk е Ciij $Eiijk = { eiijk1, eiijk2, ..., eiijkp, ..., CiijkP }. (12)
Компоновка в одной пятимерной матрице
Концепция формирования МУОРБД основывается в первую очередь на компоновке реляционной СПД (8)-(11) и (4)-(7) в единой матричной структуре, т. е. метаданные представляются в той же форме, что и содержательная информация реляционной СПД, т. е. метаданные D, A, B и Z размещаются в E.
Для описания метаданных в МУОРБД выделены первые три таблицы, первая таблица хранит наименования таблиц A и коды атрибутов, наименования атрибутов хранятся во второй и третьей таблицах. Во второй размещены служебные предопределённые наименования атрибутов, которые обрабатываются системой управления МУОРБД (СУМУОРБД). Они используются для описания метаданных и для некоторых служебных описаний данных таблиц пользователя (например, определение цвета, шрифта или формы доступа к отдельной единице информации таблиц пользователя и другие функции, которые определены СУБД и доступны пользователю). Вторая таблица закрыта для изменения пользователем и доступна только разработчику СУБД, что позволяет модернизировать СУБД без какого-либо вмешательства в информационное поле пользователя.
Третья таблица хранит наименования атрибутов, которые вносит разработчик или пользователь при формировании БД.
Таким образом, получаем следующие тождества:
Ai = Ei111 или aii = ei1i11, (13)
biij = ei1i( j+1)1 , (14)
ciijk = ei (i+3) jk1 . (15)
Динамический кортеж МУОРБД
Кортеж реляционной БД представляет собой совокупность пар из атрибутов и их значений, соответствующих определённой строке таблицы:
кОПегк1т = фй : стц'; Ъ2 : т; Ъг3 : сшг3; ^ Ъгу : Стгу '; .- Ъи : СmгJ) . (16)
Нужно заметить, что для реляционных БД при заданном множестве атрибутов В кортеж имеет структуру с постоянным количеством элементов (пар «имя атрибута : значение»).
В объектно-ориентированных БД количество варьируется по мере необходимости для описания экземпляра (строки) объекта (сущности-таблицы).
В МУОРБД структура кортежа углублена на одно измерение, и его элемент расширен с двух составляющих до пяти:
е1ет _ ко^гт {е/1г(у+1)г : е/ткг : Б /г Нткг : Б1о Нткг : И'г//ткг }, (17)
где е/1(у+1)г - ссылка на (у + 1) поле таблицы г в БД /; е/гткг - значение; Б/Г цткг, цткг - границы времени ограничения действия информации элемента кортежа; Иг/1ШкГ - номер родительского
элемента в кортеже, предназначен для древовидной структуры сложной единицы информации.
Таким образом, кортеж в МУОРБД значительно расширен по сравнению с кортежем из реляционной и с кортежем из объектно-ориентированной СПД. Появилась возможность хранить информацию не в одной паре атрибут : значение, а в неограниченном множестве связанных между собой пар без создания дополнительных сущностей, не имеющих реального самостоятельного смысла.
Каждая простейшая единица информации описывается по необходимости временными границами действия, что очень актуально. Например, очень актуальный вопрос в любой информационной системе, работающей с кадрами - смена фамилии индивида. Необходимо хранить и новую фамилию, и старую, причём при переходе во временной срез, где действовала старая фамилия, должна отображаться она, в соответствии с выпущенной документацией, в новое же время действует новая фамилия. В реляционных БД требуется создать дополнительную малоиспользуемую сущность со старыми фамилиями и значительный программный комплекс в приложениях для их учёта, здесь же СУМУОРБД сама предоставляет информацию в соответствии с временным срезом, в котором работает приложение.
Реализация операций сложения и умножения множеств
В концепции структуры кортежа МУОРБД реализованы две операции над множествами: суммы (союз «или») и умножение (союз «и»).
Сумма элементов, как уже говорилось, достигается вводом пятого измерения.
Умножение возложено на пятую составляющую элемента кортежа МУОРБД, отвечающую за номер родительского элемента. Она позволяет реализовать последовательную связь элементов.
Пример реализации объединения из проекта информационной системы формирования основного учебного процесса вуза при описании дисциплины учебного плана представлен на рис. 2. В правой таблице представлен полный кортеж для дисциплины учебного плана «Иностранный язык». В шестом и седьмом элементах кортежа объединены пары атрибутов и их значения «Семестр», «Вид занятия», «Количество часов» и «Вид контроля», причём атрибут «Количество часов» установлен в последовательность атрибуту «Вид занятия».
Рис. 2. Список дисциплин учебных планов в универсальном приложении МУОРБД
Универсальный тип данных
Основополагающим шагом в создании СУБД МУОРБД является разработка универсального типа данных. В БД типа XML таким типом является строчный, который легко читается и обрабатывается, но является очень громоздким. Для работы с большими объёмами данных необходим универсальный тип, не уступающий стандартным типам.
В данной работе универсальный тип данных разработан на основе понижения системы счисления символов в поле БД, основанного на статистической информации об их использовании.
При сохранении информации формируется ключ поля, состоящий из последовательности символов, задействованных в поле. Таким образом, получается меньшая кратность для хранения информации, соответствующая размеру ключа плюс 1 [7].
Теперь имеется возможность не заниматься определением типа данных для выбора формы физического представления, а создать оптимальную стандартную систему размещения информации. Такой системой выбран динамический массив типа байт, который и размещается в седьмом измерении матрицы МУОРБД.
Матричное представление МУОРБД
Таким образом, итоговая семимерная матрица, состоящая из шести динамических массивов и шестого статического массива, отвечающего за элемент кортежа (17), представлена на рис. 3.
array[0..4] of {Атрибуты сущности "Характеристика экземпляра сущности"}
Рис. 3. Структура основного массива МУОРБД
Организация связей в МУОРБД
Связь между таблицами (4)-(7) в реляционной СПД есть не что иное, как логическое соглашение, что значение внешнего ключа соответствует значению первичного ключа в таблице, на которую ссылаются. Это касается типов связей «один ко многим» и «один к одному». Связь «много ко многим» реализуется чаще всего через дополнительную таблицу со связями «один ко многим».
При образовании связи имеется в виду, что запись в справочной таблице есть значение для записи второй таблицы. Например, если при описании ученика используется внешний ключ, связанный с таблицей «Класс», то это означает, что у конкретного ученика есть атрибут «Класс» со значением конкретного класса.
Таким образом, для образования связи между сущностями достаточно установить атрибут одной таблицы, имеющий значения, соответствующие строкам второй таблицы, т. е. организация связи между таблицей] и таблицей / выглядит следующим образом:
Ь/ ^ Яц ,
или, исходя из преобразований (8)-(12), следует:
%_/(я+1)1 ^ в/Ы1 •
(18)
(19)
в наименовании
Записи (18) и (19) означают, что в кортеже по адресу элемента вц/^+1)^
атрибута устанавливается значение объявления названия атрибута. На рис. 4 оно имеет значение «Допустимая характеристика», а в значении атрибута - адрес элемента описания таблицы, на которую устанавливается ссылка.
Рис. 4. Форма администрирования МУОРБД
Например, для сущности «Дисциплина УП (учебной программы)» в пункте 3 (правая таблица) установлена связь с сущностью «Учебный план».
Заключение
Представленные выше преобразования позволяют сделать следующие выводы:
1. Все действия, вытекающие из реляционной СПД, ведутся только в сторону расширения состава структурных составляющих базы данных, т. е. реляционная база данных может
быть полностью размещена в МУОРБД без каких-либо изменений в структуре. В этом случае просто будет использоваться малая часть измерений и структурных составляющих МУОРБД. Следовательно, реляционные свойства в МУОРБД сохраняются.
2. Наличие единой системы хранения метаданных и данных МУОРБД по описанной системе организации связи позволяет устанавливать связь между метаданными и данными в том и другом направлении.
3. Адресная организация связей открывает и большой спектр других форм связей между данными без участия метаданных, т. е. можно из одного элемента МУОРБД обратиться к другому элементу без организации традиционной связи. Такие допущения недостаточно изучены и требуют более сложной системы контроля целостности информации. Поэтому на данный момент такие действия ограничены системой управления МУОРБД.
4. Связь «много ко многим» становится основной связью в МУОРБД за счёт динамической структуры кортежа, а связи «один ко многим» и «один к одному» - частный случай связи «много ко многим», устанавливающиеся ограничением разработчика при формировании базы данных. При организации связи «много ко многим» без дополнительных служебных сущностей (таблиц) сохраняется информация о том, какая таблица является родительской, а какая дочерней, поэтому механизмы контроля целостности данных не требуют значительных доработок.
5. Структура описания сущностей практически полностью сходна с описанием объектов в объектно-ориентированных средах. Для описания атрибутов (полей) установлен параметр «Допустимая характеристика», для описания методов - параметр «Действие», код метода может быть в виде SQL-запросов или других операций обработки данных, либо в виде программного кода, расположенного в модулях, подключаемых к универсальному приложению. Соответственно, имеется возможность реализовывать их в различных средах программирования. Но эта тема выходит за рамки данной статьи.
СПИСОК ЛИТЕРАТУРЫ
1. Микляев И. А., Ундозерова А. Н., Кудаева М. В., Универсальная логическая модель базы данных // Вестн. Поморского ун-та. Сер.: Естественные науки. - 2010. - № 1. - С. 93-99.
2. Першиков В. И., Савинков В. М. Толковый словарь по информатике. - М.: Финансы и статистика, 1991. - 543 с.
3. Цикритзис Д., Лоховски Ф. Модели данных. - М.: Финансы и статистика, 1985. - 334 с.
4. Мейер Д. Теория реляционных баз данных. - М.: Мир, 1987. - 608 с.
5. Варламов О. О. Эволюционные базы данных и знаний для адаптивного синтеза интеллектуальных систем. Миварное информационное пространство. - М.: Радио и связь, 2002. - 282 с.
6. Конноли Т., Бегг К. Базы данных. Проектирование, реализация и сопровождение. Теория и практика. -М.: Изд. дом «Вильямс», 2003. - С. 1440.
7. Микляев И. А. Универсальный тип данных баз данных. Свидетельство Объединённого фонда элек-
тронных ресурсов «Наука и образование» (ОФЕРНиО) № 15405. - 2010.
Статья поступила в редакцию 8.11.2010
FORMALIZED DESCRIPTION OF BASIC STRUCTURE OF REPRESENTATION OF MATRIX UNIVERSAL OBJECT-RELATIONAL DATABASES
I. A. Miklyaev
A formal description of the relational structure of data representation (SRD) is expanded by its foreign level, corresponding to a set of databases that allows simultaneous work with several matrix universal object-relational databases (MUORDB). In MUORDB the possibility of formation of complex units of information is realized, for this the fifth dimension has been set. This does not contradict the properties of atomicity of relational databases. The concept of MUORDB formation is based first on the layout of the relational SRD in a joint matrix structure, i.e. metadata are represented in the same form as substantive information relational SRD. In MUORDB the structure of the tuple is deepened by one dimension and its element is extended from two to five components: a reference to a field (attribute) of the table, meaning, the boundaries of time of limited information relevance of the tuple element, the number of the parent element in the tuple, designed for tree-like structure of complex information unit. The fundamental step in creating a MUORDB database is to develop a universal data type. The value of the generic type is placed in a dynamic array of byte type, which hosted at the seventh dimension of the MUORDB matrix. Thus, the final seven-dimensional matrix, consisting of six dynamic arrays and the sixth static array responsible for the tuple element is obtained.
Key words: designing of the control systems of databases, unification of a toolbox for information structuring, universal type of data, universal database.