Формирование представлений данных с контекстными ограничениями

12. Casanova M., Fagin R., Papadimitriou C. Inclusion Dependencies and Their Interaction with Functional Dependencies// Journal of Computer and System Sciences. — 1984. - № 28(1). - P. 29 - 59.

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

14. Levene M., Vincent M.W. Justification for Inclusion Dependency Normal Form// IEEE Transactions on Knowledge and Data Engineering. - 2000. - V 12. - № 2. - P. 281 - 291.

15. Garmany J., Walker J., Clark T. Logical Database Design Principles. - New York: Auerbach Publications, 2005. - 180 p.

16. Beeri C., Fagin R., Maier D., Yannakakis M. On the Desirability of Acyclic Database Schemes// ACM. - 1983. - V 30. - № 3. - P. 479 - 513.

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

ЗЫКИН Сергей Владимирович, доктор технических наук, заведующий лабораторией «Методы представления и преобразования информации» Омского филиала Института математики СО РАН, профессор кафедры «Автоматизированные системы обработки информации и управления» Омского государственного технического университета.

Дата поступления статьи в редакцию: 29.04.2008 г.

© Зыкин С.В.

УДК 519 72 С. В. ЗЫКИН

А. Н. ПОЛУЯНОВ

Омский филиал Института математики СО РАН Омский государственный технический университет

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

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

1. Введение

Формирование гиперкубического (многомерного) представления данных является основой для технологии оперативной аналитической обработки данных OLAP (online analytical processing) [1—6]. Такое представление используется в интеллектуальном анализе данных (Data Mining) [5 — 7]. В работах, посвященных данной тематике, основное внимание уделяется оптимизации времени формирования гиперкубического представления данных. Тогда как схемы гиперкубов считаются неизменными. Например, в работе [4] формулируется следующий тезис: «Прежде чем выполнить любое ... из оптимизирующих преобразований, следует очень тщательно разобраться в том, какой именно потребуется анализ и какие для этого необходимы отчеты и служебная информация». В данной работе предполагается, что основой аналитической работы пользователя является необходимость формирования новых гиперкубов, а не многократное формирование реализации одного и того же гиперкуба. Следовательно, основное внимание необходимо акцентировать на сокращении времени формирования схемы нового гиперкуба, а формирование представления гиперкуба должно быть выполнено автоматически алгоритмами, соответствующими выбранному классу схем.

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

В работе [9] для автоматизации формирования гиперкуба предлагается использовать последовательность преобразований:

RRD ^ ТС ^ ST,

где RRD — реляционное представление данных, XI — таблица соединений, ST — гиперкуб «семантическая трансформация». В данном случае RRD представление исходной модели данных, ST — целевой. Представление XI является промежуточным. В данной работе предлагается решение проблемы наложение ограничений в общем случае: для реляционной БД с произвольной схемой и реализации произвольного

«ОМСКИЙ НАУЧНЫЙ ВЕСТНИК» № 1 (64) ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ. РАДИОТЕХНИКА И СВЯЗЬ

ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ. РАДИОТЕХНИКА И СВЯЗЬ «ОМСКИЙ НАУЧНЫЙ ВЕСТНИК» № 1

объема. Следует отметить, что при традиционном способе формирования гиперкуба (использование ЯОЬ-таблиц в качестве промежуточного представления данных) проблема наложения ограничения на данные не является актуальной, поскольку формируемые «вручную» ЯОЬ-команды могут содержать любые ограничения [2].

2. Описание задачи

Кратко рассмотрим принцип формирования таблицы соединений (Б — таблицы) [10]. Пусть задано множество отношений ЭД={К1Г ..., Кк}, выбранных пользователем из реляционной БД [11] для формирования гиперкуба, где Я определены на подмножествах атрибутов [К1]си={А1,Л2Г...гА11}=[К1]и[К2]и...и[Кк]. Кортеж 1[Х] — совокупность значений атрибутов А.е Хеи, заданных в кортеже 1е Н1. Определим пустое значение атрибута А. в кортеже и: и[А.]=етр. При этом значение етр не равно любому другому значению, в том числе неопределенному и пустому. В отношениях ^ допустимо присутствие определенных и неопределенных значений, а значение етр является служебным и может появиться только в формируемом кортеже таблицы соединений, как следствие отсутствия соответствующего кортежа в ^. В пользовательском представлении данных (гиперкубе) значение етр и неопределенные значения будут обозначать одно и тоже — отсутствующее значение данных, а причины, по которым это значение отсутствует, в гиперкубе несущественны.

Определение 1. Выражение ...*йк, где

* — операция естественного соединения, будем называть существующим соединением, если для совокупности отношений И1, 1=1,...,к, существует хотя бы одна перестановка У1 , У2 , ..., Ук отношений ^ , К2 , ..., Кк такая, что ([У1]и[У2]и...и[У,])п[У,+1] * 0, ]=1,...,к-1.

Таблица со единений (8,1), где Б — отношение, определенное на множестве атрибутов и, формируется следующим образом: пусть 1е Б некоторый кортеж. Для каждого кортежа и каждого существующего соединения формируется кортеж 1 по следующим правилам: 1[А.]=и[А.], если атрибут А. принадлежит соединению, и 1[А.] = етр в противном случае. Каждому кортежу поставим в соответствие битовый вектор

1(1) = (11(1), 12(1).1к(1)) , где 1.(1)=1 , если отношение И.

участвует в текущем соединении, и 1.(1)=0 в противном случае.

Рассмотрим отношение частичного порядка над кортежами 1е 8.

Определение 2. Кортеж 1е Б является менее определенным или равным кортежу 1'е Б, когда для любого атрибута А выполнено: если 1[А]*1'[А], то 1[А1]=етр

и 1.(1')>1.(1), .=1 к. В этом случае будем писать: 1 < 1' и

назовем кортеж 1 подчиненным кортежу 1'.

Замечание. Рассмотренное определение частичного порядка означает то, что кортеж 1' содержит в себе все менее определенные либо равные кортежи. Следовательно, в представлении 8 достаточно хранить только кортеж 1'.

Определение 3. Представление данных Б со схемой (А1, А2, ..., Ап, 1), в котором удалены все подчиненные кортежи, будем называть Б-таблицей.

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

Для реализации ограничений на данные предлагается ввести понятие контекстного ограничения.

Определение 4. Совокупность отношений С = Ш ,,., R ,„, ..., R ,..} будем называть естественным

1 ш(1)' т(2)' тф' ^

контекстным ограничением или просто контекстом, если при формировании Б-таблицы участвует результат естественного соединения отношений {йш(1), йш(2), ..., Кт())} и не участвуют их остатки. Набор естественных контекстных ограничений обозначим

С = {С1,С2 Ср}.

Ограничение называется «контекстным», поскольку отношения ограничивают данные друг друга за счет операции естественного соединения.

Дополнительное ограничение F накладывается на все кортежи Б — таблицы. F представляет собой логическое выражение, состоящее из атомарных условий F1, связанных операциями л (конъюнкция), V (дизъюнкция), - (отрицание). F1 — атомарное условие: А10соп81 либо А10Ат, где 0 - операция ( = , ф, <, >, <, >). Неопределенные атомарные условия на промежуточных естественных соединениях заменяются на значение "ИСТИНА", чтобы не влиять на промежуточные результаты.

Сформированная Б-таблица является источником данных для построения гиперкуба. Пусть X — множество атрибутов из и, входящих без изменения в результирующее представление БТ, У — множество атрибутов из и, значения которых становятся именами атрибутов в результирующем представлении, Ъ — множество атрибутов из и, значения которых, становятся значениями вновь введенных атрибутов. На множества X, У, Ъ накладываются ограничения: X п У = 0, X п Ъ = 0, У п Ъ = 0.

Схема БТ имеет следующий вид:

БсЫБТН X, Бот(У)х{Ъ} },

где БсИ - схема отношения, Бот - множество допустимых значений атрибутов, х — декартово произведение. Бот(У) = Бот(У1) х Бот(У2) х ... х Бот(Уч), У.

е У. Вновь введенные атрибуты имеют следующие имена: у11.у)чЪр , где у. — .-тое значение атрибута У1, Ър - атрибут из множества Ъ.

Рассмотрим два примера формирования гиперкубов на основании схемы РБД «Деканат».

Для формирования гиперкуба «Расписание занятий» используются следующие параметры:

• Выбранные отношения: Начало_занятий, Неделя, Предметы, Преподаватели, Расписание, Спи-сок_групп;

• Атрибуты множества X: № дня недели, День недели, № пары, Время начала пары;

• Атрибут множества У: Код группы;

• Атрибуты множества Ъ: Предмет, ФИО преподавателя, № аудитории;

• Ограничения F = 0, С = 0;

Результирующее представление БТ не содержит контекстных ограничений, и, соответственно в таблицу соединений будут включены все остатки отношений и их естественных соединений. В результирующем представлении БТ остатки представляют собой кортежи, в которых заполнены только поля «№ дня недели» и «день недели», т.е. ни у одной группы занятий в этот день нет. Если возникает необходимость в результирующее представление включать только те дни недели, на которые назначены занятия, то необходимо указать контекстное ограничение С = {{Неделя, Расписание}}.

Для формирования гиперкуба «Экзаменационная ведомость» используются следующие параметры:

• Выбранные отношения: Специальности, Спи-сок_групп, Предметы, Студенты, Оценки;

• Атрибуты множества X: Код группы, ФИО студента;

• Атрибут множества У: Предмет;

• Атрибуты множества 7: Оценка;

• Ограничения F = «Специальность = ‘Прикладная математика'», С = {{Специальности, Список_групп, Студенты}};

Результирующее представление БТ имеет ограничение F для отбора оценок только тех студентов, которые обучаются по определенной специальности. Для корректной реализации данного ограничения указывается естественное контекстное ограничение {Специальности, Список_групп, Студенты}. При использовании контекстного ограничения в таблицу соединений не попадут остатки отношений «Студенты.» и «Список_групп» соответствующие специальностям, отличным от специальности, указанной в ограничении F.

3. Формирование таблицы соединений

В работе [9] рассматривается алгоритм построения таблицы соединения «сверху вниз». То есть, сначала формируется естественное соединение всех отношений, входящих в ЭД, и результат дополняется к изначально пустой таблице соединения. Затем формируются естественные соединения для подмножеств отношений, являющихся сочетаниями без повторений из к элементов по . где .=к-1,к-2,...,1, и удовлетворяющих определению 1. Из этих соединений в таблицу соединений дополняются только те кортежи, которые не являются подчиненными кортежам, уже присутствующим в Б-таблице. Возможна другая стратегия формирования Б-таблицы: «снизу вверх». Сначала формируются кортежи в Б-таблице для единичных отношений, затем для парных соединений и т.д., с удалением подчиненных кортежей в Б-таблице. С точки зрения конечного результата обе этих стратегии неразличимы. Однако вторая стратегия требует значительного объема памяти для хранения промежуточных результатов при одинаковом количестве операций ввода/вывода. Действительно, для первой стратегии на каждой итерации в Б-таблице остаются только те кортежи, которые должны быть в конечном результате, а для второй стратегии это не так. Промежуточные соединения при второй стратегии с использованием оптимизаторов в СУБД эффективнее выполнять на исходных отношениях (для первой стратегии это единственная возможность), а не «вытаскивать» их из существующей на данный момент Б-таблицы. Следовательно, по количеству операций эти стратегии эквивалентны. Приведенные рассуждения являются обоснованием использования стратегии «сверху вниз» при построении Б-таблицы без ограничений. Аналогичная стратегия будет более эффективной при построении Б-таблицы с ограничениями.

Прежде чем формировать результирующей Б-таблицы, надо определить способ представления информации о контекстах. Пусть единичный контекст С. будет задан в виде совокупности номеров отношений из исходного множества ЭД, например {1,3,8}. Отношения, выбранные для формирования гиперкуба, но не участвующие в каких-либо контекстах для единообразия будем считать отдельными (свободными) контекстами, состоящими из единственного отношения.

Проблема формирования Б-таблицы из контекстов состоит в определении вектора вхождений 1, который используется при определении подчиненных кортежей. Например, С1={1,2}, С2={1}. Некоторые кортежи

из С2 будут содержаться как часть кортежей в С1, следовательно, в Б-таблицу из С2 должен быть дополнен только остаток. Отфильтровать дублированные кортежи можно будет только тогда, когда вектор вхождений 1 будет соответствовать исходным отношениям ^, а не контекстам С..

Существует два способа формирования Б-таб-лицы, решающих указанную проблему: 1) преобразовать все контексты во временные Б-таблицы, а затем комбинировать эти таблицы, введя операцию, аналогичную естественному соединению; 2) последовательно генерировать сочетания без повторений по схеме «сверху вниз» и реализовывать в виде Б-таблиц только те сочетания отношений, которые совпадают с контекстами, либо с их комбинацией. Второй вариант алгоритмически сложнее, однако предпочтительнее первого, поскольку комбинирование осуществляется со вспомогательными структурами в оперативной памяти и нет необходимости формирования временных таблиц.

Алгоритм формирования Б-таблицы без ограничений [9] является частным случаем алгоритма формирования Б-таблицы с ограничениями. Действительно, если отказаться от контекстных ограничений, тогда каждое отношение в ЭД будет свободным контекстом и для каждой комбинации отношений 1т будет существовать соответствующая комбинация контекстов, а именно сами эти отношения. В этом случае проверка на совпадение комбинации отношений с комбинацией контекстов становится ненужной, и рассмотренный алгоритм будет эквивалентным алгоритму в [9]. Кроме того, удалена дополнительная проверка наличия подчиненных кортежей в (8,1) кортежам в (Б',1'), поскольку при использовании стратегии формирования Б-таблицы «сверху вниз» такие кортежи просто не существуют.

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

Ранее рассмотрена общая схема представления данных «Семантическая трансформация» [13], для которой источником данных является таблица соединений. В статье [9] предложен наиболее удачный способ «развертки» этого представления в гиперкуб, когда Бот(Х) — значения вдоль первой координаты, Пот^) х {7} — значения вдоль второй координаты, Бот(У2) х {7} — значения вдоль третьей координаты и т.д. Учитывая, что в данной работе на Б-таблицу накладываются ограничения, в общем случае вдоль каждой координаты область значений будет меньше, чем Бот(Х) и Бот(У). Поскольку область значений координат определяется результирующей Б-таблицей, обозначим Т.1[Х] — область значений по координате X, Т.1[У] — область значений по координате У., .=1,...^. Схема гиперкуба будет иметь следующий вид:

БсЫБТ) = { X, Т-ЦУ^да,

ТТ^х^} Т-[Уч]х{7}}.

Гиперкуб в примере 1 имеет аналогичную схему при q=1.

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

«ОМСКИЙ НАУЧНЫЙ ВЕСТНИК» № 1 (64) ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ. РАДИОТЕХНИКА И СВЯЗЬ

ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ. РАДИОТЕХНИКА И СВЯЗЬ «ОМСКИЙ НАУЧНЫЙ ВЕСТНИК» № 1

строк заголовков, соответствующих вектору у‘1.у)к, для более наглядного представления результата: верхняя строка соответствует значениям у|1 с наименьшим интервалом значений, вторая с большим, чем первая, но меньшим, чем третья, и т.д.

Для гиперкуба со схемой БсИ^Т), рассматриваемого в данной работе, вполне логично предоставить пользователю выбор сортировки значений по каждой координате. Для реализации такой сортировки предлагается создать временный образ Б-таблицы в оперативной памяти Тетр(БТ), с учетом накладываемых ограничений он не должен быть слишком большим. После формирования Тетр(БТ) сортировка по координатам может быть выполнена любым алгоритмом сортировки в оперативной памяти посредством перестановки слоев гиперкуба.

Условием существования гиперкуба является наличие функциональной зависимости ХУ-—7 [14]. Операция объединения использована в алгоритме с целью недопущения дублирования значений координат. В реализации целесообразно иметь возможность использования непрямой сортировки: для атрибутов X и У вводятся дополнительные атрибуты, по которым осуществляется сортировка. При загрузке БТ эти атрибуты удаляются.

5. Заключение

Содержание данной работы носит декларативный характер. От этого можно было бы избавиться, если найти исходное представление данных, которое послужит эталоном правильного набора кортежей после наложения на него ограничений. Тогда можно доказать корректность тех или иных алгоритмов. Претендентом на эту роль может служить универсальное реляционное отношение (УРО) [11]. Однако оно существует не для всех реализаций БД и необходимо искать расширение этого отношения, порождая дополнительные проблемы доказательства корректности такого расширения. Обобщением УРО на произвольные реляционные БД является таблица соединений [10]. Поскольку она сама используется в качестве промежуточного представления данных, то проблема доказательства корректности построений становится неактуальной. Дополнительным аргументом в пользу предложенной технологии является то, что она является естественным обобщением технологии построения гиперкуба, предложенной в работе [9].

К сожалению, в данной работе при формировании новой схемы гиперкуба предполагается участие специалиста, знакомого с деталями реализации данной технологии. Однако его работа будет полностью автоматизирована: новая схема формируется с использованием инструментария, а не программируется. Специалист не потребуется, если у пользователя будет возможность посредством инструментария задать координаты гиперкуба и некие ограничения на формирование его представления. Но тогда возникают неоднозначности в выборе набора исходных отношений БД и способе реализации ограничений на этих отношениях. Решить проблему неоднозначности можно вычислив возможные контексты автоматически, и предложить пользователю выбор нужных контекстов. Однако при этом возникает проблема семантической интерпретации контекстов пользователем. В дальнейшем предпола-

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

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

1. Harinarayan V., Rajaraman A., Ullman J. D. Implementing Data Cubes Efficiently// SIGMOD Conference. - Montreal, CA. -

1996. - P. 205-216.

2. Gray J., Chaudhuri S., Bosworth A., etc. Data Cube: A Relational Aggregation Operator Generalizing Group-By, CrossTab, and Sub-Totals// Data Mining and Knowledge Discovery. -

1997. - № 1. - P. 29-53.

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

4. Armstrong R. Seven Steps to Optimizing Data Warehouse Performance// Computer, V. 34, № 12, 2001. - P. 76-79.

5. Parsaye K. Surveying Decision Support: New Realms of Analysis// Database Programming and Design. - 1996. - № 4. -P. 26-33.

6. Parsaye K. OLAP and Data Mining: Bridging the Gap// Database Programming and Design. - 1997. - № 2. - P. 30-37.

7. Перевозчикова О.Л., Тульчинский В.Г. Структурный анализ и синтез маршрутных схем для задач Macro Mining // Кибернетика и системный анализ. - 2003. - № 1. - С. 82 - 95.

8. Pedersen T.B., Jensen C.S., Dyreson C.E. A foundation for capturing and querying complex multidimensional data// Inf. Syst., V. 26, № 5, 2001. - P. 383-423.

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

10. Зыкин С.В. Построение отображения реляционной базы данных в списковую модель данных// Управляющие системы и машины. - 2001. - № 3. - С. 42 - 63.

11. Мейер Д. Теория реляционных баз данных. - М.: Мир, 1987. - 608 с.

12. Полуянов А.Н. Алгоритм проверки существования соединения отношений при межмодельных преобразованиях данных// Математическое моделирование и информационные технологии: управление, искусственный интеллект, прикладное программное обеспечение, технологии программирования : материалы VIII школы-семинара молодых ученых / Ин-т динамики систем и теории управления СО РАН. - Иркутск, 2006. - С. 145-149.

13. Цаленко М.Ш. Моделирование семантики в базах данных. - М.: Наука, 1989. - 287 с.

14. Зыкин С.В. Формирование пользовательского представления реляционной базы данных с помощью отображений // Программирование. - 1999. - № 3. - С. 70 - 80.

ЗЫКИН Сергей Владимирович, доктор технических наук, заведующий лабораторией «Методы представления и преобразования информации» Омского филиала Института математики СО РАН, профессор кафедры «Автоматизированные системы обработки информации и управления» Омского государственного технического университета.

ПОЛУЯНОВ Андрей Николаевич, аспирант Омского филиала Института математики СО РАН, лаборатория «Методы представления и преобразования информации.

Дата поступления статьи в редакцию: 29.04.2008 г.

© Зыкин С.В., Полуянов А.Н.