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

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

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

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Зыкин Сергей Владимирович

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

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

Data transformation in a database using multi-tabulated representations

In the work the problem of return of the edited values from hypercube representation of the user data into relational database is resolved. The construction is carried out on the basis of formal definition of data models and research of properties of referential integrity of the data.

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

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

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

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

ПРЕОБРАЗОВАНИЕ ДАННЫХ В БАЗЕ ДАННЫХ С ИСПОЛЬЗОВАНИЕМ МНОГОТАБЛИЧНЫХ ПРЕДСТАВЛЕНИЙ

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

1. Введение

Гиперкубическое представление данных формируется на основе множества таблиц базы данных и является основой для реализации технологий оперативной аналитической обработки данных OLAP (online analytical processing) [1,2,3] и интеллектуального анализа данных (Data Mining — добыча данных) [4,5,6]. Кроме того, гиперкубическое представление является удобным средством для редактирования данных [7,8], выполненных пользователем вручную, либо восстановленных неизвестных значений алгоритмами Data Mining. В этом случае актуальной становится проблема сохранения вновь полученной информации в базе данных (БД). В [7] определяется набор допустимых единичных операций при редактировании гиперкуба «Семантическая трансформация» [9]. В данной работе предлагается подход с отложенной передачей данных в БД: сначала выполняется необходимое редактирование данных, а затем инициируется их передача в БД. При этом появляются следующие преимущества: а) отсутствует необходимость отслеживать все прерывания от клавиатуры для определения завершения единичной операции, в том числе вызванные ошибочными действиями пользователя, б) нет необходимости загружать канал связи на весь период редактирования данных (использование канала только на момент передачи данных). Однако замедляется многопользовательский доступ к данным из-за необходимости ожидания снятия блокировки редактируемых данных, если другому пользователю требуется доступ для редактирования этих же данных.

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

В работе предполагается, что схема БД построена на основе теории проектирования реляционных БД [10].

2. Предварительные сведения

В работе [7] подробно исследован гиперкуб «Семантическая трансформация» R*. Кратко рассмотрим основные положения данной работы и введем необходимые обозначения. Пусть задана совокупность всех отношений реляционной БД: ^={Rj , R2 , ..., Rq}

— результат декомпозиции при нормализации отношений, для которой отсутствуют i и j такие, что [R.I С [Rj] при i^j, где [Ri] — совокупность атрибутов (схема отношения). Ri[V] — отношение Ri, определенное на множестве атрибутов V. U={A[r A2, ..., An}

— множество всех атрибутов, на которых заданы отношения из совокупности ЭД. X — множество атрибутов из U, остающихся без изменения в результирующем отношении R*. Y — множество атрибутов из U, совокупности значений которых используются при формировании имен атрибутов в результирующем отношении. Z — множество атрибутов из U, области определения значений (домены) которых, дополненные пустым значением, распределяются между доменами вновь введенных атрибутов и помещаются в рабочем поле гиперкуба. Причем, атрибуты Y и Z в явном виде отсутствуют в R*. Выполнены ограничения: XnY=0, XnZ=0, YnZ=0. Схема гиперкуба R* имеет следующий вид:

Sch(R*) = [X, Dom(Y) х {Z}],

где Sch — схема отношения, Dom — множество допустимых значений атрибутов, х — декартово произведение, Dom(Y) = Dom(Yj) х Dom(Y2) х ... х Dom(Yk), Yj е Y.

Таким образом, атрибуты, кроме X, имеют следующие имена: yi1^yjkZp , где yjk — j-тое значение атрибута Yk, Zp — атрибут из множества Z. Гиперкуб будет иметь следующие координаты: Dom(X) — значения вдоль первой координаты, Dom(Yj) х {Z} — значения вдоль второй координаты, Dom(Y2) х {Z} — значения вдоль третьей координаты и т.д.

Для формирования гиперкуба R* удачным исходным представлением является «Таблица соединений» [11]. В отличие от SQL-таблицы, использование таблицы соединений позволяет иметь в гиперкубе значения координат Dom(Y) х {Z}, для которых

пока отсутствуют кортежи в БД, связующие их со значениями X.

3. Связи на схеме базы данных

Порядок просмотра отношений зависит от выполняемой операции и связей (relationship), установленных на схеме БД. На связях задаются ссылочные ограничения целостности (referential integrity). Значения атрибутов, по которым связаны отношения, заимствуются из главных отношений (справочников) в подчиненные отношения. Между ними устанавливается связь 1:М либо 1:1 по направлению от главного отношения к подчиненному. Формальным основанием для установления связей являются зависимости включения (inclusion dependencies) [12]:

Определение 1. Пусть R1[A1, Am] и Rj[B1......Bp]

— схемы отношений (не обязательно различные), V

с {A, Am} и W с {B, Bp}, |V| = |W| , тогда объект

R1[V] с R.[W] называется зависимостью включения, если nV(R1) с nW(R.).

В определении |V| — мощность множества V,

— проекция отношения R. по атрибутам V.

В данной работе рассмотрим практические аспекты использования зависимостей включения. Будем предполагать, что условие V=W является необходимым для установления связи. Такой вид зависимостей включения называется типизированными (typed) [13,14]. Это дополнительное ограничение вполне согласуется с общепринятым свойством связей на схеме БД: связи отражают количественное соотнесение кортежей в отношениях и не обладают какой-либо семантикой.

Введем обозначения: PK(R1), или просто PK(i)

— множество атрибутов, являющихся первичным ключом в отношении R.; L(i,j) — связь 1:1 от R. к R.,

Г 1' ,J' 1 j'

где Ri главное отношение; LM(i,j) — связь 1:M от R. к Rj, где R. главное отношение; L(i,j) — связь 1:1 либо 1: M от R. к Rj, где R. главное отношение.

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

Правило 1. Пусть отношение R. состоит из множества атрибутов PK(Ri), V и W, имеющих друг с другом пустое пересечение. Если функциональные зависимости PK(Ri)^Ai для всех атрибутов AieV в отношении Ri имеют совпадающие области определения, то отношение R. декомпозируется на два отношения: Rj[PK(Ri), V] и‘ R1[PK(Ri), W].

Определение 2. Между отношениями R. и Rj существует связь L1 (i,j) , если PK(Ri)=PK(Rj) и для любых реализаций R. и Rj, выполнено nX(Rj)cnX(Ri), где X=RnRj.

Определение 3. Между отношениями Ri и Rj существует связь LM (i,j) , если PK(Ri)^PK(Rj) и PK(Ri)jcRj.

Заметим, что ограничение целостности, задаваемое связью LM(i,j) подразумевает nV(Rj)cnV(Ri), где V= R.nRj. Определения 2 и 3 соответствуют правилам, по которым системы управления базами данных (СУБД) автоматически определяют тип связи. Хотя сами связи приходится устанавливать вручную.

В БД [15], кроме рассмотренных, используются следующие связи: «one or more mandatory» — является частным случаем связи 1:M со стороны второго отношения; «one and only one» — является частным случаем связи 1:1 со стороны обоих отношений; «zero or one optional» — совпадает со связью 1:1 со стороны второго отношения; « zero or many optional» — совпадает со связью 1:M со стороны второго отношения. Рассмотренные далее свойства связей выполнены для общего случая, следовательно, они выполнены

и для частного случая. Поэтому нет необходимости рассматривать эти связи отдельно.

Определение 4. Совокупность отношений ЭД будем называть ациклической, если не существует упорядоченное подмножество отношений

<«ти)- К т(2.К шЫ>£ЭД (1)

такое, что выполнено:

Ыт(1),т(2)), Цт(2)гт(3)),..., Цт^^Кш^)), ШпЫ,т(1||, (2)

8 > 1, в противном случае совокупность отношений ЭД будем называть циклической.

В работе [16] рассмотрено несколько различных условий ацикличности ЭД и доказана их эквивалентность. Одно из условий, рассмотренное также в работе [10], устанавливает, что совокупность ЭД является ациклической, если ацикличен ассоциированный с ней гиперграф. Поскольку предполагается, что в ЭД отсутствуют отношения, для которых [Р.]с^.], при 1^, то гиперграф будет редуцированным.

Теорема 1. Если совокупность ЭД циклическая, то ассоциированный с ней гиперграф также будет циклическим.

Доказательство. Подмножество отношений (1) будет ребрами в ассоциированном гиперграфе. Ребра связывают совокупности атрибутов — узлы гиперграфа. Выполнение условия (2) гарантирует, что Кт(1)пКт(1+1) ^0, 1 = 1, 2,., з, где т(8+1)=т(1). Следовательно, подмножество (1) вместе со связываемыми узлами образуют блок [10] в общем гиперграфе. Действительно, этот блок не имеет множества сочленения: удаление любого ребра из блока оставляет его связным. Следовательно, общий гиперграф для ЭД будет циклическим. Конец доказательства.

Обратное утверждение не верно. Таким образом, класс ациклических схем баз данных по определению 4 шире, чем по условиям в [16].

Далее будем предполагать, что совокупность ЭД является ациклической в соответствии с определением 4.

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

Если связи Ьм могут быть установлены прос-

тым алгоритмом перебора по определению 3, то для установления связи Мч) необходимо вмешательство проектировщика схемы БД. При пустой БД на этапе проектирования включение пу(К.)спу(К.), где V — первичный ключ отношений ^ и ^, не может быть установлено алгоритмически. При определении включения между ^ и ^ проектировщику БД достаточно ответить на вопрос: «Как соотносятся области значений атрибутов К.пК. в отношениях К. и ^?», предоставив выбор одного из трех вариантов: «1. Значения в К. являются подмножеством значений в К.», «2. Значения в К. являются подмножеством значений в К.», «3. Не выполнены условия 1-го и 2-го вариантов». При выборе первого варианта отношение К. становится главным для К., второго — К. становится главным для К., третьего — отсутствие связи между К. и К.. Сложность алгоритма является полиномиальной по времени: 0(к2), где к — количество отношений БД, участвующих в формировании гиперкуба.

Теорема 2. Связь 1,(1.) является избыточной, если и только если существуют связи:

Ы1,т(1)), Ь(т(1),т(2)), ..., Ь(т(р-1),т(р)), ЬМрКЯ (3)

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

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

PK(i)cR.., s=2,3 p,

(4)

где т — массив номеров отношений.

Следствие. Если существует (3) и р=1, то связь Му) избыточна.

Поиск избыточных связей с использованием соотношений (3) и (4) будет экспоненциальной задачей. Поскольку связи являются реализацией типизированных зависимостей включения, то к поиску избыточных применим подход, основанный на построении замыкания множества отношений. В [13] алгоритм построения замыкания не учитывает условие (4), что делает бесполезным это замыкание для проверки избыточной связи по определению 5. Адаптация этого алгоритма для удаления избыточных связей без использования графа зависимостей включения и с дополнительным ограничением (4) будет иметь полиномиальную сложность: 0(|Ь| 2к2).

4. Алгоритм обратного преобразования данных

В работе [17] предложена следующая последовательность преобразований:

RRD^TJ^ST^TJ^RRD,

(6)

где ККБ — реляционное представление данных, и — таблица соединений, БТ — гиперкуб «семантическая трансформация». В данном случае ККБ представление исходной модели данных, БТ — пользовательской (целевой). Представление Т1 является промежуточным. Там же приведены алгоритмы преобразования: и Т.1^8Т. Обратное преобразование БТ^ Т1 рассматривается в работе [7]. Там же рассмотрен набор допустимых операций для БТ. В работе [11] рассмотрено свойство Т.1, позволяющее получить как совокупность проекций на Т.1, что замыкает цепочку преобразований (6).

Основная идея предлагаемого подхода заключается в восстановлении значений а. атрибутов Л.е и по совокупности сопоставленных значений в пользовательском представлении данных и с существующими значениями в БД. После завершения редактирования данных выбираются текущие значения атрибутов X, У и Ъ. По таблице соединений определяются сделанные изменения. Далее для отношений из ЭД требуется интерпретировать преобразования в терминах операций над кортежами. Для этого необходимо определить порядок просмотра отношений К.еЭД. Это необходимо для доопределения значений атрибутов Л., не принадлежащих множествам X, У и Ъ, но используемых в операциях над отношениями К.. Последовательность просмотра отношений при редактировании данных в БД регламентируется ссылочными ограничениями целостности: при дополнении кортежа 1 в отношение К. во всех главных отношениях К. (существуют связи МУН должен существовать (уже быть дополнен) кортеж 1 такой, что 1,М=1.М, где V=[R1]n[RJ]. С другой стороны, при удалении кортежа 1. из отношения К. во всех подчиненных отношениях К. (существуют связи мим должен отсутствовать (уже быть удален) кортеж 1. такой, что 1^]=1.^], где V=[Ri]n[Rj]. Модификация значения атрибута Л. в кортеже 1.е К. может быть выполнена непосредственно, если Л. не принадлежит подчиненным и главным отношениям для отношения К.. В противном случае операция модификации сводится к удалению старого кортежа и

дополнению нового. Несоблюдение перечисленных условий приведет к тому, что СУБД отвергнет текущую операцию.

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

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

Предложенная технология редактирования данных в БД применима не только для гиперкубического представления, но и произвольных форм ввода-вывода данных, основанных на многотабличных SQL-запросах. Ограничением является необходимость наличия первичного ключа в SQL-таблице (аналог условия XY^Z в [7]).

Дальнейшее развитие технологии предполагается за счет расширения аппарата вводимых ограничений на данные, загружаемые в ST. В настоящее время используется эвристическое правило «продления» ограничений на ключевые атрибуты соответствующих отношений. Кроме того, предполагается снять ограничение XY^Z: в одной ячейке может быть несколько однородных значений (список). Такое представление уже не будет гиперкубом в традиционном понимании. Для перечисленных направлений развития технологии требуются дополнительные теоретические и экспериментальные исследования.

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

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, Cross-Tab, and Sub-Totals // Data Mining and Knowledge Discovery. - 1997. - № 1. - P. 29-53.

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

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

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

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

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

8. Зыкин С.В. Инструментальные средства разработки приложений для работы с базами данных // Материалы V Международной научно-технической конференции «Динамика систем, механизмов и машин» - Омск: ОмГТУ. - 2004. -С.376 - 380.

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

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

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

и

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] рассматривается модель гиперкуба, обладающая достаточной общностью, и алгебраические операции над гиперкубами. Указывается на возможность использования модели в рамках реляционной технологии баз данных. Однако не рассматриваются алгоритмы, преобразующие реляционное представление данных в гиперкубическое.

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

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

ККБ ^ И ^ БТ,

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

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

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