ЯлГЙОяО/
Уфа : УГАТУ. 2012______________________________^_____________________________Т. 16, №3(48). С. 180-186
МАТЕМАТИЧЕСКОЕ И ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ВЫЧИСЛИТЕЛЬНЫХ МАШИН
УДК 004.65
В. В. Миронов, Е. С. Макарова
АГРЕГАЦИЯ ПОКАЗАТЕЛЕЙ В 01.АР-КУБЕ ПРИ СВЕДЕНИИ ПО ЗАВИСИМЫМ ИЗМЕРЕНИЯМ
Обсуждаются особенности агрегации данных в многомерном кубе при наличии измерений, между которыми имеются функциональные зависимости. Рассматриваются основные понятия и графическое представление многомерной модели данных. Обсуждается процесс формирования сводных ячеек. Выявляется эффект фильтрации идентифицирующих координат при подсчете сводных показателей, возникающий, когда привязанные к идентифицирующим неидентифицирующие факт-координаты не попадают в множество укрупнения. Приводятся примеры, иллюстрирующие процесс сведения показателей по зависимым измерениям. 01-АР-система; многомерная модель данных; гиперкуб', измерение; неаддитивная мера; показатель; агрегация
В настоящее время аналитическая обработка данных (On-Line Analytical Processing -OLAP) [1] получила широкое распространение как средство анализа и информационной поддержки принятия управленческих решений. Аналитические модули появляются в составе самых разных приложений, предоставляя пользователям удобный интерфейс для организации данных в виде гиперкубов на основе многомерной модели (Multidimensional Model) и для оперативного анализа различных показателей с помощью OLAP-операций агрегации, детализации, вращения, среза и т. п.
Для адресации показателей в гиперкубе предусмотрены измерения, содержащие множества координат, которые могут быть организованы в виде иерархий. Во многих работах, например, [3, 8], на измерения накладываются ограничения взаимной независимости по аналогии с евклидовой системой координат. Однако многомерное моделирование многих проблемно-предметных областей требует использования измерений, находящиеся в функциональной зависимости друг от друга. Системы управления базами данных (СУБД), поддерживающие многомерную модель, вполне допускают наличие функционально зависимых измерений [4, 7]. Поэтому необходимо провести анализ особенностей агрегации многомерных данных для зависимых измерений.
Контактная информация: 8(347)273-78-23 Работа выполнена в рамках научной школы УГАТУ «Теория и практика разработки информационных систем» и поддержана грантом РФФИ 10-07-00167-а «Электронные документы со встроенной динамической моделью», а также грантом Президента Российской Федерации НШ-65497.2010.9 для ведущих научных школ.
Ключевую роль в OLAP-системах играют операции агрегирования, или сведения, т. е. процедуры автоматического формирования меньшего количества результирующих значений (агрегатов) из большего количества исходных значений. Стандартные агрегации, основанные на суммировании, подсчете количества значений, вычислении минимального и максимального значений показателей, достаточно просты для теоретического анализа благодаря свойству аддитивности сводного показателя (меры). Однако во многих случаях требуется нестандартная, неаддитивная агрегация. Современные OLAP-системы предусматривают возможность как аддитивного, так и неаддитивного агрегирования [5], что обуславливает необходимость исследований в общем виде.
В данной работе рассматривается агрегирование по функционально зависимым измерениям для общего случая неаддитивных мер.
ОСНОВНЫЕ ПОНЯТИЯ И ИСПОЛЬЗУЕМАЯ НОТАЦИЯ
В настоящее время отсутствует единство терминологического описания многомерных моделей данных, а также не существует и универсальной графической нотации для визуального представления OLAP-кубов. В данной статье используется графическая нотация для описания многомерных моделей данных, базирующаяся на работе [9].
Измерения (Dimensions). В общем случае куб данных имеет несколько измерений, задающих систему координат пространства данных. На рис. 1 показано графическое изображение куба с тремя осями - измерениями - X, Y и Z. Каждое измерение представляет собой конечное множество элементов (Members) или коордннат - значений данных, образующих
грань куба. Некоторый элемент измерения определяет координату по этому измерению. Совокупность таких координат по всем измерениям образует кортеж, который идентифицирует ячейку (Cell) куба. Ячейка - это часть данных, получаемая путем определения одного элемента в каждом измерении многомерного массива. На рис. 1 показана ячейка Сф с координатами (XL Yj, Zf ). то есть соответствующая элементу / измерения X, элементу j измерения Y и элементу к измерения Z.
Меры (Measures). В каждой ячейке размещены в общем случае несколько мер - показателей, хранящихся в кубе [6]. На рис. 1 с ячейкой ассоциировано р показателей: {(. /г- •••, fP)• Обычно все меры одного q-то типа в кубе однородны, т. е. представляют собой различные значения некоторого показателя. Как правило, в роли показателей выступают некоторые числовые значения. Совокупность ячеек куба, соответствующих зафиксированным координатам из разных измерений, образуют срезы (Slices) куба по этим координатам. Результатом среза по координатам всех измерений куба будет отдельная ячейка.
(fi, fP)
Рис. 1. Гиперкуб данных
Иерархия (Hierarchy) - способ введения в измерении укрупненных координат посредством группирования. В каждом измерении гиперкуба задается множество так называемых ключевых (Key Members) или факт-координат (Fact Members), т. е. однородных элементов измерения с наибольшей степенью детализации (гранулярности). Во множестве факт-координат может быть задано разбиение на подмножества, каждому подмножеству соответствует укрупненная координата измерения, совокупность которых составляет вышестоящий уровень ие-
рархии. Множество укрупненных координат входит в состав измерения наряду с факт-координатами. В свою очередь, оно может быть разбито на подмножества, которым соответствуют укрупненные координаты следующего уровня, и т. д. На самом верхнем уровне иерархии вводится единственная корневая координата «Все» («А11»), символизирующая совокупность всех элементов нижестоящего уровня. В общем случае для одного измерения может быть задано несколько иерархий, основанных на общем множестве факт-координат.
Графическая нотация для представления многомерной модели поясняется на рис. 2.
Идентификатор
( Иерархия Свойства
/ Уровень\—I L-----,----л Свойства
/ Уровень УГ ИДен™Фикат°Р
L----,------л Свойства
У Измерение Y------------Г" Идентификатор
L_______'______Л L-» I
Свойства
Показатель
Свойства
Функция агрегирования
Рис. 2. Условные обозначения элементов ОЬАР-куба
Гиперкуб данных в целом обозначается символом куба. Выносными линиями с ним связаны принадлежащие ему измерения, которые обозначаются выпукло-вогнутыми шестиугольниками, а также меры, обозначаемые прямоугольниками. Иерархии измерений обозначаются овалами, а уровни иерархий - трапециями. Нижние уровни иерархий соединяются с символами своих измерений, верхние - с символами своих иерархий, а промежуточные - с вышестоящими и нижестоящими уровнями. Символы измерений означают множества факт-коорди-нат, символы уровней - укрупненных координат, а символы иерархий - корневые координаты типа «Все». С помощью выносных линий с темными квадратиками к измерениям и уровням прикрепляются имена атрибутов, являющихся идентификаторами координат, а линий с кружками - имена атрибутов-свойств координат. Аналогичным образом к мерам прикрепляются имена атрибутов-показателей фактов и атрибутов-свойств мер. Кроме того, к мерам прикрепляются имена агрегатных функций, используемых для получения сводных показателей для укрупненных координат.
ФОРМИРОВАНИЕ СВОДНЫХ ЯЧЕЕК
Полноправность укрупненных координат как членов измерения - важная особенность многомерной модели, означающая, что эти элементы могут использоваться в качестве координат измерений для адресации ячеек гиперкуба точно так же, как обычные факт-координаты. Укрупненным координатам в гиперкубе соответствуют так называемые агрегированные или сводные ячейки (Aggregate / Pivot Cells), в отличие от ячеек фактов (Fact Cells), у которых все координаты являются факт-координатами.
Значения, содержащиеся в сводных ячейках, соответствующих укрупненным координатам некоторого уровня иерархии, должны формироваться на основе значений ячеек, соответствующих координатам нижестоящих уровней иерархии. Рассмотрим некоторое измерение X гиперкуба (рис. 3).
Измерение
среза
Рис. 3. Схема формирования сводных ячеек
Каждой укрупненной координате х* некоторого уровня иерархии измерения X соответствует множество П(х ) = (хь х2, х3, ...} дочерних координат нижестоящего уровня этой иерархии. Пусть Z = Z2, .} - множество остальных из-
мерений гиперкуба, а г - кортеж текущих координат этих измерений, то есть г = (г1, г2, ...), г1 є Х1, г2 є Х2, ... . Для заданного кортежа г координатам хь х2, х3, ... соответствуют ячейки с координатами (хь г), (х2, г), (х3, г), ., а укрупненной координате х - сводная ячейка с координатами (х , г). Указанные ячейки содержат значения некоторого показателя Е:
(хь г) ^ ^(хі|г), (х2, г) ^ Дх2|г),
(х3, г) ^ ^(х3|г), ... , (х*, г) ^ Е(х*|г).
Тогда должна иметь место зависимость: Е(х*\г) = Aggr {^(хі|г), Е^г), ...} = Aggr Е^г), ує П(х ), где Aggr - некоторая функция агрега-
ции (Aggregate Function), задающая правила вычисления агрегированных показателей сводных ячеек на основе исходных показателей укрупняемых ячеек. Суммирование часто применяется в качестве функции агрегации, в этом случае сводные ячейки содержат сумму показателей своих нижестоящих в иерархии ячеек, т. е. F(x*\z) = F(xjjz) + F(x2\z) + ... = S F(y\z), ye W(x*).
Сведение показателя - это вычисление сводного показателя (меры) для некоторой сводной ячейки путем агрегирования показателей ячеек нижестоящих уровней иерархии. Множество соответствующих локально дочерних ячеек формируется следующим образом. Берутся укрупненные координаты сводной ячейки по всем измерениям. Для каждой координаты через ее иерархию определяется множество соответствующих ей локально дочерних координат нижестоящего уровня иерархии (при этом если координата уже принадлежит нижнему уровню иерархии, т. е. является факт-координатой, то она и используется в качестве локально дочерней). Формируется искомое множество кортежей, адресующих локально дочерние ячейки, в виде декартова произведения множеств локально дочерних координат по всем измерениям.
Рекурсивный характер локального сведения показателей выражается в том, что для вычисления сводного показателя некоторой ячейки необходимо предварительно вычислить показатели для локально дочерних ячеек, для вычисления которых, в свою очередь, необходимо вычислить показатели для их локально дочерних ячеек и т. д. до тех пор, пока не будут достигнуты факт-ячейки, показатели которых известны априори. Таким образом, задача последовательно сводится к серии аналогичных задач (рекурсия) для нижестоящих уровней вплоть до самых нижних в иерархиях измерений. Формально данную процедуру можно описать следующей рекурсивной формулой:
F.J) =
f(t), t - кортеж факт - координат, Aggr F(t ) - впротивномслучае,
_* * _ t єО (t)
(1)
где ґ - кортеж локально дочерних координат ячейки с координатами ґ ; Н*(Г) - множество всех кортежей ґ ячейки с координатами ґ .
СВЕДЕНИЕ ПО ИЗМЕРЕНИЯМ
Сведение по измерениям - процедура, предполагающая определенную последовательность
агрегирования локально дочерних показателей. А именно, сначала показатели агрегируются по координатам одного измерения, затем полученный агрегат, не зависящий от этого измерения, агрегируется по координатам другого измерения, далее - по координатам третьего измерения, и т. д. до последнего измерения, при агрегации по координатам которого получается искомый сводный показатель. Если требуемое агрегирование допускает сведение по измерениям, то это создает удобства на практике.
Формально эту процедуру можно представить следующим образом. Пусть необходимо выполнить локальное сведение показателей для ячейки с координатами Г. В соответствии с формулой (1) для этого необходимо выполнить агрегацию локально дочерних ячеек
Aggr/''(/ : ) при I е 12(7). Пусть гиперкуб имеет N измерений и множество измерений упорядочено. Запишем
—* / * * *\
I = VI 5^2
0,*(Т) = 0,*(Т)х0,2*(Т)х...х0,м*(Т),
^ —►
где £1 (О - множество локально дочерних координат ячейки t по измерению 1,1 = 1,2, .... N. а «X» - символ операции декартова произведения множеств. Тогда сведение по измерению означает, что
AggrJF(F* ) =
= А§§г^А§§г^...А§§г^^а;,^,...,^*).
Здесь Aggr('), / = 1, - оператор агреги-
рования, применяемый при сведении ПО 7-му измерению. Индекс (/) подчеркивает, что в самом общем случае неравномерной функции агрегирования этот оператор может изменяться от измерения к измерению; для равномерных агрегатных функций оператор агрегирования одинаков для всех измерений. Как видно, сначала сводится измерение -/V, затем (Л' - 1) и т. д.
Рекуррентные соотношения формирования агрегированного значения при сведении по измерениям можно записать следующим образом.
Пусть ф,( С,) - промежуточный результат, когда сведение выполнено по / последним измерениям, тыч = (/| .. /у_| ) - список еще не све-
—► ^
денных измерений. Представим ф, () в виде
ф;( / у . I ), где вертикальная черта («при условии») отделяет координаты измерения, по которому выполняется свертка на следующем ша-
ге, от тех, которые не затрагиваются при агрегировании. Тогда
фо(1*)=Р(1*)=Р(Г),
ф!( ) = А§§г(Д° фо( С 1),
фз( 7*-2 ) = А§§г(ДЧ) ф1( С-1 I *N-2 X (2)
ф,( ) = Н&т+1) Фм( С-Ж I *N4 )•
флг() = Aggr(1) флг.1( ^) = Aggr ^( Г ).
Последнее выражение дает окончательный результат сведения по всем измерениям.
СВЕДЕНИЕ ПО НЕИДЕНТИФИЦИРУЮЩИМ ИЗМЕРЕНИЯМ
Сведение показателей по некоторым измерениям может иметь особенности, а именно, некоторые измерения могут не влиять на значение сводного показателя, и поэтому могут не учитываться в процессе агрегации. Этот эффект особенно проявляется при сведении корневых ячеек. Корневой по некоторому измерению называется сводная ячейка, которая по этому измерению имеет координату «Все». Сведение ячейки, корневой по некоторому измерению, в случае плотной иерархии означает, что требуется рассчитать показатель, соответствующий всей совокупности факт-координат этого измерения.
( Преподаватели ) ( Даты ) (Предметы) (Студенты)
)> Преподаватель <( ) Дата ) Предмет^ ) Студент^
| СрБалл |-«балл
Рис. 4. К сведению
по неидентифицирующим измерениям
На рис. 4 приведена простая модель гипер-
куба, предназначенного для анализа успеваемо-
сти. Мера «Средний балл», основанная на факт-
показателе «балл», базируется на 4 измерениях:
«Студент», «Предмет», «Преподаватель», «Дата» (для простоты измерения даны без промежуточных уровней иерархий). Рассмотрим два случая сведения корневых ячеек:
1. Пусть необходимо вычислить сводный показатель, являющийся корневым по измерению «Студент» и (или) «Предмет», например, средний балл, соответствующий оценкам, проставленным определенным преподавателем
в определенный день, усредненный по всем студентам и всем предметам. Один преподаватель в один день может принять экзамены у нескольких студентов, поэтому для получения сводного показателя необходимо агрегировать (усреднять) показатель (балл) на множестве сдач этого рода.
2. Пусть теперь необходимо вычислить сводный показатель, являющийся корневым по другим двум измерениям: «Преподаватель» и (или) «Дата», например, средний балл, соответствующий оценкам определенного студента по определенному предмету, усредненный по всем преподавателям и датам. Хотя запрос сформулирован аналогично предыдущему, ситуация здесь иная. Конкретный студент по конкретному предмету может иметь только одну оценку, поставленную одним из преподавателей в один из учебных дней, поэтому множество сдач этого рода состоит из одного элемента, т. е. агрегация по измерениям «Преподаватель» и «Дата» фактически не требуется. При агрегировании по этим измерениям будет учтен единственный преподаватель и единственная дата (кем и когда принят экзамен) и результат будет тот же самый, как если бы этих измерений не было вовсе.
ФУНКЦИОНАЛЬНО ЗАВИСИМЫЕ ИЗМЕРЕНИЯ
В теории реляционных баз данных понятие функциональной зависимости используется для определения взаимосвязей между атрибутами отношения [2]. Формально функциональную зависимость множества В от множества А представляется в виде А ^ В; это означает, что каждому элементу множества В соответствует один элемент множества А, а каждому элементу множества А - ноль, один или несколько элементов множества В. Множество А называется детерминантом, а множество В - зависимым.
Измерение называется идентифицирующим для некоторой меры, если идентификатор факт-координат этого измерения входит в состав детерминанта функциональной зависимости факт-показателя этой меры, и неидентифицирующим в противном случае. Совокупность идентификаторов идентифицирующих измерений является идентификатором для показателя меры; показатель не зависит функционально от своих неидентифицирующих измерений. Вместе с тем, каждой факт-ячейке соответствуют единственные факт-координаты неидентифицирующих измерений, поэтому факт-координаты неиден-
тифицирующих измерений функционально зависят от совокупности факт-координат идентифицирующих измерений как от детерминанта.
Формально функциональные зависимости между измерениями можно выразить следующим образом. Пусть t - кортеж факт-координат. Представим его как t = {p, q) - где p -факт-координаты идентифицирующих измерений, а q - неидентифицирующих. Факт-показатели функционально зависят только от идентифицирующих измерений, поэтому p задает единственную факт-ячейку, и, следовательно, единственную соответствующую p совокупность q, т. е. существует функция G такая, то q = G( p). Тогда для произвольных факт-координат p и q имеет место следующее соотношение:
f (p q) _ \f (p,G(p)) _f(pX есл^(p) = q,
[Null в противном случае.
Условие G( p) = q, означает, что факт-координаты неидентифицирующих измерений q соответствуют факт-координатам идентифицирующих измерений p (привязаны к ним), в этом случае показатель зависит только от p . Нарушение этого условия означает, что координаты неидентифицирующих измерений не соответствуют координатам идентифицирующих, т. е. задана ячейка, которая заведомо пустая, что и отражается Null-значением показателя. Функция f(p) _ f (p, G(p)), зависящая только от идентифицирующих факт-координат, -это функция связанных показателей, т. е. показателей, относящихся к идентифицирующим факт-координатам и привязанным к ним идентифицирующим факт-координатам. Факт-ячейки, содержащие связанные показатели, будем называть связанными ячейками.
На рис. 5 поясняется ситуация функционально зависимых измерений на примере абстрактной двухмерной модели. Модель содержит идентифицирующее измерение P с шестью факт-координатами рь р2, ...рб и неидентифицирующее измерение Q тоже с шестью факт-координатами qb q2,...,q6.
Таким образом, факт-пространство содержит б X б = 36 факт-ячеек. Факт-координаты измерения Q функционально зависят от факт-координат измерения Р: (Р) ^Q, т. е. существует функция G такая, что q = G(p), p e P, q e Q.
Яю—Яе с
^77;
(6,6)
(5,5)
(4,4)
(3,3)
(2,2)
(1.1)
р, р2 Рз Р4
I
ЧР/"-
Рб Ре Р
'р£^
'Ра'
Рис. 5. К сведению по функционально зависимым измерениям
Каждой факт-координате измерения Р соответствует одна факт-координата измерения <9; для примера на рис. 5 это qu р2--> q2, ■■■ , р,,—> q6. Поэтому из 6 ячеек, адресуемых каждой из координат ри р2 р6, заполненной (связанной) оказывается только одна, а остальные являются заведомо пустыми, содержащими Null-значения показателей. Функция связанных показателей имеет вид:
Ф(А) = /(М1 X ^(P2) = f(P2,Ch),
§(Рб) = АРб,‘1б)-
СВЕДЕНИЕ ПОКАЗАТЕЛЕЙ
Наличие функциональных зависимостей между измерениями приводит к тому, что сведение показателей выполняется не во всем пространстве факт-ячеек, а лишь в подпространстве связанных факт-ячеек. Действительно, факт-ячейки, не являющиеся связанными, игнорируются при агрегировании. Пусть для подсчета сводного показателя выполняется агрегация ^§§ГдеП0/(р^) ПО некоторому ПОДМНОЖеСТВу
Ll0 факт-координат с/ неидентифицирующих
измерений для фиксированных факт-координат р идентифицирующих измерений. Для фиксированных координат р имеются соответствующие им координаты неидентифицирующих измерений G( р), которым, в свою очередь, не более одной факт-ячейки. В соответствии с формулой (2) и с учетом того, что элементы, имеющие Null-значения, игнорируются при агрегировании, получаем
\f(P,G(p)) = §(p),Qz™G{p)&Qe,
I Null в противном случае.
Aggr f(p,q)=-
qenr
Первый случай соответствует ситуации, в которой совокупность координат неидентифи-
цирующих измерений (Ц р ), соответствующая совокупности фиксированных координат идентифицирующих измерений р , попадает в множество 0,0 координат свертки. В этом случае значение агрегата - это значение факт-показателя /(р,д) = ^(р), единственного из агрегируемых, имеющего не №д11-значение. Второй случай соответствует ситуации, в которой координаты (Ц р) лежат за пределами множества
Од. В этом случае все агрегируемые показатели имеют №д11-значения, поэтому и результат агрегирования - тоже №д11-значение.
Возвращаясь к рис. 5, обратим внимание на укрупненные координаты измерений. В измерении Р имеются две координаты второго уровня иерархии: /;7 и р%, а в измерении О - три: q^, q% и q9. При вычислении сводного показателя, скажем, /'(/л,. с/,,), необходимо выполнить агрегирование факт-показателей по неидентифицирующим координатам q^ и q6, что дает
ЩРб, <?9) = {Др6, q5),_f{p6, q6)} =
=ЯРв, ?б) = Ф(^6) •
Здесь учтено, что координата q5 не соответствует координате р6, поэтому показатель /(/л,, с/;,) имеет ЫиП-значение.
Иной случай имеет место при вычислении сводного показателя, скажем, Р{р6, qs). Идентифицирующей координате рв соответствует неидентифицирующая координата q6, которая, в свою очередь, принадлежит укрупненной координате <79. Поэтому при сведении по укрупненной координате р% результат будет иметь №д11-значение.
ЭФФЕКТ ФИЛЬТРАЦИИ
Итак, результатом промежуточного сведения по неидентифицирующим измерениям является либо значение показателя для соответствующих координат идентифицирующего измерения, либо №д11-значение. Поскольку №д11-значения не участвуют в дальнейшем агрегировании (игнорируются), то это явление можно рассматривать как особую форму фильтрации идентифицирующих координат при подсчете сводных показателей, а именно, идентифицирующие факт-координаты, для которых привязанные неидентифицирующие факт-координаты не попадают в множество укрупнения, фильтруются при агрегировании (множество укрупнения представляет собой некоторое подмножество всех факт-координат, соответствующее выбранным укрупненным координатам). Заме-
тим, что для корневой координаты типа «Все» в плотной (неразреженной) иерархии множество укрупнения совпадает с множеством всех факт-координат измерения, поэтому для каждой совокупности идентифицирующих факт-координат найдется совокупность привязанных неидентифицирующих координат, т. е. эффект фильтрации не возникнет.
Вновь возвратимся к рис. 5. Пусть требуется сводный показатель F(p8, д9) ячейки, адресуемой двумя укрупненными координатами р8 и q9. Координата р8 имеет 3 дочерние факт-координаты р4, р5 и р6, для которых, в свою очередь, имеется 3 привязанных факт-координаты q4, q5 и q6. Координата q9 имеет 2 дочерние факт-координаты q5 и q6. Таким образом, координата q4, привязанная к координате р4, не является дочерней для укрупненной координаты q9, и в процессе агрегирования соответствующая ячейка У(р4, q4) будет проигнорирована, т. е.
Щрг, q9) = Леег {Кр5, qs), }(рб, q6)} = Леег {ф(р5), ф(Р6)}.
Это эквивалентно фильтру с условием Р Ф Ф р4, установленному на измерении Р.
Рассмотрим теперь сведение корневого показателя, скажем, F(p8, q10). Координата типа «Все» q10 содержит в качестве глобально дочерних все факт-координаты измерения Q, поэтому все 3 связанные ячейки, адресуемые факт-координатами р4, р5 и р6, будут участвовать в агрегировании, т. е.
Щрг, q 1 о) = Леег {/(р4, q4),ЛР5, q5),Др6, q6)} = =Л88Г { ф(P4), Ф(P5), Ф(р6) }.
Как видим, эффект фильтрации отсутствует.
ЗАКЛЮЧЕНИЕ
Итак, при выполнении операции сведения показателей по измерениям в многомерной модели данных следует учитывать функциональные зависимости между измерениями. Предложено формализованное описание операции сведения по измерениям как процедуры последовательного агрегирования локально дочерних показателей для агрегатных функций общего вида. Введены понятия идентифицирующего и неидентифицирующего измерений, а также выявлена функциональная зависимость факт-
координат неидентифицирующих измерений от факт-координат идентифицирующих измере-
ний. Предложенное формализованное описание операции сведения по измерениям распространено на случай функционально зависимых измерений. Показано, что операция сведения по функционально-зависимым измерениям является особой формой фильтрации и сопровождается игнорированием идентифицирующих факт-координат, для которых привязанные неидентифицирующие факт-координаты не попадают в множество укрупнения.
СПИСОК ЛИТЕРАТУРЫ
1. Codd E. F. Providing OLAP for end-user analysis: An IT mandate. ComputerWorld, 1993.
2. Date C. J. An Introduction to Database Systems. 2004. ссылку на первое издание!
3. Emerging cubes for trends analysis in OLAP databases / S. Nedjar [et al.] // DaWaK. Lecture Notes in Computer Science. Springer, 2007. Vol. 4654. P. 135144. DOI: 10.1007/978-3-540-74553-2_13.
4. Harinath S., Quinn S. Professional SQL Server Analysis Services 2005 with MDX. N. Y.: Wiley, 2007. 848 p.
5. Spofford G., Harinath S. MDX Solutions: With Microsoft SQL Server Analysis Services 2005 and Hyperion Essbase. N.Y.: Wiley, 2006. 744 p.
6. Методы и модели анализа данных: OLAP и Data Mining / А. А. Барсегян [и др.]. СПб.: БХВ-Петербург, 2004. 336 с.
7. Microsoft SQL Server 2005 Analysis Services. OLAP и многомерный анализ данных / А. Б. Бергер [и др.]. СПб.: БХВ-Петербург, 2007. 928 с.
8. Кузнецов С. Д., Кудрявцев Ю. А. Математическая модель OLAP-кубов // Программирование. 2009. Т. 35, № 5. С. 26-36.
9. Миронов В. В., Юсупова Н. И. Концептуальные модели баз данных. Многомерные модели. Уфа: УГАТУ, 2010. 83 с.
ОБ АВТОРАХ
Миронов Валерий Викторович, проф. каф. АСУ. Дипл. радиофизик (Воронежский гос. ун-т, 1975). Д-р техн. наук по управл. в техн. системах (УГАТУ, 1995). Иссл. в обл. иерархических моделей и ситуационного управления.
Макарова Екатерина Сергеевна, асп. той же кафедры. Дипл. магистр по информатике и вычислительной технике (УГАТУ, 2010). Готовит дис. в обл. OLAP-технологий.