Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка 1. Внешние модели данных.doc
Скачиваний:
7
Добавлен:
16.08.2019
Размер:
724.48 Кб
Скачать

1.5. Модель «гиперкуб данных»

Иерархическая модель является распространенной, но не единственной моделью для внешнего локального представления данных. В OLAP-системах (см. примечание на с. 7) для этого применяются многомерные модели типа «гиперкуб данных». Обсудим их в общих чертах.

Г иперкуб данных (Data Hypercube) или просто куб дан­ных (Data Cube) — это организация данных в виде мно­гомерного массива (рис. 2.20). Куб данных имеет несколь­ко независимых измерений (Dimensions), задающих си­стему координат пространства данных (на рисунке пока­зан трехмерный куб с измерениями (X, У и Z). Каждое измерение — это конечное множество однородных значе­ний данных, образующее грань куба, оно соответствует до­мену в модели, рассмотренной ранее (на рисунке в каче­стве значений измерений приведены отрезки натурально­го числового ряда, в общем случае это могут быть годы, месяцы, регионы, города, названия предприятий, виды продукции и т. п.). Некоторое значение измерения зада­ет координату по этому измерению. Совокупность координат по всем измерениям идентифицирует ячейку (Cell)или элемент (Item) куба (на рисунке показана ячейка Cijk с координатами (Xi,Yj,Zk), т.е. соответствующая значению iизмерения X, значению jизмерения Y и значению к измерения Z). В каждой ячейке размещены в общем случае несколько показателей или фактов (Facts) — данных, хранящихся в кубе (на рисунке с каждой ячейкой ассоциировано р фактов: (f1,f2…..fp). Обычно все факты одного q-ro типа в кубе однородны, т.е. являются различными значениями некоторо­го показателя процесса, информация о котором собрана в хранилище дан­ных. Как правило, это числовые значения (так называемые статистики)1: коли­чества и стоимости поставленных или проданных товаров, произведенной продукции, суммы банковских операций и другие данные, привязанные к координатам времени, места, условий и т.д. Для гиперкуба предусмотрен ряд специфических операций манипулирования данными, в том числе:

  • срез (Slice) путем фиксации координат куба по неко­торым измерениям (на рисунке с помощью серой заливки показан срез по Xi);

  • поворот (Rotation), заключающийся в изменении по­рядка следования измерений в кубе удобным для пользо­вателя образом;

  • агрегирование (Aggregation), позволяющее построить из куба или его среза новый куб путем укрупнения (груп­пирования) определенных ячеек;

  • детализация (Drill-down), состоящая в разукрупне­нии агрегированных ячеек.

Пример. На рис. 1.21 приведен трехмерный гипер­куб, содержащий сведения об успеваемости студентов. Измерения «Студенты», «Предметы» и «Семестры» в качестве значений ис­пользуют уникальные коды студентов, предметов и се­местров соответственно. Ячейки куба содержат един­ственный показатель — оценку, полученную неко­торым студентом по неко­торому предмету в некото­ром семестре. Срезы куба по студентам позволяют анализировать успеваемость отдельных студентов в зави­симости от предметов и семестров, срезы по предметам — успеваемость по отдельным предметам в зависимости от студентов и семестров и т. д.

Разреженность (Sparse) куба данных, характерная для многих практических приложений многомерных моделей данных, в данном примере проявляется в том, что значительная часть ячеек будет неза­полненной (иметь неопределенные значения Null). Большинство пред­метов изучается в одном семестре, немногие — в двух, и лишь совсем немногие — в трех или четырех. Поэтому оценки по тем или иным предметам могут присутствовать лишь в срезах соответствующих семе­стров. Не будет оценок у студентов, которые еще не приступили к изу­чению данных предметов. Студенты разных специальностей изучают разные наборы предметов в соответствии со своими учебными плана­ми и т. д. Подобное нерациональное использование пространства гипер­куба не рассматривается в OLAP как «криминал», главный фактор — удобство представления данных пользователю2.

Агрегирование ячеек гиперкуба — принципиально важная операция манипулирования данными, учитывая, что основное назначение этой модели — многомерный статистический анализ данных в интересах поддержки принятия решений. Так, в рассмотренном выше при­мере может потребоваться анализировать успеваемость не на уровне отдельных студентов, а на уровне студенче­ских групп, специальностей или целых направлений под­готовки специалистов. Или не для отдельных предметов, а для циклов предметов (гуманитарных, естественнонауч­ных, специальных и т. д.). Для этого нужно группировать вместе ячейки, относящиеся к одной студенческой груп­пе, специальности, направлению, циклу предметов и т. д. и для таких укрупненных ячеек вычислять укрупненные (агрегированные) показатели. В свою очередь, для этого в модели гиперкуба необходимы сведения двух родов:

  1. критерии группирования, т.е. предикаты, позволя­ющие относить ячейки к той или иной группе, а группы — к той или иной супергруппе и т. д.;

  1. правила вычисления агрегированных данных, по­зволяющие на основе исходных показателей укрупняемых ячеек, получать показатели укрупненных ячеек3.

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

Пример. На рис. 1.22, а приведен пример иерархии значений измерения «Студент» для гиперкуба учета успеваемости (см. рис. 1.21). Иерархия построена из четырех уровней, называемых в данной терминологии элементами измерения (Dimension Elements). Элемент верхнего уровня (первого) «Направление» включает несколько направлений обучения. Каждое направление содержит, вообще говоря, несколько специальностей обучения, относящихся к элементу второго уровня «Специальность». Каждая специальность включает несколько студенческих групп — элемент третьего уровня иерархии «Группа». И наконец, каждая группа включает несколько студен­тов — элемент четвертого уровня «Студент». Если рассматривать иерархию в обратном направлении (снизу вверх), то можно утверждать, что каждый студент входит в состав неко­торой студенческой группы, каждая группа принадлежит некоторой специальности, а каждая специальность — некоторому направлению. Каждый элемент измерения характеризуется ключом, уникально идентифицирующим экземпляр этого элемента в множестве экземпляров, соответствую­щих одному экземпляру вышестоящего элемента. Помимо ключевых в элементах могут присутствовать неключевые атрибуты, содержа­щие полезную информацию, относящуюся к элементам измерений (названия направлений, специальностей и т.п.). Очевидно, такая структура — это то же самое, что и иерархия вложенных многознач­ных агрегатов в иерархической модели.

Приведенная иерархия позволяет для каждого студента опреде­лить, к какой студенческой группе он приписан, на какой специаль­ности и по какому направлению он обучается. Это, в свою очередь, по­зволяет группировать срезы куба по измерению «Студенты», объеди­няя в одну группу срезы отдельных студентов, обучающихся в одной студенческой группе, на одной специальности или по одному направ­лению. Каждая группа срезов в результате агрегирования заменяет­ся одним укрупненным срезом, в котором объединяются ячейки, со­ответствующие разным студентам и одинаковым значениям координат по остальным измерениям (рис. 1.22, б).

Какие же данные доступны для анализа при использовании агре­гированного куба? Для анализа успеваемости обычно оперируют та­кими статистиками, как средний балл и процентные соотношения тех или иных оценок студентов. Пусть требуется анализировать средний балл. Тогда в качестве показателей, хранимых в ячейках куба, доста­точно использовать две статистики: суммарную оценку и количество студентов; разделив первое на второе, получим средний балл. При вы­числении агрегированных показателей одноименные показатели ис­ходных ячеек суммируются.

Диаграмма модели «гиперкуб» должна, в соответствии с изложенным выше, содержать сведения о типах фактов, хранимых в ячейках куба, и о правилах вычисления аг­регированных показателей для каждого факта, об изме­рениях куба, об иерархиях значений по каждому измере­нию. Как и в случае «сложной таблицы» для этого исполь­зуется иерархическая структура (рис. 1.23). Верхний уро­вень иерархии представляет сам гиперкуб, имя которого записано внутри символа трехмерного параллелепипеда. На втором уровне представлены измерения куба и храни­мые в нем факты. Измерения изображены в виде прямо­угольников, в которых записаны их имена. Иерархия зна­чений в измерениях задается с помощью вложенных агре­гатов-элементов измерений (обратите внимание на то, что иерархия задана в обратном порядке, от «ребенка» к «ро­дителю», ср. рис. 1.22, а). Каждое измерение представлено в форме «сложной таблицы», содержащей значения изме­рения и показатели иерархии. Факты представлены агре­гатом, атрибуты которого соответствуют показателям ку­ба.

Концептуальные отличия «гиперкуба» от «сложной та­блицы» требуют дополнительного обсуждения, поскольку диаграммы этих двух моделей очень похожи и возника­ет подозрение, не являются ли они, по-существу, одним и тем же в плане возможностей доступа к данным? Такое подозрение является обоснованным, поскольку, как будет показано ниже, гиперкуб всегда можно без потери инфор­мации представить в виде сложной таблицы. Однако име­ются отличия, связанные с восприятием данных пользова­телями в этих моделях:

• занесение строк и за­полнение ячеек. Если по­полнение сложной таблицы воспринимается пользова­телем как добавление в нее новых строк (экземпляров сущности), то пополнение гиперкуба — как заполне­ние данными пустых ячеек. Измерения гиперкуба рас­сматриваются пользователем как структурные компонен­ты модели, а добавление или удаление «координат» в том или ином измерении — как «деформация» (хотя и простейшая) структуры гиперкуба. В иерархиче­ской модели аналогичные действия связаны с изме­нением значений данных, хранящихся в таблице;

• разнородность свойств и однородность фактов. Если содержимое сложной табли­цы воспринимается как совокупность кортежей (строк) разнородных сведений об объектах предметной области, то содержимое гиперкуба — как совокупности однородных показателей, привязанных к координатам многомерного пространства данных. Разнородность гиперкуба — это разнородность (между собой) его измерений, а также разнородность иерархической организации однородных значений измерений.

Представление гиперкуба сложной таблицей. Из ска­занного выше следует, что иерархическая модель являет­ся более универсальной моделью данных, чем гиперкуб — специализированная модель для отражения однородных фактов в пространстве разнородных измерений. Следова­тельно, гиперкуб может быть представлен эквивалентной сложной таблицей. Обсудим, как это сделать.

Гиперкуб как совокупность ячеек, привязанных к коорди­натам измерений, — эта точ­ка зрения может быть отправ­ной при преобразовании моде­ли. Построим сложную табли­цу, каждая строка (экземпляр сущности) которой соответству­ет некоторой ячейке гиперкуба вместе с ее координатами. Для этого к атрибутам фактов в стро­ке добавим атрибуты коорди­нат измерений ячейки и сведе­ния о принадлежности коорди­нат тому или иному элементу ие­рархии измерения. На рис. 1.24 приведен пример получившейся диаграммы для гиперкуба успе­ваемости. Каждая ячейка ис­ходного куба имеет уникаль­ные координаты, поэтому в та­блице атрибуты координат из­мерений являются компонента­ми первичного ключа (помече­ны символами «■»).

Пустые ячейки, являющиеся вполне естественными в гиперкубе, могут «потеряться» при переходе к слож­ной таблице. Если таблица заполняется путем занесения строк-ячеек, содержащих факты, то в ней хранятся значения только «актуальных координат»4 ячеек куба, в ко­торых присутствуют факты. Сведения о координатах с пу­стыми ячейками теряются. Если полные сведения о соста­ве координат куба являются существенными, то необхо­димо разместить в таблице строки, соответствующие всем ячейкам куба, используя Null-значения фактов в незапол­ненных ячейках (что, вообще говоря, не приветствуется, см. гл. 6).

1 Статистикой (наукой) занимаются статистики (ученые), которые изучают статистики (показатели).

2 Напомним, что рассматривается концептуальный уровень проекти­рования, на котором вопросы производительности базы данных не яв­ляются главными. При реализации гиперкуба в рамках построенной концептуальной модели применяются различные способы сокращения неиспользуемой памяти.

3 Отметим отличие понятий агрегата / агрегирования в рассмотрен­ной выше иерархической модели и в модели гиперкуба. В первом слу­чае имеется в виду именованное объединение (укрупнение) нескольких атрибутов, позволяющее манипулировать целиком кортежами значе­ний атрибутов (экземплярами атрибутов) наряду с доступом к отдель­ным атрибутам. Во втором случае укрупнение ячеек в процессе агреги­рования сопровождается заменой их исходного содержимого на некото­рое новое значение, например, сумму исходных значений.

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

Резюме

В этой главе рассмотрены внешние модели данных, от­ражающие информационные потребности отдельных кате­горий пользователей автоматизированной системы. Основ­ное внимание уделено иерархической модели «сложная таблица», в завершение кратко рассмотрена модель «ги­перкуб данных». Иерархическая модель определяет сущ­ность, в состав которой могут входить иерархически ор­ганизованные одно- и многозначные атрибуты и агрега­ты данных. Она удобна в качестве модели внешнего пред­ставления в операциональных базах данных. Ограниче­ния целостности базы данных задаются уже на этапе проектирования внешних моделей и учитывают уникаль­ность, обязательность, множественность, виртуальность данных, а также правила активности базы данных в от­вет на определенные события. Построение иерархической модели предполагает учет ориентации модели, выбор клю­чевых атрибутов, конструирование агрегатов, обобщение атрибутов. Модель «гиперкуб данных» задает многомер­ное пространство измерений, к координатам которого при­вязаны ячейки с фактами. Она получила широкое распро­странение в базах данных, предназначенных для много­мерного статистического анализа и поддержки принятия решений.

29

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]