УДК004.652
Чапланова Е. Б.
Аспирантка Харьковского национального университета радиоэлектроники
ОПЕРАЦИОННАЯ СПЕЦИФИКАЦИЯ ОБЪЕКТНО-РЕЛЯЦИОННОЙ МОДЕЛИ ДАННЫХ
Статья посвящена разработке общих принципов формирования операционной спецификации объектно-реляционной модели данных. Формально определены основные операции, определен базис операционной спецификации объектно-реляционной модели данных. Предлагается использовать аппарат реляционной алгебры с рекурсивной составляющей для выполнения операций над отношениями, которые содержат вложенные неатомарные атрибуты.
Ключевые слова: объектно-реляционная модель данных, вложенные атрибуты, рекурсивная реляционная алгебра, операционная спецификация.
ВВЕДЕНИЕ
Модели данных являются ключевыми компонентами архитектуры современных систем управления базами данных (СУБД) и служат основой разработки общей методологии проектирования информационных систем.
Объективные обстоятельства, такие как: различные способы формального описания объектов в математике; разнообразие структур данных и средств манипулирования данными, развитых в языках программирования; разнообразие предметных областей, отображаемых в базах данных, способствовали неограниченному росту числа моделей данных и поддерживающих их СУБД. В 1977 году А. Макионучи предложил упростить требования, которые выдвигались к первой нормальной форме реляционной модели данных. В дальнейшем такие ученые как Л. Колби, М. Левен, Х. Ли, С. Абитебол, Н. Бидоит, и др. развивали данное направление и предложили ряд моделей данных, которые основывались на этом упрощении.
Подход на основе слабо нормализованных отношений использовался для решения таких задач как обработка текста, проектирование автоматизированных систем документооборота, обработку составных пользовательских типов данных и многих других.
Преимущества такой нормализации отношения позволяет преодолеть ряд ограничений, которые присутствуют в первой нормальной форме. Использование Н1НФ позволяет представить данные об объекте в одном отношении, а не распределять по нескольким. Одним из главных преимуществ данного подхода является минимальное использование операции соединения отношений, на которую приходятся большие временные затраты при выполнении запросов.
Модель базы данных, основанная на принципах Н1НФ, или объектно-реляционная модель данных [1, 5] позволяет отношению хранить атрибуты, которые содержат неатомарные значения, таким образом, такие атрибуты сами являются отношениями (подсхемами).
ЦЕЛЬ ИССЛЕДОВАНИЙ
Статья посвящена разработке общих принципов формирования операционной спецификации объектно-реляционной модели данных. Предлагается использовать аппарат реляционной алгебры с рекурсивной составляющей для выполнения операций над отношениями, которые содержат вложенные неатомарные атрибуты.
ИССЛЕДОВАНИЕ ОСОБЕННОСТЕЙ ОБЪЕКТНО-РЕЛЯЦИОННОЙ МОДЕЛИ
Модели Н1НФ были разработаны и разделены на две категории. Модели первой категории назывались нерекурсивными моделями [1, 3, 4], а модели второй категории - рекурсивными моделями [1, 2]. Основным отличием является рекурсивный и нерекурсивный характер операторов модели. Рекурсивные операторы могут неоднократно применяться к вложенным отношениям (подсхемам) на его различных уровнях. Нерекурсивные операторы не обладают такими свойствами. Модели, которые поддерживают вложенность или рекурсию имеют ряд преимуществ по сравнению с нерекурсивными, так как являются универсальными для реляционной модели и объектно-реляционной модели. Этот вывод основан на следующих утверждениях:
- для модели, которая содержит вложенные отношения, основным принципом является сокращение числа обрабатываемых кортежей при выполнении операций;
- традиционные методы оптимизации запросов могут использоваться в операциях рекурсивной алгебры. Кроме того, такие методы могут применяться к запросам, которые выражены с помощью рекурсивной алгебры с рекурсивными операциями на любом уровне вложенности;
- в операциях нерекурсивной алгебры действия производятся толью на всем кортеже. Рекурсивная алгебра разрешает прямые манипуляции с кортежем, как на верхнем уровне, так и на нижнем уровне вложенных отношений [2].
© Чапланова Е. Б., 2012
Для определения операций объектно-реляционной модели данных используем аппарат рекурсивной реляционной алгебры.
Применение операций рекурсивной реляционной алгебры не ограничено количеством уровней вложенности отношений. Такие операции как объединение, разность, пересечение, проекция, селекция, декартово произведение, 9-соединение формально определены и используют рекурсивное определение вложенных отношений. Для каждой рекурсивной операции базовым является определение аналогичной нерекурсивной. Рекурсивное определение может быть переведено в одно нерекурсивное, где отношения не содержат других вложенных атрибутов. Рекурсивные операции для вложенных отношений так же формально определены.
ФОРМАЛИЗАЦИЯ ОПЕРАЦИЙ РЕКУРСИВНОЙ РЕЛЯЦИОННОЙ АЛГЕБРЫ
Для рекурсивных вложенных операций объединения, разности и пересечения необходимо наличие двух вложенных (в общем случае) отношений г и q со схемами отношений R и Q соответственно. Необходимым условием для выполнения операций является так же идентичность схем отношений:
R = Q; R = {(R),Rl, R2,..., Rn}, (1)
где £ (R) - множество ключей вложенных атрибутов и все атомарные атрибуты R и Q (одинаковые для двух отношений); {,Л2,..., Rn} - неключевые вложенные атрибуты R и Q.
Лй( R) - множество всех атрибутов (атомарных и вложенных) двух схем отношений R и Q, и - кортежи
отношений г и q соответственно в итоговом отношении.
Каждое определение для рекурсивных операций реляционной алгебры состоит из двух частей: для плоских отношений и вложенных. При этом, нерекурсивная опе-
рация является частным случаем рекурсивной. Выполнения операций рекурсивной реляционной алгебры рассматриваются на примерах схем отношений с вложенными атрибутами (рис. 1).
Рекурсивная операция объединения (О)
Определение операции объединения двух отношений г и q, г Оq является комплексным - состоит из двух определений:
1) нерекурсивная операция объединения для плоских отношений г и q;
2) рекурсивная операция объединения для вложенных отношений г О q:
г О q = ^ | ((3? е г) Л ^ е qXt[S(Л)] * ^ [£(Л)]))
Л ((3? е г) Л (У^ е 9)(^(Л)] * ^(Л)]))
Л ((3?г е г)(3tq е 9)((^(Л)] = ^(Л)] = tq[S(Л)]))
л №?:] = ^[Л^ О tq[Rl])Л ... Л р[Л„] = ^[Я„] О tq[Rn])))}.(2)
Пример 1. Объединение отношений Л и Q.
71 = Л О Q. Результирующее отношение 71 имеет вид (рис. 2).
А В
с Б
М N
01 а1 1
2 О
02 а2 4
2 О
1 н
03 а3 1 н
а4 2 н
04 а5 3 к
4 н
а6 1 т
2 р
Рис. 2. Результат операции объединения вложенных отношений
А В
с Б
М N
01 а1 1
2 О
02 а2 4
1 н
03 а3 1 н
а4 2 н
ъ К
ь К
X У
01 а1 1
2 О
02 а2 4
2 О
04 а5 3 к
4 н
а6 1 т
2 р
К
р О
аЬс а 1
2
ав/ п 5
т
вгі У 1
X 5
а) Отношение Л б) Отношение Q в) Отношение О
Рис. 1. Схемы отношений Л, Q, О
Разность двух отношений г и q, г - q определяется как совокупность определения нерекурсивной разности для плоских отношений (г^) и определение рекурсивной разности для вложенных отношений (г - q):
г - q = {і | ((Зі є г)(Уід є q)(і[£(Л)] = іг [ї(Л)] - ід[ї(Л)])
Л і[Л1] = іг [Л1] Л ... Л (і[Лп ] = іг [Лп ])))
V ((Зіг є г),((Зі? є q))(і[S(Л)] * іг[ї(Л)])) л ((Зіг є г)(Зі? є q)((і[S(Л)] = іг[ї(Л)] = і?[ї(Л)]))
Л (і[Л1] = іг[Л1] - іг[Л1]) Л ... Л (і[Лп ] = іг[Лп ] - ід[Лп ])))}.(3)
Пример 2. Операция разности для вложенных отношений имеет вид Т2 = Л - Q (рис. 3).
Аналогично представлено определение рекурсивной операции пересечения:
г п q = {і | (Зіг є г)(Зіч є q)((і[ї(Л)] = іг[ї(Л)] п іц[ї(Л)])
л і[Л1] = іг [Л1] п іц [Л1] л ... л (і[Лп ] = іг [Лп ] п іц[Лп ])))} . (4)
Пример 3. Производная операция пересечения Т3 = Л п Q для отношений с комплексной схемой представлена на рис. 4.
Операция вложенной проекции может быть представлена с помощью нерекурсивно и рекурсивной составляющей.
Пусть г вложенное отношение со схемой Л .
Пусть так же, ,..., Лак } - подмножество атомар-
ных атрибутов верхнего уровня Л, над которыми должна
выполняться операция проекции и {,..., Лпт} -подмножество вложенных атрибутов Л, которые могут участвовать в операции проекции полностью или частично, при этом (к, т > 0).
Прежде чем определить операцию проекции, необходимо дать определение списку проекции.
A B
C D
M N
02 a2 1 H
03 a3 1 H
a4 2 H
Рис. 3. Результат выполнения операции разности для вложенных отношений
В общем случае, список проекций - это список путей атрибутов, которые могут входить в проекцию.
Определение операции проекции П(гЬп) во вложенном отношении г:
П(Ла1,...,Лак ,Лп1-^п1,...,Лпт ,^пт )(г)
= \ (3?г е г)((t[Яal] = ^[Ла1 ]) Л ... Л (^Лак ] = ^[Лак ]) Л (^1 ] =
= П(?г [ Лп1]^п1)) Л ... Л (АЛпт ] = П(?г [Лпт ]1пт )))}, (5)
где ?г- кортеж отношения г, t - кортеж результирующего отношения, полученного в результате операции проекции.
Пример 4. Операция проекции для отношения Л имеет вид 74 = П( А,в,( N ))(Л) (рис. 5).
Операция селекции для вложенных отношений имеет ряд особенностей.
Пусть г вложенное отношение со схемой Л. Пусть так
же, {Ла1,..., Лак } - подмножество атомарных атрибутов верхнего уровня Л, над которыми должна выполняться операция селекции и {Лп1,..., Лпт } - подмножество вложенных атрибутов Л, где к и т меньше или равно числу атомарных или вложенных атрибутов верхнего уровня отношения Л соответственно. Пусть с - множество условий Л. При этом с имеет вид {са, сп}, где са = {са1,..., сак }
- это множество условий, которые должны быть истинными для каждого атрибута Ла1,...,Лак отношения Л, соответственно. И сп = {сп1,..., спт} - множество условий, которые должны выполняться для вложенных атрибутов Лп1,..., Лпт отношения Л. Когда применяются два множества условий, то результатом является множество, полученное в результате выполнения операции пересечения результатов двух множеств условий.
Вложенная операция селекции может быть определена как:
^ссп1, . ,спт (г^5 ) =
= {t \ (3г е г)№[Аг(Л) - {Яn1,..., Лпт }] = ?г [Аг(Л) - {Яn1,..., Лпт}) Л Л (( ^1] = 5& [Лп1]сп1 Ьп1) *0)
- п1 (6)
Л ... Л ШЛпт ] = 50. [Лпт ]с„тЬпт ) * 0))},
где ^5 - список селекции (аналогично определению списка проекции).
A B
C D
M N
01 al 1 F
2 G
02 a2 4 F
03 a3 1 H
a4 2 H
Рис. 4. Операция пересечения двух отношений с вложенными атрибутами
A D
N
01 F
G
02 F
H
03 H
H
Рис. 5. Отношение T4 - результат выполнения операции проекции
В общем случае, результатом двух операций селекции является операция пересечение двух селекций:
SC(r LS) = =^Cal,...,Cak,C„1,...,C„„(rL6) = ^ca1,...fak ^ ^l-Cim (rL6) • (7)
Пример 5. На рис. 6 представлен результат выполнения операции селекции T5 = СТ(a=02 AJVD В(D(M ))<3) (R).
Для отношений с вложенными атрибутами определена операция декартового произведения.
Пусть r и q два вложенных (в общем случае) отношения со схемами R и Q соответственно. Пусть Atr( R) - все атрибуты (вложенные и атомарные) R, а Atr(Q) - все атрибуты Q , а L - путь соединения в R. Определим, также, что R1 - вложенные атрибуты R, L1 - путь R1, tr -кортеж в отношении r, tq - кортеж отношения q, t - кортеж результирующего отношения, тогда:
(rL X q) = (r(RjLj ) X q) = (q X r(RtLt)) =
= (t|(3tr er)((t[Atr(R)]-{R}])лt[R)i] = (8)
= (tr[R]L X q)))}.
Для данной операции выполняется свойство коммуникативности. Следовательно, верно равенство:
(r (RL ) X q) = (q X r( RiL1)). (9)
Особенностью данной операции декартового произведения является возможность ее выполнения на разных уровнях вложенности, в зависимости от пути атрибутов L. Для двух вложенных отношений операция 0 -соединения базируется на операторах сравнения, где 0 = {>,<, =, < >, ^}.
Частным случаем является операция естественного соединения, где в качестве оператора сравнения используется равенство (=).
Операция 0-соединения выполняется путем применения операции селекции к результатам операции декартового произведения двух отношений. Операция сводится к сравнению двух атрибутов в результирующем отношении. Два атрибута должны иметь одинаковый уровень вложенности в итоговом отношении.
Пусть r и q два вложенных (в общем случае) отношения со схемами R и Q соответственно. ПустьXи Y- два атомарных атрибута, которые принадлежат отношениям R и Q соответственно, 0 - условие, которое должно выполняться. Без потери общности, Lsy '^y - путь селекции Y, который начинается с Y', который, в свою очередь, принадлежит такому же уровню вложенности как и X.
A B
C D
M N
02 a2 1 H
Рис. 6. Операция селекции для вложенных отношений
Тогда, рекурсивное вложенное соединение двух отношений г и q можно определить как:
г 0q = 8((г х q)х 0 уЬ5 у -^у . (10)
Пример 6. Операция естественного соединения для отношений Л и Б представлена в виде Т8 = Л (В, (С, (Б))) [М = О] Б (її, (К)), при этом, на первом этапе, выполняется операция декартового произведения Л(В,(С, Б)) х Б(Р ,(К)), затем - операция селекции, согласно условию. В результате отношение Т8 имеет вид (рис. 7).
Пример иллюстрирует, что если список селекции пуст, то итоговое отношение так же не содержит значений атрибутов на всех уровнях вложенности. Таким образом, в отношении Т8 исключен атрибут А = {02}, т. к. в данном кортеже не найдено подстрок, удовлетворяющим условию Л (...) [М = О] Б ( . ..). Таким образом, очевидно, что результат операции 0-соединения зависит от списка селекции, и соответственно, от результата выполнения промежуточной операции декартового произведения.
ВЫВОДЫ
В качестве математического аппарата для описания операционной спецификации объектно-реляционной модели данных предлагается использовать рекурсивную реляционную алгебру. В статье исследованы и усовершенствованы основные операции, с помощью которых может обеспечиваться выполнение действий над вложен-
B(C, D, K, F)
A C D K F
M N P O
1 F a 1
0l al 2 G a 2 abc
1 F a 2
2 G a 1
4 F n З
02 a2 1 H m З def
4 F n З
1 H m З
a3 1 H У 1 ert
03 1 H x З
a4 2 H У 1 ert
2 H x З
а) R(B,(C, D)) X D(F ,(K))
A B(C, D, K, F)
C D K F
M N P O
01 al 1 F a 1 abc
2 G a 2
03 a3 1 H У 1 ert
б) T8 = R (B, (С, (D))) [M = O] D (F, (K))
Рис. 7. Отношение T8 - результат операции Є-соединения
ными отношениями. Предложена общая интерпретация операции декартового произведения, и соответственно, производных операций. Существует ряд СУБД, в которых реализован объектно-реляционный подход, но такая реализация не содержит комплексной поддержки всех компонент объектно-реляционной модели, в том числе и операционной спецификации. В данной работе операционная спецификация объектно-реляционной модели представлена в общем виде, сохраняя общность с реляционной моделью данных, и не ассоциирована с конкретной реализацией в СУБД.
СПИСОК ЛИТЕРАТУРЫ
1. Makinouchi, A. A consideration on Normal Form of Not-Necessarily-Normalized Relations in the Relational Data Model [Text] // in Proc. of the 3rd International Conference on Very Large Data Bases. - Tokyo, 1977. - P. 447-453.
2. Garani, G. Generalized Relation Data Model [Text]: // International Journal of Computer Systems Science and Engineering (IJCSES). - 2007. - vol. 4, N 1. -P. 43-59.
3. Мейер, Д. Теория реляционных баз данных [Текст] : пер. с англ. - М. : Мир, 1987. - C. 45-48.
4. Тиори, Т. Проектирование структур баз данных: в 2-х кп. [Текст] / Т. Тиори, Дж. Фрай. - М. : Мир, 1985. - Кп. 1. -C. 287 : Кн. 2 - C. 320.
5. Чапланова, Е. Б. Об одном подходе к построению объектно-реляционной модели данных [Текст] / Н. В. Касаткина, С. С. Танянский, Е. Б. Чаплапова // Збірник наукових праць
Військового інституту Київського національного університету імені Тараса Шевченка. - К. : ВІКНУ, 2009. -Вип. 20. - С. 141-146.
Стаття надійшла до редакції 22.02.2012.
Чапланова О. Б.
ОПЕРАЦІЙНА СПЕЦИФІКАЦІЯ ОБ’ ЄКТНО-РЕЛЯ-ЦІЙНОЇ МОДЕЛІ ДАНИХ
Стаття присвячена розробці загальних принципів формування операційної специфікації об’єктно-реляційної моделі даних. Формально визначено основні операції, визначено базис операційної специфікації об’ єктно-реляційної моделі даних. Пропонується використовувати апарат реляційної алгебри з рекурсивної складової для виконання операцій над відносинами, які містять вкладені неатомарні атрибути.
Ключові слова: об’єктно-реляційна модель даних, вкладені атрибути, рекурсивна реляційна алгебра, операційна специфікація.
Chaplanova E.
OPERATING SPECIFICATIONS OF THE OBJECT-RELATIONAL DATA MODEL
The article proposed the development of general principles of formation of the operating specifications of object-relational data model. Formally defined the basic operations, and defined basis of the operating specifications of object-relational data model. It is proposed to use the apparatus of the relational algebra with a recursive component to perform operations on relations, which contain nested non-atomic attributes.
Key words: object-relational data model, nested attributes recursive relational algebra, the operating specification.
УДК 519.6 Хомченко А. Н.1, Мотайло А. П.2
1Д-р. физ.-мат. наук, профессор, заведующий кафедрой Херсонского национального технического университета
2Старший преподаватель Херсонского национального технического университета
ДИСКРЕТНЫЙ АНАЛОГ ИНТЕГРАЛА ПУАССОНА ДЛЯ ШАРА
В работе решена задача Дирихле для шара с дискретно заданными условиями на границе. В роли вычислительного шаблона использована конструкция из гексаэдра и октаэдра, вписанных в шар. Получен дискретный аналог интегральной формулы Пуассона в виде пропорциональной стратифицированной выборки.
Ключевые слова: задача Дирихле, шар, интеграл Пуассона, шаблон, гексаэдр, октаэдр.
ВВЕДЕНИЕ
В 1820 г. французский математик, механик и физик Пуассон нашел интегральное представление решения уравнения Лапласа в круге с граничными условиями Дирихле. Трехмерное обобщение интеграла Пуассона для круга называют интегралом Пуассона для шара. Эффективность практических применений интеграла Пуассона и точность вычислений существенно зависит не только от ядра Пуассона, но и от характера заданных граничных условий. Недостатки интеграла Пуассона общеизвестны. Преодолеть некоторые из них можно путем замены интеграла подходящей интегральной сум© Хомченко А. Н., Мотайло А. П., 2012
мой. Для шара это непросто, поскольку весовые коэффициенты должны быть непрерывными функциями координат контрольной точки внутри шара. Кроме того, они должны сохранить усредняющие свойства ядра Пуассона. Ниже рассматриваются вычислительные шаблоны, позволяющие построить дискретный аналог интеграла Пуассона для шара. В качестве весовых коэффициентов, «следящих» за внутренней контрольной точкой, используются базисные интерполяционные функции гексаэдра и октаэдра, вписанные в шар. Для октаэдра это новое применение, поскольку базис октаэдра появился совсем недавно. Предложенный дискретный аналог осу-