Сайт Информационных Технологий

РАСШИРЕНИЕ РЕЛЯЦИОННОЙ МОДЕЛИ ДЛЯ представления ТЕМПОРАЛЬНЫХ данных в реляционных информационных системах

И.Б. Саенко

Военный университет связи

Abstract – The questions of temporal data imaging in relational information systems are considered. The construction of an appropriate model of data representation is examined. The description of structural and constrain parts are represented. The formulas defining main operations of manipulation part of a model are obtained.

Проблема отображения динамики предметной области в базах данных информационных систем является актуальной для многих научно-практических задач. Ключевым вопросом ее решения является построение модели представления темпоральных данных (МПТД). Традиционно усилия разработчиков в этой области связываются с созданием обособленных темпоральных моделей, для реализации которых требуются специализированные программно-инстру-ментальные системы. Вместе с тем, развитие технологии клиент/сервер и, в частности, появление в традиционных реляционных системах механизма хранимых на серверах баз данных процедур предопределяет возможность построения МПТД на основе традиционной реляционной модели и ее основных положений [1].

Решение данной проблемы в реляционных базах данных всегда требует создания и учета взаимной связности большого числа вспомогательных таблиц. Практическая реализация таких систем отличается чрезвычайной сложностью. Основная же идея предлагаемой модели заключается в переходе на концепцию объектно-реляционного подхода, который заключается в создании информационных объектов определенной структуры и разработке операций манипулирования ими [2,3]. Модели такого типа являются по своей сути расширением реляционной модели, операции манипулирования которых сводятся к стандартным операциям реляционной алгебры.

Целью настоящей работы является рассмотрение формальных основ МПТД, предназначенной для реализации в реляционных системах и обеспечивающей свойственную реляционной модели простоту манипулирования данными.

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

В структурной части описывается базовый (атомарный) элемент МПТД. Для его формирования воспользуемся методом аналогии с реляционной моделью [4].

Как известно, базовым элементом реляционной модели является реляционное отношение. Схема R реляционного отношения R представляется в виде R = {K, A}, где K - атрибуты, образующие первичный ключ, A - неключевые атрибуты отношения R. Положим, что A = A0 И A^ И A~, где A0 - множество статических атрибутов, A^ и A~ - множества динамических атрибутов, дискретно и непрерывно изменяющихся во времени, соответственно, для которых требуется хранение в базе данных истории этих изменений.

Дискретные динамические атрибуты будем представлять временными рядами их значений. Непрерывные динамические атрибуты будем представлять коэффициентами кусочно-непрерывных генерирующих функций. При этом не будем рассматривать механизмы такой аппроксимации, так как они достаточно хорошо разработаны [5].

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

Rt = {R0 , R1^ ,..., RN^, R1~ , ..., RM ~ }, (1)

где R0 - компонент, описывающий статические атрибуты и имеющий схему R0 = {K0, A0}, причем K0 = K; R1^ ,..., RN^ - компоненты, описывающие дискретно изменяющиеся динамические атрибуты A^ = {A1^, ..., AN^} и имеющие схемы Ri^= {Ki^, T, Ai^}, в которых T есть атрибут времени, пара (Ki^, Т) – первичный ключ, Ai^ - дискретный динамический атрибут, входящий в состав A^; R1~ , ..., RM ~ - компоненты, описывающие непрерывно изменяющиеся динамические атрибуты A~ = {A1~, ..., AM~} и имеющие схемы Rj~ = {Kj~, T, Fj~}, в которых (Kj~, Т) – первичный ключ, Fj~ - множество параметров, характеризующих вид и коэффициенты генерирующей функции для непрерывного динамического атрибута Aj~ из A~.

В общем случае в роли Ki^ и Kj~ может выступать подмножество K0 или A0. Это означает, что в темпоральном отношении Rt существуют частичные зависимости от ключа или транзитивные зависимости. Если же Rt нормализовано, тогда Ki^ и Kj~ совпадают с K.

Приведем пояснение выражения (1). Компонент R0 предназначен для представления статических атрибутов A0 некоторого объекта учета. Для однозначной идентификации объекта в R0 входит первичный ключ K0. Компоненты {Ri^} и {Rj~} предназначены для представления дискретных и непрерывных динамических атрибутов объекта. В случае, если объект не обладает динамическими атрибутами, {Ri^} и {Rj~} отсутствуют, а Rt фактически сводится к стандартному реляционному виду R . Пара (T, Ai^) представляет собой временной ряд значений дискретного атрибута Ai^. Пара (T, Fj) есть временной ряд параметров генерирующих функций, используемых для представления непрерывного атрибута Aj~

Как легко заметить, в Rt атрибут времени T понимается как "время-момент". Это означает, что T определяет момент времени, в который изменяют свои значения динамические атрибуты. При этом считается, что в течение периода времени от Т = ti , содержащемся в i-м кортеже, до Т = ti+1, содержащемся в (i+1)-м кортеже, динамический атрибут имеет значение, определяемое i-м кортежем.

Недостатком представления "время-момент" является невозможность рассмотрения отдельных кортежей Ri^ и Rj~ без их связи с другими кортежами. Этот недостаток устраняется при переходе к другому представлению - "время-период". Согласно представлению "время-период" темпоральное отношение также представляется в виде (1), однако компоненты Ri^ и Rj~ имеют схемы Ri^= {Ki, Tн, Tк, Ai^} и Rj~ = {Kj, Tн, Tк, Fj~}, где Tн и Tк - соответственно, начальный и конечный моменты некоторого периода времени. Будем обозначать темпоральное отношение Rt в представлении "время-период" как Rt.

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

Кроме того, так как при манипулировании темпоральными отношениями возможен переход от представления "время-момент" к представлению "время-период" и обратно, в данный набор необходимо включить операцию преобразования представления темпорального отношения (назовем ее t-операцией).

Как специфическая операция модели, t-операция имеет алгоритмическое определение. Иными словами, она не может быть выведена через реляционные операции над компонентами темпоральных отношений.

Особенностью прямой t-операции Rit = t(Rit ) является то, что в домен атрибута Tк результирующего представления Rt обязательно должно входить специфическое значение now, имеющее смысл "по настоящее время". Для обратной t-операции Rit=t-1(Rit ) характерно, что в результирующем представлении Rit возможно появление "пустого" значения (null-значения) атрибута времени.

Проекцию определим, по аналогии с реляционной моделью, как "разрезание" темпорального отношения по вертикали с последующим "склеиванием" только тех столбцов, которые заданы в условии операции. Обозначим через АpОА множество атрибутов, задаваемых в условии проекции. Заметим при этом, что ключевые атрибуты K0 или Ki^ должны входить в состав Аp, если в него входят соответствующие атрибуты A0 или A^. Иначе результирующее темпоральное отношение распадается на не связанные друг с другом компоненты.

Можно показать, что Rt2 = p (Rt1 | Аp), если выполняются соотношения

R20 = p (R10 | Аp З A0 ),

"i, Ri2^ = p (Ri1^ | Аp З Ai1^ ),

"j, Rj2~ = p (Rj1~ | Аp З Aj1~ ).

Селекцию определим как "разрезание" темпорального отношения по горизонтали с последующим "склеиванием" только тех строк, поля которых удовлетворяют логическому условию, указанному в операции. Условие поиска обозначим Р (Аs ), где АsОА - множество атрибутов, входящих в логическое условие.

Условие поиска Р (Аs ) может быть простым и сложным. Под простым будем понимать условие, атрибуты Аs которого полностью входят в состав одного из компонентов исходного темпорального отношения, т.е. Аs = Аsa; Аsa Н Аa, где {0,^,~}. Иначе условие считается сложным.

Для простого условия поиска селекция выполняется в два этапа. Вначале осуществляется формирование компонента R2a путем селекции по простому условию Р(Аsa ) компонента R1a. Затем из остальных компонентов выбираются те строки, значения ключевых атрибутов которых содержатся в R2a.

Можно показать, что Rt2 = s (Rt1 |P(Аs) ), если выполняются соотношения

R2a = s (R1a | P (Аsa ) ), a О{0,^,~},

R2b = pk (R2a ) Ґ R1b , b О {0,^,~}, b № a,

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

Следует отметить, что если в простое условие поиска входят динамические атрибуты, т.е. a = ^ или a = ~, то для отбора требуемых кортежей из R1a следует изменить его представление и применить к нему t-операцию. Иными словами, если a О{^,~}, то тогда

s (R1a | P (Аsa ) ) =

= t -1 (s (t (R1a ) | P (Аsa ) ) .

Кроме того, если в простое условие поиска входят непрерывные динамические атрибуты, т.е. a = ~, то селекция компонента R1a не является обычной реляционной операцией, так как значения атрибутов Аs~ вычисляются через параметры генерирующих функций Fs~, а при выборке требуемых кортежей следует учитывать допустимую погрешность аппроксимации.

Сложное условие поиска Р (Аs ) всегда может быть представлено в виде конъюнкции простых условий Р(Аs )=Р (Аs1 ) Щ ... Щ Р (АsN ). В этом случае селекцию по сложному условию поиска можно реализовать как совокупность последовательно применяемых селекций с простыми условиями поиска, т.е.

s (R1 | P (Аs ) ) =

= s1 ( ... ( sN (R1|P(АsN )) ... |P(Аs1 ) ).

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

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

Пусть имеется два темпоральных отношения R1 и R2 со схемами R1 = {R10, R1^, R1~} и R2 = {R20, R2^, R2~ }, соответственно. Общими атрибутами являются: в R1 - А1a, a О{0,^} (вариант с А10 будет охватывать также случай с общим первичным ключом К1), в R2 - первичный ключ К2.

Тогда можно показать, что результирующее отношение R3 = R1 Ґ R2 будет обладать следующими свойствами:

схема R3 представляет собой объединение схем операндов, т.е. R3 = {R310, R320, R31^, R32^, R31~, R32~ }, где R3i0 = Ri0, R3i^ = Ri^, R3i~ = Ri~ , i О{1; 2};

компоненты R3ia отношения R3 вычисляются по соотношению

R3ia = s (Ria | Kia О Ki ), a О{0,^,~},

где K1 = pk1 (R1a Ґ R20), K2 = pk2 (R1a Ґ R20), а pk1 и pk2 есть операции проекции по ключевым атрибутам К1 и К2, соответственно.

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

Целостная часть МПДД включает в себя совокупность правил, которые обеспечивают поддержание базы темпоральных данныхи в непротиворечивом состоянии, а также предохраняют ее от потерь в ходе ведения. Основными правилами, поддерживающими целостность темпорального отношения в МПТД, являются (будем рассматривать представление "время-момент" Rt, так как именно в таком виде должны храниться данные в целях экономии памяти):

уникальность ключевых атрибутов темпорального отношения и его компонентов, т.е. уникальность К0 в R0 , а также пар (Ki, T) в компонентах Ri^ и Rj~;

упорядочность кортежей по атрибуту Т в компонентах Ri^ и Rj~;

исключение в Ri^ кортежей с повторяющимися значениями атрибутов Ai^ и Fj~;

ссылочная целостность между компонентами R0, Ri^ и Rj~, означающая, что области значений Ki и Kj обязательно должны принадлежать доменам соответствующих К0 или А0.

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

Литература

  1. Иванов А.Ю., Саенко И.Б. Основы построения и проектирования реляционных баз данных. - СПб: ВАС, 1998 г. - 80с.
  2. Аткинсон М. и др. Манифест систем объектно-ориентированных баз данных // Системы Управления Базами Данных, №4, 1995, с.142-155.
  3. Чемберлин Д. Анатомия объектно-реляционных баз данных // Системы Управления Базами Данных, №1-2, 1998, с.3-24.
  4. Мейер Д. Теория реляционных баз данных./ Пер. с англ. - М.: Мир, 1987 г., 608с.
  5. Гуляев А.И. Временные ряды в динамических базах данных. - М.: Радио и связь, 1989 г. - 128с.

Site of Information Technologies
Designed by  inftech@webservis.ru.