Технология раздельного формирования многомерных данных

ИНФОРМАТИКА, ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА И УПРАВЛЕНИЕ INFORMATION TECHNOLOGY, COMPUTER SCIENCE, AND MANAGEMENT

УДК 004.652

DOI 10.12737/19696

Технология раздельного формирования многомерных данных* С. В. Зыкин1, С. В. Мосин2, А. Н. Полуянов3**

1 2 3Институт математики им. С. Л. Соболева СО РАН, г. Новосибирск, Российская Федерация

Technology of separate generation of multidimensional data *** S. V. Zykin1, S. V. Mosin2, A. N. Poluyanov3**

1 2 3Sobolev Institute of Mathematics, Novosibirsk, Russian Federation

Предметом исследования является технология формирования многомерного представления данных с использованием раздельного задания размерностей и мер. Цель — обеспечение максимального уровня автоматизации работы пользователей при формировании новых кубов данных. В ходе проведенных изысканий решены следующие задачи: определена последовательность формирования промежуточных представлений данных; исследована корректность этих представлений; разработаны эффективные алгоритмы формирования представления и проверки корректности. Теоретической основой исследования являются методы межмодельных преобразований данных. При этом в качестве исходной модели данных используется классическая реляционная модель, в качестве целевой — расширенная модель многомерных данных с несбалансированными иерархиями в размерностях. В результате проведенной работы представлена технология формирования многомерных данных. Полученные результаты могут использоваться аналитическими службами различных предприятий в процессе обработки значительных объемов данных. Предложенная технология формирования многомерных данных является развитием традиционных OLAP-технологий.

Ключевые слова: гиперкуб, реляционная база данных, OLAP.

The research subject is the technology of generating the multivariable data representation with using separate formation of dimensions and measures. The purpose of the study is to provide a full level of the user's work automation at the formation of new data cubes. In the course of investigation, the following problems are solved: the sequence of generating intermediate data representations is determined; the correctness of these representations is studied; efficient algorithms for generating the representations and checking their correctness are developed. The theoretical basis is the methods of the inter model mapping. Herewith, a classical relational model is used as a source data model, an extended model of the multidimensional data with unbalanced hierarchies in dimensions - as a target one. The work result is the multidimensional data construction technology. Consequently, the results obtained can be used by the analytical departments at various enterprises in processing large data volumes. The proposed technology of the multidimensional data formation is the traditional OLAP-technologies development.

Keywords: hypercube, relational database, OLAP.

Введение. Исследование OLAP (online analytical processing — аналитическая обработка в реальном времени) предполагает рассмотрение свойств моделей гиперкубов [1-3] и операций их преобразования [2, 4] с целью анализа данных. Особое внимание уделяется построению иерархий в размерностях [2, 3, 5-7], что позволяет гарантировать корректность операций агрегации данных. В работах [3, 5, 7] рассматриваются нормальные формы для многомерных моделей данных, которые позволяют контролировать неопределенные значения (NULL) в иерархиях размерностей.

В большинстве работ предполагается, что кубическое представление данных должно быть постоянно хранимым и периодически обновляемым из операционной базы данных (MOLAP — многомерная OLAP) для минимального времени отклика системы на запросы пользователя. Другой подход заключается в динамическом формировании многомерных данных с преобразованием схемы исходной операционной базы данных в «звезду» или «снежинку» (ROLAP — реляционная OLAP). Общий недостаток этих двух подходов — регламентированность предполагаемых операций анализа данных.

*Работа выполнена в рамках инициативной НИР.

E-mail: szykin@mail.ru, svmosin@gmail.com, andrey.poluyanov@gmail.com

*** The research is done within the frame of the independent R&D.

(U S X <u

и

eö Л

G

^

IS

eö «

IS

X

*

(U

H «

eö X л

(U H IS

о

IS

E 3 и

eö И

IS

eö

S a о

X

S

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

Рассмотрим формализацию задачи. Пусть задана схема базы данных Ш = (Rb R2, ..., Rk}, полученная в результате нормализации отношений [8, 9]. Отношения Ri определены на множестве атрибутов U = (Ab A2, ..., A„}. Пусть [RJ

— схема отношения, множество атрибутов, на которых определено отношение Ri. Предположим, что схема Ш является редуцированной [9], то есть не существует двух отношений таких, что [RJcRJ, при i Ф j. Кортеж t [X] — совокупность значений атрибутов A/eXcR], заданных в кортеже teRi. Неопределенное значение NULL атрибута Aj в кортеже t: t [Aj] = NULL не равно любому другому значению, в том числе другому неопределенному значению.

Многомерное представление будем задавать в виде совокупности размерностей {D1,D2,.,Dd}, где Di — множество расширенных имен атрибутов: RiAj, Ave [RJ; M — множество мер, также заданных в виде расширенных имен атрибутов. Значения Di являются значениями координат гиперкуба, значения M будут располагаться в рабочей области гиперкуба. Для каждой размерности задается ограничение в виде логической формулы Fh

В данной работе предлагается отказаться от необходимости выполнения функциональной зависимости [3, 5, 7, 10, 11]

DiD2...Dd ^ M,

которая означает, что любому составному вектору значений размерностей D1D2...Dd соответствует не более одного вектора значений мер M.

Отказ от зависимости (1.1) позволит использовать содержательные (не ключевые) атрибуты в размерностях и иметь в одной ячейке гиперкуба несколько значений (список) атрибута RiAjeM. Списки значений используются в анализе данных, когда значения параметров не надо соотносить с объектами.

Пример 1. Рассмотрим фрагмент базы данных лечебного заведения. Задано множество атрибутов: A1 — № пациента, A2 — ФИО пациента, A3 — № показателя, A4 — показатель, A5 — значение показателя, A6 — № дня получения показателя, A7 — группа пациентов. На предложенном множестве атрибутов существуют следующие зависимости: DEP = {A!^A2A7, A3—>A4, A1A3A6—*A5}. По правилам построения нормальных форм [8, 9] будет получена следующая схема базы данных:

— пациенты — R1 (Дъ A2, A7);

— перечень анализов — R2 (A3, A4);

— результаты анализов — R3 (Ab A3, A, A5).

Одно из возможных представлений гиперкуба приведено в табл. 1.

Таблица 1

Сводная таблица анализов пациентов

Показатель Креатинин Белок Билирубин

Группа пациентов 2 3 2 3 2 3

№ дня получения показателя Значение показателя

1 61,97,78,101... 64,104,69,49... 82,70,67,69... 70,64,80,74... 14.2,17.8,18.84,44.3.. 19.5,16.8,8.6,19.5..

2 63,102,83,113. 71,108,71,32... 64,58,68,61... 55,57,54,62... 34.7,15.4,96.5,64.9... 36.8,19.5,32.4,73.9

3 59,59,87,79... 71,110,75,51... 68,62,58,59... 55,65,70,65... 19.5,17.8,83.78,114.3 24.9,12.3,15.8,30.3

2 В табл. 1 атрибуты размерностей представлены жирным шрифтом, атрибуты мер — курсивом, значения атри-

бутов — обычным шрифтом. д Схема гиперкуба в табл. 1 может быть представлена в следующем виде:

-§

•д где В1 = (ЯэА6} и В2 = (Я2А4, Я1А7} — размерности; М = (ЯэА5} — мера. ^ Логическое ограничение:

Г = (Я2А4 = ' Креатинин ' V Я2 А2 = ' Белок 'vЯ2А2 = Ъилирубин^л (Я1Л7 = 2vЯ1 А7 = 3).

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

2. Технология формирования многомерных данных. Для автоматизации построения представления многомерных данных используется следующая детализация последовательности их формирования, предложенная в работе [11].

1. Из списка атрибутов БД пользователь формирует множества атрибутов размерностей Бь Б2, ..., и меры М. Естественными являются ограничения: Б, п Б] = 0, I Ф], Б, п М = 0, /,] = 1, 2, ..., ё.

2. Формирование иерархий размерностей для множеств атрибутов Б1, Б2, ..., Иерархии формируются автоматически по правилам, рассмотренным в работе [12], и при желании пользователь может их модифицировать.

3. По шаблону, соответствующему дизъюнктивной нормальной форме, задаются логические ограничения на размерности ..где логическая формула задана на атрибутах размерности Б.

4. Формирование контекстов размерностей С1, С2, ..., Сё (некоторые контексты могут быть пустыми, а некоторые — псевдоконтекстами). Далее будут представлены соответствующие определения.

5. Формирование контекста приложения С0 и соответствующей реализации в виде таблицы соединений Т/0.

6. Формирование реализаций размерностей ТЗ1, ТЗ2, ..., ТЗё с сортировкой значений в соответствии с иерархией. Если контекст размерности не пуст, то он используется для формирования ТЗ, в противном случае реализация размерности является проекцией ТЗ0.

7. Формирование реализации (представления) многомерной таблицы (заполнение значений мер на соответствующих местах таблицы). Если в одной ячейке рабочей области гиперкуба значений несколько, то они перечисляются через запятую.

Пользователь вручную выполняет шаги 1 и 3 и осуществляет выбор предложенных вариантов в шагах 2, 4 и 5. Все остальные операции выполняются автоматически.

3. Контексты

3.1. Свойства контекстов. Пусть БЕР — множество зависимостей (функциональных, многозначных, включения, соединения), определенных на множестве атрибутов и и множестве отношений ЭТ. Пусть Я — отношение, определенное на множестве атрибутов и (универсальное реляционное отношение). В работе используются классические определения зависимостей: функциональных, многозначных, зависимостей соединения, реализованных зависимостей [8, 9], зависимостей включения [13, 14, 15].

Пусть С = {Я1, Я2, ..., Яд} — произвольное подмножество отношений реляционной БД.

Определение 3.1. Множество С будем называть контекстом, если оно удовлетворяет свойству соединения без потери информации (СБПИ) на зависимостях БЕР, реализованных в С.

Замечание. В основе контекста лежит операция естественного соединения, которая собирает из различных отношений БД связанные друг с другом по значению данные.

Алгоритм проверки свойства СБПИ [8] является полиномиальным, но все равно довольно затратным по времени и по памяти для больших схем БД. Рассмотрим вспомогательные свойства, которые позволят улучшить эти характеристики.

Теорема 3.1. Множество отношений С обладает свойством СБПИ, если существует отношение Я,еС, замыкание первичного ключа которого совпадает со всем множеством атрибутов отношений множества С. §

л

Пусть Ст = {Я1, Я2, ..., Яд} — произвольное множество отношений и [Ст] = [Я1]и[Я2]и ... и[Яд].

Теорема 3.2. Множество отношений Ст+1 = {Я1, Я2, ... , Яд, Яд+1} не обладает свойством СБПИ на БЕР, если за- <з висимость Z^X(Y) не выводима из БЕР, гдеХс[Ст], Гс[Яд+1] и [Ст\п[Яд+1]с2.. ^

Определение 3.2 (существующее соединение). Выражение Я1мЯ2м.мЯд будем называть существующим со- к

единением, если для совокупности отношений Я, I = 1,...,д, существует хотя бы одна перестановка ¥1, У2, ..., ¥д отно- и

К

шений Я1, Я2, ..., Яд такая, что д

([VI] и [V] и ... и [V])п ] Ф 0,] = 1, ..., д-1. §

Теорема 3.3. Если множество отношений С = {Я1, Я2,..., Яд} не образует существующее соединение, то оно не

обладает свойством СБПИ на множестве функциональных зависимостей ¥Б. ^

Проверки условий, предложенных в теоремах 3.1-3.3, являются менее затратными по памяти и по времени, 5

чем проверка свойства СБПИ по алгоритму [8]. Осталось разобраться со сложностью алгоритма проверки свойства ^

существующего соединения. §

Е и

<й

элементов массива. и

к

Выход: = 1 — если соединение существует, = 0 — если соединение не существует. у

Вход: множество отношений C = {Rmas[\], Rmas[2]— , Rmas[p]}, mas — массив с номерами отношений, для которых осуществляется проверка существования соединения. Считаем, что элементы массива нумеруются с 1, p — число

Теорема 3.4. На выходе алгоритма (рис. 1) = 1 тогда и только тогда, когда множество отношений

С = {Ята^ц,Ятоф.],.~ Лт^]} образует существующее соединение.

(U

Л

о К

К

Рис. 1. Блок-схема алгоритма проверки существования соединения

й О ТЗ

М

"¡3

и

<и

о, С -Й

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

Анализ рассмотренного алгоритма показал, что самая трудоемкая операция — проверка пересечений. Она в алгоритме выполняется p(p - 1)/2 раз. Аналогичные по сложности операции при проверке свойства СБПИ выполняются примерно np(1 + p) раз, где n — общее количество атрибутов в схеме базы данных. При этом учитывалось, что минимальное покрытие множества функциональных зависимостей [8] по мощности примерно равно количеству отношений. При проверке свойства СБПИ могут использоваться многозначные зависимости и зависимости соединений. Поскольку n не менее чем на порядок больше p и примерно 70 процентов комбинаций отношений на схеме БД не образуют существующее соединение, то применение рассмотренного алгоритма перед проверкой свойства СБПИ дает существенный выигрыш в результирующем количестве операций.

3.2. Формирование контекстов. Первоначальный выбор размерностей и мер гиперкуба предлагается сделать в расширенном виде: RiAj, где Ri — наименование отношения из исходной реляционной БД, Aj — наименование атрибута в этом отношении. Таким образом будет задано начальное множество отношений С0 = {R01,R02, ,R0q}, участвующее в обязательном порядке сначала в формировании таблицы соединения, а потом — гиперкуба.

Совокупность отношений, по которым строится гиперкуб, должна удовлетворять свойству СБПИ [17], поскольку лишние кортежи в промежуточном представлении данных дают лишние значения в рабочей области гиперкуба. Следовательно, дальнейшая задача состоит в дополнении множества

С0

отношениями из ЭТ, чтобы результирующее множество отношений удовлетворяло свойству СБПИ на множестве зависимостей, то есть являлось контекстом. В общем случае таких вариантов дополнения существует несколько. В работе [11] установлены критерии, позволяющие сделать перебор отношений направленным.

— Замыкание первичного ключа нового отношения Ri совпадает со всем множеством атрибутов в выбранных отношениях. Дополнение этого отношения к

С0

гарантирует выполнение свойства СБПИ по теореме 3.1. Такое отношение

получает приоритет 3.

— Для отношения Ri выполнено условие существования связи, соответствующей R^XjcRjX] с уже выбранными отношениями Rj, где множество атрибутов X является первичным ключом отношения Rj. Такое отношение получает приоритет 2, поскольку высока вероятность выполнения свойства СБПИ для результирующего множества отношений.

— Если дополняемое отношение Ri не удовлетворяет условиям теорем 3.2 и 3.3, то такое отношение получает приоритет 1. Остальные отношения получают приоритет 0.

— Формируемый контекст не должен содержать лишних отношений, наличие которых обусловлено только порядком присоединения отношений к контексту в алгоритме.

Перечисленные критерии увеличивают вероятность более быстрого достижения результата.

Введем обозначения. Пусть C1 = (Л1!, Л:2, ..., Rlp] — множество отношений, не входящих в исходное множество Л0 : Л1 = Ш \R0. U — множество атрибутов, на котором определены отношения из Л0 : U = [Л°1]и[Л02]и...и[Л0?]. DEP0 — множество зависимостей, реализованных на отношениях из Л0

В работе [11] рассмотрен алгоритм формирования контекстов, основанный на последовательном формировании сочетаний отношений и проверке их на свойство СБПИ.

Далее контекст приложения будем обозначать С0.

В примере 1 встречаются ячейки с несколькими значениями (списком). Возникает закономерный вопрос: если в одном списке присутствуют два и более совпадающих значения, то дублируют ли они друг друга. Ответ следующий: если эти значения соответствуют одному и тому же объекту и одному и тому же параметру, то это дублирование. В результирующем представлении гиперкуба GC идентификаторы объектов отсутствуют, однако они есть в промежуточном представлении данных — таблице соединений TJ. Для того чтобы в дальнейшем иметь возможность определять дублированные значения, введем понятие ключа меры.

Определение 3.3. Множество атрибутов KMj будем называть ключом атрибута меры RAjeMв таблице соединений TJ. Если KMj с [TJ], зависимость KMj ^ RiAj выводима на множестве функциональных зависимостей, и не существует выводимой зависимости Y^RiAj, где YcKMj. Пусть KM = KM¡^KM2^...uKMh, где h = \M\ — общий ключ для всех мер гиперкуба.

После того как сформирована схема GC с установлением иерархий в размерностях и присоединением мер к атрибутам одной из размерностей (в примере 1 меры присоединены к вертикальным размерностям), простейшим решением задачи формирования гиперкуба по контексту приложения С0={Л1, Л2, ..., Rp} при F=0 является выполнение операции естественного соединения отношений для формирования промежуточного представления TJ:

TJ = Ri [Vi] MR2 [V2] М... MR'p [Vp].

Здесь p — количество отношений в контексте приложения; V¡ — множество атрибутов Aje[R¿], для которых: либо существует размерность Dt — такая, что RiAj е Dl, либо RíAjeM, либо RAjeKM, либо существует R'veC0 — такое, что Aje [Л v] и iív, либо существует логическая формула Fl и Aje [F¡ ].

Для преобразования в гиперкуб значения размерностей формируются в виде проекций по соответствующим атрибутам: TJ[DJ с необходимой сортировкой кортежей каждой размерности в соответствии с иерархией.

Завершается построение GCприсваиванием значений мер Mв рабочей области GC: для каждого кортежа teTJ на пересечении значений координат t[DJ, l = 1,...,d ставится значение t[Aj], RiAJeM. Во всех остальных ячейках GC ставится значение NULL. Проблема дублированных значений в ячейках гиперкуба и остальные детали реализации технологии будут рассмотрены далее.

Предложенная процедура формирования GC [11] не решает следующие проблемы. я

— Если какому-либо набору значений размерности не соответствует ни одно значение меры, то эти значения размерностей не появятся в реализации гиперкуба (по свойству операции естественного соединения). Однако отсут- и ствие значений мер также является предметом анализа данных. j^1

— Ограничения на значения размерностей могут быть заданы опосредованно — через значения на связанные ^

к

кортежи в отношениях, которые не входят в контекст приложения. Тогда эти отношения должны образовывать от- се

w

дельный контекст с отношениями для размерностей. g

л

— Для некоторых размерностей необходимо иметь Декартово произведение исходных отношений (все воз- jg можные комбинации атрибутов одной размерности). Тогда эти отношения не должны дополняться другими отноше- ¡^ ниями для получения контекста. щ

— Если значения атрибутов, по которым выполняется соединение отношений в формуле (3.1), не определены ч

<и

в некоторых кортежах БД, то эти кортежи будут отсутствовать в TJ, а вместе с ними значения мер и размерностей из ^ этих кортежей. Если соединить меньшее количество отношений контекста, то значения мер и размерностей появятся в § реализации TJ. Такие кортежи будем называть остатком соединения. Пользователь должен иметь возможность управ- ^ ления остатками. и

4. Формирование гиперкубического представления

w

4.1. Реализация контекста. В качестве реализации контекста будем использовать представление данных в виде g

h

таблицы соединений, являющейся модификацией представления данных [18]. Совокупность свойств этой таблицы, ^ которые будут рассмотрены ниже, позволяет получить необходимое представление для формирования многомерных q1 представлений данных.

Рассмотрим преобразование представления реляционной БД: Ш = (Л1, Л2, ..., Rk} в таблицу соединений TJ со К схемой (S, g), где S — схема, определенная на множестве атрибутов U = (A1, A2, ...,A„}; g — вектор вхождения кортежей отношений длины k. 125

Определим принцип формирования кортежей tes, где s — реализация (множество кортежей) таблицы TJ.

Рассмотрим все возможные сочетания без повторений отношений Rb R2, ..., Rk, удовлетворяющие свойству СБПИ. Пусть множество отношений C' = (Rmas(i), Rmas(2),..., Rmas(p)} — контекст, где mas — целочисленный массив из p номеров отношений текущего сочетания: с' — его реализация, ограниченная операцией селекции ctf с логической формулой F:

С = CTF

где Vmas(i) Ç Wmas(i), i = 1, 2, ...,p, Vmas(i) определены по формуле (3.1).

Для каждого кортежа uec' формируем кортеж t по следующим правилам: t[Aj] = u[Aj], если атрибут Aj принадлежит хотя бы одному отношению соединения, и t[Aj] = emp в противном случае, где emp — пустое значение.

Каждому кортежу поставим в соответствие битовый вектор g(t ) = (g1(t ), g2(t ), ..., gk(t )), где gj(t ) = 1, если отношение Rj участвует в текущем соединении, и gj(t ) = 0 в противном случае.

Рассмотрим отношение частичного порядка над кортежами tes [10].

Определение 4.1. Кортеж tes является менее определенным или равным кортежу t'es, когда для любого атрибута At выполнено условие: если t[Ai] Фt'[Ai], то t[Ai] = emp и gj(t') > gj(t), j = 1,...,k, причем t[Ai] = t'[Ai], если A¡ принимает значение NULL в обоих кортежах. В этом случае будем писать t<t', назовем кортеж t подчиненным кортежу t' и оба этих кортежа будем считать сравнимыми.

В представлении s достаточно хранить только кортеж t', который содержит в себе все менее определенные либо равные кортежи. Следовательно, следующим этапом построения представления s является удаление в нем всех подчиненных кортежей. Равенство неопределенных значений в определении 4.1 позволяет избавиться от подчиненных кортежей t, которые получены из тех же кортежей БД, что и t'. Отличие значений NULL и emp в том, что первое указывает на неопределенное значение атрибута, а второе — на отсутствие соответствующего кортежа в текущем соединении. Очевидно, что отношение < является транзитивным.

Заключительным этапом построения представления s является удаление в нем кортежей, для которых F(t)=FALSE. При этом кортежи t', для которых t'<t и F(t' )=TRUE, считаются лишними, поскольку неопределенные данные в t' доопределяются в t и пользователь от них отказался.

Определение 4.2. Проекция nR(L)(s) есть совокупность кортежей u[R(L)], определенных на множестве всех атрибутов отношений R(L), где для каждого u[R(L)] существует кортеж tes — такой, что u[R(L)] = t[R(L)] и gmas(i)(t) = 1, i = 1,2,.,p.

Логическое ограничение F(t) для каждой размерности будем представлять в виде дизъюнктивной нормальной

формы:

F = FiVF2V...vFm.

Здесь каждая формула Fi является конъюнктом:

Fi=Fi,IaFi,2A.AFi,î,

где F¡j — предикат сравнения языка SQL.

Если какой-либо предикат Fi, j не определен на кортеже t, то он аннулируется — заменяется значением TRUE, если в этом конъюнкте еще есть не аннулированные предикаты, в противном случае — FALSE. Такая подстановка позволяет оставить в s кортежи, для которых пока не определены некоторые атрибуты или отсутствуют связанные по значениям кортежи в других отношениях, что также является предметом анализа информации. Формула F после подстановки будет принимать только два значения: TRUE и FALSE.

4.2. Реализация гиперкубического представления. Под реализацией представления гиперкуба будем понимать множество таблиц соединения si и таблиц, сформированных по псевдоконтекстам. Далее эти таблицы будем называть исходными. Это соответствует поликубическому представлению данных (кубоидам). Представления, необходимые g для анализа данных, могут быть получены: 3 — непосредственно из исходных таблиц,

сл

g — с использованием рассмотренных операций проекции по атрибутам [8, 9] и проекции по контексту в соответствии с ^ определением 4.2,

•д — с использованием определения дополнительных операций.

5g Рассмотрим применение таблиц для формирования результирующего представления данных GC, используе-

мого при проведении различных видов многомерного анализа. Совокупность таблиц данных — T, i = 0, 1, 2,., d, Si определенных на множествах атрибутов размерностей Di соответственно. Таблица T0 соответствует контексту приложения и определена на множестве атрибутов D0 = D1uD2u... uDduM. При этом

To = s0[D0],

где s0 — таблица соединения для контекста приложения C0; таблица T0 содержит остатки соединения и значения мер, 126 сопоставленные значениям размерностей.

Для формирования каждой размерности (1 < / < ё ) в зависимости от потребностей пользователя используется одна из трех следующих формул:

Т1 = * [А],

где — таблица соединения для контекста С,; таблица Т, содержит остатки соединения.

Т = ^ .

где С, = {Я*,Я*,...,Я**} — пустой контекст; Ь — вектор номеров отношений пустого контекста; таблица Т1 не содержит остатков соединения.

Т = сти

если С, = {Я 1, Я2, ..., Яр} — псевдоконтекст, 0 < / < ё, Я, — логическое ограничение на кортежи, остальные обозначения и ограничения совпадают с формулой (3.1), таблица Т, не содержит остатков соединения.

Вывод. Предложенная модель многомерных данных является обобщением известных моделей, прежде всего за счет снятия ограничения (1.1). Технология ориентирована на работу аналитика, где не требуется быстрая (за доли секунд) реакция системы на запросы, поскольку в большинстве случаев аналитик должен вдумчиво выполнить различные виды анализа над различными представлениями.

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

Библиографический список

1. Vassiliadis, P. A survey of logical models for OLAP databases / P. Vassiliadis, T. Sellis // SIGMOD Record. — 1999. — Vol. 28, № 4. — P. 64-69.

2. Pedersen, T.-B. A foundation for capturing and querying complex multidimensional data / T.-B. Pedersen, C.-S. Jensen, C.-E. Dyreson // Information Systems Frontiers. — 2001. — Vol. 26, № 5. — P. 383-423.

3. Lechtenborger, J. Multidimensional normal forms for data warehouse design / J. Lechtenborger, G. Vossen // Information Systems Frontiers. — 2003. — Vol. 28, № 5. — P. 415-434.

4. Progressive ranking of range aggregates / H.-G. Li [et al.] // Data & Knowledge Engineering. — 2007. — Vol. 63, № 1. — P. 4-25.

5. Lehner, W. Normal forms for multidimensional databases / W. Lehner, J. Albrecht, H. Wedekind // Proceedings of the Tenth International Conference on Scientific and Statistical Database Management. — Los Alamitos, 1998. — P. 63-72.

6. Giorgini, P. Goal-oriented requirement analysis for data warehouse design / P. Giorgini, S. Rizzi, M. Garzetti // In Proceedings of the 8th ACM international Workshop on Data Warehousing and OLAP: DOLAP '05. — Bremen, 2005. — g P. 47-56. jg

7. Mazon, J. Reconciling requirement-driven data warehouses with data sources via multidimensional normal forms / § J. Mazon, J. Trujillo, J. Lechtenborger // Data & Knowledge Engineering. — 2007. — Vol. 63, № 3. — P. 725-751. &

8. Ullman, J. Principles of database systems / J. Ullman. — Stanford : Computer Science Press, 1980. — 379 p. ^

9. Maier, D. The theory of relational databases / D. Maier. — Rockville : Computer Science Press, 1983. — 637 p.

10. Zykin, S. V. Formation of Hypercube Representation of Relational Database / S. V. Zykin // Programming and § Computer Software. — 2006. — Vol. 32, № 6. — P. 348-354.

11. Зыкин, С. В. Динамические контексты базы данных реляционного типа / С. В. Зыкин // Информатика и ее н

применения. — 2014. — Т. 8, № 1. — С. 77-88. е§

л

12. Редреев, П. Г. Построение иерархий в многомерных моделях данных / П. Г. Редреев // Известия Саратов- ¡2 ского университета. — 2009. — Т. 9, № 4, ч. 1. — С. 84-87. — (Математика. Механика. Информатика). н

13. Casanova, M. Inclusion Dependencies and Their Interaction with Functional Dependencies / M. Casanova, ч

R. Fagin, C. Papadimitriou // Journal of Computer and System Sciences. — 1984. — № 28 (1). — P. 29-59. g

Г

14. Missaoui, R. The Implication Problem for Inclusion Dependencies: A Graph Approach / R. Missaoui, R. Godin // 3 SIGMOD Record. — 1990. — Vol. 19, № 1. — P. 36-40.

' TO

15. Levene, M. Justification for Inclusion Dependency Normal Form / M. Levene, M.-W. Vincent // IEEE Transac- ^ tions on Knowledge and Data Engineering. — 2000. — Vol. 12, № 2. — P. 281-291. |

16. Aho, A.-V. Data Structures and Algorithms / A.-V. Aho, J.-E. Hopcrof t, J.-D. Ullman. — Reading : Addison- a Wesley, 1983. — 427 p.

17. Miller, L. Data Warehouse Modeler: A CASE Tool for Warehouse Design / L. Miller, S. Nila // Thirty-First An- ¡^

nual Hawaii International Conference on System Sciences. — 1998. — Vol. 6. — P 42-48.

18. Zykin, S. V. Automation of the interface formation between multidimensional and relational representation of the data / S. V. Zykin // Relational Databases and Open Source Software Development / Ed. J.-R. Taylor. — New York : Nova Science Publishers, 2010. — Chapter 2. — P. 43-66.

References

1. Vassiliadis, P., Sellis, T. A survey of logical models for OLAP databases. SIGMOD Record, 1999, vol. 28, no.4, pp. 64-69.

2. Pedersen, T.-B., Jensen, C.-S., Dyreson, C.-E. A foundation for capturing and querying complex multidimensional data. Information Systems Frontiers, 2001, vol. 26, no. 5, pp. 383-423.

3. Lechtenborger, J., Vossen, G. Multidimensional normal forms for data warehouse design. Information Systems Frontiers, 2003, vol. 28, no. 5, pp. 415-434.

4. Li, H.-G., et al. Progressive ranking of range aggregates. Data & Knowledge Engineering, 2007, vol. 63, no. 1, pp. 4-25.

5. Lehner, W., Albrecht, J., Wedekind H. Normal forms for multidimensional databases. Proceedings of the Tenth International Conference on Scientific and Statistical Database Management. Los Alamitos, 1998, pp. 63-72.

6. Giorgini, P., Rizzi, S., Garzetti, M. Goal-oriented requirement analysis for data warehouse design. In Proceedings of the 8th ACM international Workshop on Data Warehousing and OLAP: DOLAP '05. — Bremen, 2005. — P. 47-56.

7. Mazon, J., Trujillo, J., Lechtenborger, J. Reconciling requirement-driven data warehouses with data sources via multidimensional normal forms. Data & Knowledge Engineering, 2007, vol. 63, no. 3, pp. 725-751.

8. Ullman, J. Principles of database systems. Stanford: Computer Science Press, 1980, 379 p.

9. Maier, D. The theory of relational databases. Rockville: Computer Science Press, 1983, 637 p.

10. Zykin, S.V. Formation of Hypercube Representation of Relational Database. Programming and Computer Software, 2006, vol. 32, no. 6, pp. 348-354.

11. Zykin, S.V. Dinamicheskie konteksty bazy dannykh relyatsionnogo tipa. [Dynamic contexts of relational-type database.] Informatics and Applications, 2014, vol. 8, no. 1, pp. 77-88 (in Russian).

12. Redreev, P.G. Postroenie ierarkhiy v mnogomernykh modelyakh dannykh. [Construction of hierarchies in multidimensional data models.] Izvestiya of Saratov University. Series Mathematics. Mechanics. Informatics. 2009, vol. 9, no. 4, part 1, pp. 84-87 (in Russian).

13. Casanova, M., Fagin, R., Papadimitriou, C. Inclusion Dependencies and Their Interaction with Functional Dependencies. Journal of Computer and System Sciences, 1984, no. 28 (1), pp. 29-59.

14. Missaoui, R., Godin, R. The Implication Problem for Inclusion Dependencies: A Graph Approach. SIGMOD Record, 1990, vol. 19, no. 1, pp. 36-40.

15. Levene, M., Vincent, M.-W. Justification for Inclusion Dependency Normal Form. IEEE Transactions on Knowledge and Data Engineering, 2000, vol. 12, no. 2, pp. 281-291.

16. Aho, A.-V., Hopcrof t, J.-E., Ullman, J.-D. Data Structures and Algorithms. Reading: Addison-Wesley, 1983,

427 p.

17. Miller, L., Nila, S. Data Warehouse Modeler: A CASE Tool for Warehouse Design. Thirty-First Annual Hawaii International Conference on System Sciences, 1998, vol. 6, pp. 42-48.

18. Zykin, S.V. Automation of the interface formation between multidimensional and relational representation of the data. Taylor, J.-R., ed. Relational Databases and Open Source Software Development. New York: Nova Science Publishers, 2010, Chapter 2, pp. 43-66.

g Поступила в редакцию 03.11.2015

3 Сдана в редакцию 03.11.2015

"Ц Запланирована в номер 23.03.2016

о тз

M

й

И

(U

ü £ -Й