Научная статья на тему 'Построение иерархий в многомерных моделях данных'

Построение иерархий в многомерных моделях данных Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
258
80
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
РЕЛЯЦИОННАЯ БАЗА ДАННЫХ / АНАЛИТИЧЕСКАЯ ОБРАБОТКА ДАННЫХ / МНОГОМЕРНАЯ МОДЕЛЬ ДАННЫХ / RELATIONAL DATABASE / ONLINE ANALYTICAL PROCESSING / MULTIDIMENSIONAL DATA MODEL

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Редреев П. Г.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

This article considers a method of automated determination of hierarchies in dimensions of multidimensional data model, constructed from the source relational database. Construction of hierarchies is realized on the basis of attribute dependencies of source database.

Текст научной работы на тему «Построение иерархий в многомерных моделях данных»

Изв. Сарат. ун-та. 2009. Т. 9. Сер. Математика. Механика. Информатика, вып. 4, ч. 1

ИНФОРМАТИКА

УДК 519.72

ПОСТРОЕНИЕ ИЕРАРХИЙ В МНОГОМЕРНЫХ МОДЕЛЯХ ДАННЫХ

П.Г. Редреев

Омский филиал Института математики СО РАН,

лаборатория методов преобразования и представления информации

E-mail: [email protected]

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

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

Construction of Hierarchies in Multidimensional Data Models P.G. Redreev

Omsk Branch Institute of Mathematics SB RAS,

Laboratory of Methods of Transformation and Representation of Information

E-mail: [email protected]

This article considers a method of automated determination of hierarchies in dimensions of multidimensional data model, constructed from the source relational database. Construction of hierarchies is realized on the basis of attribute dependencies of source database.

Keywords: relational database, online analytical processing, multidimensional data model.

ВВЕДЕНИЕ

Системы оперативного анализа данных OLAP (Online Analytical Processing) предоставляют пользователю возможности для многомерного анализа данных и принятия решений. Для представления данных в OLAP-системах используются многомерные модели данных, являющиеся гиперкубами, то есть обобщением электронных таблиц на произвольное количество измерений (dimensions). В многомерных моделях данные рассматриваются либо как меры (measures), которые являются числовыми значениями, либо как текстовые измерения [1]. Меры — это величины, подвергаемые анализу по измерениям. Измерение включает в себя уровни измерения, позволяющие пользователю анализировать меры с различной степенью детализации. Из уровней измерения может формироваться иерархия. Наличие иерархий позволяет осуществлять выполнение таких часто используемых для анализа данных операций, как roll-up и drill-down

[2.3].

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

[1.4]. Как правило, иерархии задаются разработчиком при формировании схемы многомерной модели данных.

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

© П.Г. Редреев, 2009

П.Г. Редреев. Построение иерархий в многомерных моделях данных

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

1. МОДЕЛЬ ДАННЫХ «КОМПОЗИЦИОННАЯ ТАБЛИЦА»

Рассмотрим модель данных «композиционная таблица», которая является обобщением модели «семантическая трансформация» [5], на случай списка значений в одной ячейке. Обозначим R — исходное реляционное отношение, R* — результирующее отношение. Пусть X, Yi, Z — множества атрибутов из R (i = 1, 2, ...,N). Атрибуты X остаются неизменными в R*, значения атрибутов Yi становятся именами атрибутов в R*, домены атрибутов , дополненные пустым значением, распределяются между доменами атрибутов, введенных для Yi. Атрибуты Yi и в явном виде отсутствуют в R* (i = 1,2,..., N). Wi — дополнительное множество атрибутов, которые используются в логических формулах-ограничениях, но в R* отсутствуют. Поскольку X и Yi являются координатами для в R*, естественными являются ограничения: X П Yi = 0,X П Zi = 0,Y П Zi = 0 (i = 1,2,...,N). Wi G R\(X U Y1 U ... U YN U Z1 U ... U ZN), |Dom(y,)| = Li, |Zi| = Mi, | • | — мощность множества.

Схема результирующего представления строится из R по следующему правилу:

N

Sch(R) = {X,Yi,..., YN ,Zi ,...,Zn ,Wi ,..., WN } ^ Sch(R*) = {X, U Dom(Y) x {Zi}},

i=i

где Sch — схема описания отношения, Dom — множество допустимых значений атрибутов, Dom(Y) = Dom(Yi1) x Dom(Yi2) x ..., Yj G Yi. Символ U обозначает, что «композиционная таблица» состоит из подтаблиц со схемами {X, Dom(Yi) x {Zi}} (i = 1, 2,..., N).

Пример 1. В качестве примера «композиционной таблицы» рассмотрим план учебной нагрузки вуза (рис. 1).

Семестр

1 2

Лекции Практика Лекции Практика Экзамен Зачет

Наименование дисциплины Кол-во часов Кол-во часов Кол-во часов Кол-во часов № семестра № семестра

Иностранный язык 3 2 4 1,2,3

Физическая культура 2 2 1,2,3,4

Отечественная история 2 2 1,2

Философия 2 2 1,2,3

Экономика 2 2 2

Рис. 1. План учебной нагрузки

Здесь атрибуты множества X: название дисциплины, У: номер семестра, тип занятия, : количество часов данного вида занятий по дисциплине в неделю, У2: общесеместровые мероприятия по дисциплине, Z2: номер семестра.

Для модели «композиционная таблица» множества атрибутов X и у = 1,2,...,Х) являются обобщенными координатами и могут рассматриваться как измерения. Иерархии атрибутов в X и у

(^ = 1,2,..., N) определяют порядок расположения значений атрибутов в заголовках строк и столбцов пользовательского представления в виде двумерной

таблицы. Следовательно, иерархии должны быть опре- __

делены таким образом, чтобы пользовательское пред- -----

ставление было наглядным. Наиболее удобной для ра- | | | | | боты пользователя является древовидная структура заголовка таблицы, пример которой показан на рис. 2. Рис. 2. Структура заголовка таблицы

2. ФОРМИРОВАНИЕ СХЕМЫ ИЕРАРХИИ

Рассмотрим способ определения иерархии в измерении. В качестве уровней измерения будем использовать атрибуты исходной базы данных. Пусть L — множество атрибутов X или у «композици-

N

онной таблицы» со схемой ) = {X, и ^ош(У) х ^}} (г = 1, 2,..., N).

¿=1

Изв. Сарат. ун-та. 2009. Т. 9. Сер. Математика. Механика. Информатика, вып. 4, ч. 1

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

Определение 2. Пусть С, Б — атрибуты, Н — схема иерархии. С ^ Б, если в Н существует путь из вершины С в Б.

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

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

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

Для функциональной зависимости С ^ Б, где С и Б — множества атрибутов, атрибуты из Б располагаются в иерархии выше, чем атрибуты из С, так как различные значения множества атрибутов С могут определять одинаковое значение Б. Таким образом, будем полагать, что для атрибутов Ск е С,Б1 е Б У к, I Ск -< Бг.

Для многозначной зависимости С : Б(Е), где С,Б,Е — множества атрибутов, атрибуты из С располагаются в иерархии выше, чем атрибуты из Б и Е, так как по определению многозначной зависимости при существовании двух кортежей, совпадающих по С, существуют еще два кортежа с тем же значением С. Таким образом, будем полагать, что для атрибутов Ск е С, II е Б и Е Ук,1 I ^ Ск.

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

Пример 2. Рассмотрим следующую схему БД: Я1 =Студенты (№ студента, № группы, ФИО студента); Я2 =Список групп (№ группы, Код группы, № специальности); Я3 =Предметы (№ предмета, Предмет);

Я4 =Преподаватели (№ преподавателя, ФИО преподавателя); Я5 =Неделя (№ дня недели, День недели); Я6 =Начало занятий (№ пары, Время начала пары); Я7 =Оценки (№ студента, № группы, № предмета, Оценка);

Я8 =Расписание (№ группы, № дня недели, № пары, № предмета, № преподавателя, № аудитории);

Я9 =Специальности (№ специальности, Специальность);

Я1о =Нагрузка (№ предмета, № специальности, Количество часов).

При задании частичного порядка на множестве атрибутов для функциональной зависимости № группы ^ Код группы, № специальности получаем № группы ^ Код группы и № группы ^ № специальности, для многозначной зависимости № группы : № дня недели,№ пары (№ студента) — № дня недели ^ № группы, № пары ^ № группы, № студента ^ № группы.

Примеры пользовательских иерархий атрибутов для данной схемы БД изображены на рис. 3.

Приведем определение из теории графов [6], используемое в дальнейшем изложении.

Определение 3. Число дуг, которые имеют вершину х, своей начальной вершиной, называется полустепенью исхода вершины х,, и аналогично число дуг, которые имеют Рис. 3. П°,льзовательские иерархии атри- х. своей конечной вершиной, называется полустепенью за-бутов хода вершины Xi.

Рассмотрим алгоритм построения схемы иерархии Н.

Шаг 1. Для каждой пользовательской иерархии В1 ... Вт добавляем в Н дуги В,В,+1, где Bi, В,+1 е Ь, I = 1,..., т — 1.

Код группы День недели

т т

№ студента № пары

тт

ФИО студента Время начала пары

86 Научный отдел

П.Г. Редреев. Построение иерархий в многомерных моделях данных

Шаг 2. Для каждой функциональной зависимости С ^ Б, где С, Б — множества атрибутов, такой, что С' = 0, Б' = 0, где С' = Ь п С, Б' = Ь п Б, добавляем в Н дугу С'кБ', С'к е С', Б' е Б' если на шаге 1 не добавлена дуга Б'Ск.

Шаг 3. Для каждой многозначной зависимости С : Б(Е), где С, Б,Е — множества атрибутов, такой, что С' = 0, Б' = 0, где С' = Ь п С, Б' = Ь п (Б и Е), добавляем в Н дугу Б'С'к, Ск е С',Б' е Б' если на шаге 1 или на шаге 2 не добавлена дуга С'кБ'.

Шаг 4. Пока в графе Н содержатся циклы, выполняем следующее. Определяем количество различных значений для каждого атрибута, соответствующего каждой вершине цикла. В цикле находим вершины Л^, соответствующие атрибутам, принимающим минимальное количество значений. Выбираем из вершин смежных из вершин Л^ вершины Бу такие, что соответствующие атрибуты принимают максимальное количество значений. Удаляем из цикла одну из выбранных дуг Л^Бу.

Шаг 5. Дополняем в граф Н вершины для атрибутов из Ь, отсутствующих в Н в качестве вершин. Если граф Н является несвязным, выполняем следующее.

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

Упорядочиваем компоненты связности графа по возрастанию тк. Для компонент связности, у которых тк одинакова, находим вершины компоненты с полустепенью захода, равной 0. Для этих атрибутов определяем максимальную величину щ количества различных значений.

Упорядочиваем эти компоненты по возрастанию щ.

Последовательно просматриваем компоненты связности графа Н в соответствии с полученным упорядочением. Дополняем в граф дуги, идущие в каждую вершину с полустепенью захода, равной 0, текущей компоненты связности из каждой вершины с полустепенью исхода, равной 0, следующей компоненты.

Пример 3. Пусть Ь={№ группы, № студента, ФИО студента, № специальности, Специальность}. По множеству атрибутов Ь будет сформирована схема иерархии, изображенная на рис. 4.

ЗАКЛЮЧЕНИЕ

Рассмотренный в данной работе алгоритм формирует иерархии в измерениях гиперкуба, используя функциональные, многозначные зависимости исходной базы данных и иерархии атрибутов, заданные пользователем. Применение этого алгоритма в ОЬЛР-системах позволит сократить время на формирование схемы новой многомерной модели данных.

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

Специальность

т

№ специальности

т

№ группы

т

№ студента

т

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

ФИО студента Рис. 4. Схема иерархии

Работа выполнена при финансовой поддержке РФФИ (проект 09-07-00059-a).

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

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

2. Педерсен Т.Б., Йенсен К.С. Технология многомерных баз данных // Открытые системы. 2002. № 1. С. 45-50.

3. Щавелев Л.В. Способы аналитической обработки данных для поддержки принятия решений // СУБД. 1998. № 4-5. С. 51-60.

4. Lechtenborger J., Vossen G. Multidimensional normal forms for data warehouse design // Information Systems. 2003. № 28(5). P. 415-434.

5. Кристофидес Н. Теория графов. М.: Мир, 1978. 215 с.

6. Зыкин С.В. Формирование гиперкубического представления реляционной базы данных // Программирование. 2006. № 6. С. 348-354.

i Надоели баннеры? Вы всегда можете отключить рекламу.