Научная статья на тему 'Метод временных интервалов'

Метод временных интервалов Текст научной статьи по специальности «Математика»

CC BY
438
58
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ХРОНОЛОГИЧЕСКАЯ БАЗА ДАННЫХ / ПОЛУХРОНОЛОГИЧЕСКАЯ БАЗА ДАННЫХ / ПОЗИЦИОННЫЙ ТИП ДАННЫХ / ОПЕРАТОР НАД ПОЗИЦИОННЫМ ТИПОМ / TEMPORAL DATABASE / SEMI-TEMPORAL DATABASE / POINT TYPE DATE / OPERATOR ON POINT TYPE

Аннотация научной статьи по математике, автор научной работы — Викторова Надежда Борисовна, Иванникова Юлия Константиновна, Куценко Ирина Львовна, Черникова Наталья Юрьевна

В настоящее время постоянно растет интерес к проблеме управления данными, которые представляют собой интервалы времени. Это вызвано необходимостью планирования ресурсов и принятия решений на основе не только текущей информации, но и информации за предыдущие периоды работы предприятия. Основными объектами таких баз данных являются интервалы времени, работа с которыми в большинстве существующих СУБД затруднена или не предусмотрена.

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

METHOD OF TIME INTERVALS

At the present time the interest to the problem of data management, which represent time intervals, is growing. This is because of the necessity of resource planning and decision making on the base on not only current information but also on information for previous periods of enterprise work. The main objects of such data bases are time intervals, work with which in most existing SUBD is difficult and isn't foreseen.

Текст научной работы на тему «Метод временных интервалов»

УДК 681.142.2

МЕТОД ВРЕМЕННЫХ ИНТЕРВАЛОВ © Н.Б. Викторова, Ю.К. Иванникова, И.Л. Куценко, Н.Ю. Черникова

Ключевые слова: хронологическая база данных; полухронологическая база данных; позиционный тип данных; оператор над позиционным типом.

В настоящее время постоянно растет интерес к проблеме управления данными, которые представляют собой интервалы времени. Это вызвано необходимостью планирования ресурсов и принятия решений на основе не только текущей информации, но и информации за предыдущие периоды работы предприятия. Основными объектами таких баз данных являются интервалы времени, работа с которыми в большинстве существующих СУБД затруднена или не предусмотрена.

1. ОСНОВНЫЕ ПОНЯТИЯ

Определение 1.1. Хронологическая база данных может быть неформально определена как база, которая содержит исторические данные наряду с текущими данными или вместо них [1].

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

Обычные, или нехронологические, базы данных содержат только текущие данные; актуальность таких баз поддерживается путем обновления данных сразу же после того, как представленная в них информация становится ложной. В отличие от них хронологические базы данных обновляются очень редко (а могут вообще не обновляться), если не считать выполнения операций INSERT, которые применяются для их первоначального заполнения [1-3].

Хронологические данные, в частности, можно рассматривать как представляющие истинные высказывания с обозначением времени; под этим подразумеваются высказывания, которые включают по меньшей мере один фактический параметр с временной отметкой того или иного типа.

Само время может рассматриваться как временная шкала, состоящая из конечной последовательности дискретных, неделимых квантов времени.

Определение 1.3. Интервал времени - это непустой отрезок временной шкалы. Говоря точнее, интервал времени, имеющий начальную временную позицию b и конечную временную позицию е, может рассматриваться как последовательность временной шкалы, состоящая из всех временных позиций р, таких что b < p < e (где «<» означает «раньше чем») [4].

Теперь будем трактовать интервалы времени не в виде пар отдельных начальных и конечных значений, а в качестве самостоятельных значений. И неформально обозначать их с помощью сокращенного выражения [d04:d10], а не с помощью таких оборотов, как «интервал времени от четвертых суток до десятых суток». Принятые соглашения:

1) значение наподобие [d04:d10] называется значением интервала времени или сокращенно просто интервалом времени;

2) значения d04 и d10 соответственно являются начальной временной позицией и конечной временной позицией этого значения интервала времени;

3) значение интервала времени относится к определенному интервальному типу;

1914

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

HR_DURING

H_DURING

H# R# DURING

H# DURING H1 R1 [d04:d10]

H1 [d04:d10] H1 R2 [d05:d10]

H2 [d02:d04] H1 R3 [d09:d10]

H2 [d07:d10] H1 R4 [d05:d10]

H3 [d03:d10] H1 R5 [d04:d10]

H4 [d04:d10] H1 R6 [d06:d10]

H5 [d02:d10] H2 R1 [d02:d04]

H2 R1 [d08:d10]

H2 R2 [d03:d03]

H2 R2 [d09:d10]

H3 R2 [d08:d10]

H4 R2 [d06:d09]

H4 R4 [d04:d08]

H4 R5 [d05:d10]

Рис. 1.

Предикаты этой базы данных приведены ниже.

■ H_DURING. Отель H# заключал договора на протяжении интервала времени от начальной позиции интервала времени DURING до конечной временной позиции интервала времени DURING.

■ HR_ DURING. Отель H# был способен предоставлять комнату R# на протяжении интервала времени от начальной позиции интервала времени DURING до конечной позиции интервала времени DURING.

Теперь перейдем к описанию формальных определений.

Определение 1.4. Любой конкретный тип Т может использоваться в качестве позиционного типа (и значения типа Т могут именоваться позициями), если для этого типа Т определены все описанные компоненты:

1) полное упорядочение, в соответствии с которым для любой пары значений v1 и v2 типа Т определен оператор «>»; если значения v1 и v2 различны, то одно и только одно из выражений «v1 > v2» и «v2 > v1» является истинным, а другое - ложным.

Также для типа Т определен оператор «=». Если известно, что определен также оператор «>», то можно вполне обоснованно полагать, что для всех пар значений типа Т фактически доступны и все обычные операторы сравнения: « = », « > », « > », «<» и «<»;

2) нуль-арные операторы FIRST_T и LAST_T, которые возвращают соответственно первое и последнее значения типа Т, исходя из упомянутого выше полного упорядочения;

3) унарные операторы NEXT_T и PRIOR_T, которые возвращают соответственно предшествующее и последующее значения для любого конкретного значения типа Т, исходя из упомянутого выше полного упорядочения.

2. ОПЕРАЦИИ НАД ПОЗИЦИЯМИ И ИНТЕРВАЛАМИ

Допустим, что Т - позиционный тип, а р, р1 и р2 - значения типа Т; неформально можно предположить, что для обозначения позиций соответственно, предшествующей и последующей по отношению к р, могут использоваться выражения р+1 и р-1. Кроме того, допустим, что i, i1 и i2 - интервалы типа INTERVAL_T; b, b1 и b2 - начальные позиции, а е, е1 и е2 - конечные

1915

позиции соответственно интервалов i, i1 и i2; неформально можно предположить, что для обозначения интервалов i, i1 и i2 используются соответственно выражения [b:e], [b1:e1] и [b2:e2].

В таком случае справедливы приведенные ниже утверждения.

1. Выражение IS_NEXT_T(p1,p2) принимает истинное значение тогда и только тогда, когда позиция р1 является непосредственно предшествующей по отношению к позиции р2. Выражение IS_PRIOR_T(p1,p2) принимает истинное значение тогда и только тогда, когда является истинным выражение IS_NEXT_T(p2,p1); это означает, что IS_PRIOR_T(p1,p2) = IS_NEXT_T(p2,p1).

2. Выражение MAX(p1,p2) возвращает р2, если выражение р1 < р2 является истинным, в противном случае оно возвращает р1; выражение MIN(p1,p2) возвращает р1, если выражение р1 < р2 является истинным, в противном случае оно возвращает р2.

3. Выражение р е i является истинным тогда и только тогда, когда выражение b < p и p < e оба являются истинными; это означает, что р е i = (b < p AND p < e). Кроме того, i е p = р е i.

Примечание. Символы «е» и «е» читаются соответственно как «содержится в» и «содержит».

4. Выражение COUNT(i) возвращает результат подсчета количества различных позиций р, таких что р е i.

5. Интервал i является единичным интервалом тогда и только тогда, когда COUNT(i) = 1. Выражение POINT FROM i возвращает единственную позицию р из единичного интервала i.

6. Выражения PRE(i) и POST(i) соответственно возвращают позиции b-1 и e+1.

Примечание. Выражения PRE(i) и POST(i) соответственно являются сокращениями от

PRIOR_T(BEGIN(i)) и NEXT_T( END(i)).

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

1) Равняется (=): (i1 = i2) = (b1 = b2 AND e1 = e2).

I---------i1-1

b1 e1

I-----i2---1

b2 e2

2) Включает («2») и включено в («<=»): (il2i2) = (bl < b2 AND el > e2); (i2 - il) = (il2 i2).

I-----i1---1

b1 e1

I i2 |

b2 e2

3) Строго включает («С ») и строго включено в («C»):(ilCi2) = (ilci2 AND il Ф i2);

(i2Cil) = (ilCi2).

4) BEFORE и AFTER: (i1 BEFORE i2) = (e1 < b2); (i1 AFTER i2) = (i2 BEFORE i1).

I—i1—I I------i2----1

b1 e1 b2 e2

5) MEETS: (i1 MEETS i2) = (b2 = e1+1 OR b1= e2+1).

I—i1—I I---------i2--1

b1 e1 b2 e2

6) OVERLAPS: (i1 OVERLAPS i2) = (b1<e2 AND b2<e1).

I—i1—I

b1 e1

I------i2---1

b2 e2

7) MERGES: (i1 MERGES i2) = (i1 OVERLAPS i2 OR i1 MEETS i2).

I—i1—I

b1 e1

I------i2---1

b2 e2

OR

1916

I--il-- I I---il--- I

bl el bl el

8) BEGINS: (il BEGINS i2) = (bl = b2 AND el < e2).

I--il-- I

bl el

I----il--- I

bl el

9) ENDS: (il ENDS i2) = (el = e2 AND bl > b2).

I—il—I

bl el

I-----i2---1

bl el

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

Наконец, определим некоторые полезные бинарные операторы над интервалами, которые возвращают интервалы, а именно аналоги знакомых операторов UNION, INTERSECT и MINUS для работы с интервалами. Каждый из них принимает два интервала такого же типа, как и его операнды, и возвращает в качестве результата другой интервал такого же типа.

Определение 2. 1) Оператор UNION. Выражение il UNION i2 возвращает [MIN (bl,b2): MAX (el,e2)], если выражение il MERGES i2 принимает истинное значение; в противном случае оно не определено.

Пример: объединением интервалов [d04:d08] и ^0бШ0] является интервал [d04:dl0]; объединение интервалов [d02:d03] и ^0бШ0] не определено.

2) Оператор INTERSECT. Выражение il INTERSECT i2 возвращает [MAX (bl, b2): MIN (el, e2)], если выражение il OVERLAPS i2 принимает истинное значение; в противном случае оно не определено.

Утверждение 2.1. Допустим, что il, i2 и i3 - такие интервалы, что существует единственный интервал i4, состоящий из всех позиций p, таких что p є il или p є i2, или p є i3. Составьте выражение, вычисление которого позволяет получить интервал i4.

Выражение:

INTERVAL_INTEGER

[MIN (MIN (BEGIN(il), BEGIN(i2)), BEGIN(i3)):

MAX (MAX (END(il), END(i2) ), END(i3))].

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

Утверждение 2.2. Пусть a и b - отношения (или множества) и имеет место следующее тождество:

a INTERSECT b = a MINUS ( a MINUS b) .

Является ли истинным аналогичное утверждение, если a и b - интервалы?

Да, но только если будет определено выражение в правой части. В противном случае нет! Примеры:

1) a = [1:3], b = [4:5]; тогда выражение a INTERSECT b не определено, а a MINUS b = [1:3], выражение a MINUS (a MINUS b) не определено.

2) a = [4:8], b = [б:10]; тогда выражение a INTERSECT b = [б:8], а a MINUS b = [4:5], выражение a MINUS (a MINUS b) = [б:8].

3. УПАКОВКА И РАСПАКОВКА ОТНОШЕНИЙ Рассмотрим два новых оператора, называемых PACK и UNPACK.

Но в качестве промежуточного этапа на пути к определению этих операторов вначале необходимо сделать краткое отступление и рассмотреть два более простых их аналога, которые называются соответственно COLLAPSE и EXPAND [5].

3.1. Операторы EXPAND и COLLAPSE. Оба оператора, EXPAND и COLLAPSE, в том виде, в каком они описаны, принимают в качестве единственного операнда унарное отношение, кортежи которого содержат интервалы и вырабатывают в качестве результата другое отноше-

1917

ние такого же типа. Например, предположим, что отношение г выглядит примерно следующим

образом. ____________

DURING ~

[d06:d09]

[d04:d08]

[d05:d10]

[d01:d01]

В таком случае операторы EXPAND г и COLLAPSE г вырабатывают результаты, которые выглядят следующим образом:

EXPAND г COLLAPSE г ^

DURING [d01:d01]

[d04:d04]

Примечание. Допустим, что унарное отношение г включает DURING в качестве единственного атрибута, а DURING имеет значение в виде интервала. Тогда и развернутая, и свернутая формы отношения г являются унарными отношениями такого же типа, как г, которые определены, как описано ниже.

Определение 3.1.

1) Развернутой формой отношения г является такое отношение гх, содержащее все кортежи, которые содержат единичный интервал в форме [p:p], где р - позиция в некотором интервале из некоторого кортежа г, определенного, как показано ниже [3, 4].

2) Сжатой формой отношения г является отношение гс, такое что имеют место описанные ниже условия.

А) Отношения г и гс имеют одну и туже развернутую форму.

Б) Никакие два разных кортежа в отношении гс не содержат интервалы Пи i2 соответственно такие, что выражение i1 MERGES i2 является истинным. Равным образом, никакие два разных кортежа в отношении не содержат соответственно интервалы Пи i2 такие, что определено выражение i1 UNION i2. (Из этого следует, что отношение гс может быть вычислено из отношения г путем последовательной замены пар кортежей t1 и t2 в отношении г с помощью кортежа t, содержащего объединение интервалов в кортежах t1 и t2 до тех пор, пока такие замены не будут возможны.)

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

Определение 3.2. Два отношения, г1 и г2, являются эквивалентными тогда и только тогда, когда множество всех позиций, содержащихся в интервалах кортежей отношения г1, равно множеству всех позиций, содержащихся в интервалах кортежей г2.

После анализа этого и приведенных ранее определений развернутых и свернутых форм становятся очевидными приведенные ниже выводы:

1) для любого конкретного отношения г всегда существует соответствующая развернутая форма этого отношения г;

2) такая развернутая форма эквивалентна отношению г. Действительно, можно утверждать, что два отношения являются эквивалентными тогда и только тогда, когда они имеют одинаковую развернутую форму;

DURING

[d01:d01]

[d04:d04]

[d05:d05]

[d06:d06]

[d07:d07]

[d08:d08]

[d09:d09]

[d10:d10]

1918

3) такая развернутая форма является уникальной; точнее, развернутая форма представляет собой такое уникальное эквивалентное отношение, в котором все интервалы имеют минимально возможную длину (единичную длину);

4) если отношение г является пустым, то развернутая форма г также пуста.

Аналогичным образом можно прийти к приведенным ниже заключениям:

1) для любого конкретного отношения г всегда существует соответствующая свернутая форма этого отношения г;

2) такая свернутая форма эквивалентна отношению г. Действительно, можно утверждать, что два отношения являются эквивалентными тогда и только тогда, когда они имеют одинаковую свернутую форму;

3) такая свернутая форма является уникальной; точнее, она представляет уникальное эквивалентное отношение, которое имеет минимально возможную кардинальность;

4) если отношение г является пустым, то свернутая форма г так же пуста.

Кстати, предположение о том, что операторы EXPAND и COLLAPSE противоположны по отношению друг к другу, является ошибочным. Фактически, вообще говоря, ни выражение EXPAND (COLLAPSE г), ни выражение COLLAPSE (EXPAND г) не являются тождественно равными отношению г (хотя оба эти выражения, безусловно, эквивалентны отношению г). Действительно, легко показать, что имеют место приведенные ниже тождества:

1) EXPAND (COLLAPSE г) = EXPAND г,

2) COLLAPSE (EXPAND г) = COLLAPSE г.

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

3.2. Операторы PACK и UNPACK. В своей наиболее общей форме и оператор PACK, и оператор UNPACK принимают в качестве единственного операнда n-арное отношение, в котором один из атрибутов имеет значение в виде интервала и в качестве своего результата вырабатывает другое отношение такого же типа. Например, пусть отношение г выглядит следующим образом: ____________________________________________

H# DURING

H2 [d02:d04]

H2 [d03:d05]

H4 [d02:d05]

H4 [d04:d06]

H4 [d09:d10]

В таком случае выражения PACK г ON DURING и UNPACK г ON DURING вырабатывают, соответственно, результаты, которые выглядят следующим образом.

PACK г ON DURING UNPACK г ON DURING

H# DURING

H2 [d02:d02]

H2 [d03:d03]

H2 [d04:d04]

H2 [d05:d05]

H4 [d02:d02]

H4 [d03:d03]

H4 [d04:d04]

H4 [d05:d05]

H4 [d06:d06]

H4 [d09:d09]

H4 [d10:d10]

H# DURING

H2 [d02:d05]

H4 [d02:d06]

H4 [d09:d10]

1919

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

1) в случае оператора PACK эта информация была переупорядочена таким образом, что никакие два интервала DURING, относящиеся к определенному отелю, не являются смежными и не перекрываются;

2) в случае оператора UNPACK эта информация была переупорядочена таким образом, что каждое значение DURING (а значит, в силу этого и каждый отдельный интервал DURING. относящийся к определенному отелю) представляет собой именно единичный интервал.

Первоначальное отношение г и соответствующие ему упакованная и распакованная формы являются в определенном смысле эквивалентными друг другу.

Утверждение 3.1. Операторы PACK и UNPACK не являются взаимно обратными: UNPACK (PACK г ON A) ON A ф PACK (UNPACK г ON A) ON A

Доказательство. Рассмотрим левую часть.

Пусть отношение г определено следующим образом:

H# A

H2 [d02:d04]

H2 [d03:d05]

H4 [d02:d05]

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

H4 [d04:d06]

H4 [d09:d10]

PACK г ON A Распакуем полученное отношение по A.

H# A

H2 H4 H4 [d02:d05] [d02:d06] [d09:d10]

H# A

H2 [d02:d02]

H2 [d03:d03]

H2 [d04:d04]

H2 [d05:d05]

H4 [d02:d02]

H4 [d03:d03]

H4 [d04:d04]

H4 [d05:d05]

H4 [d06:d06]

H4 [d09:d09]

H4 [d10:d10]

Рассмотрим правую часть. UNPACK г ON A

H# A

H2 [d02:d02]

H2 [d03:d03]

H2 [d04:d04]

H2 [d05:d05]

H4 [d02:d02]

H4 [d03:d03]

H4 [d04:d04]

H4 [d05:d05]

H4 [d06:d06]

H4 [d09:d09]

H4 [d10:d10]

Упакуем полученное отношение по A.

H# A

H2 H4 H4 [d02:d05] [d02:d06] [d09:d10]

Полученные отношения не совпадают. Следовательно, верно следующее:

UNPACK (PACK г ON A) ON A ф PACK (UNPACK г ON A) ON

A. ■

Поэтому ни выражение UNPACK (PACK г ON A) ON A, ни выражение PACK (UNPACK г ON A) ON A в общем случае не являются тождественно равными г (хотя оба эти выражения эквивалентны отношению г, в том смысле, который будет описан чуть позже).

1920

Безусловно, можно легко показать, что справедливы приведенные ниже тождества:

1) UNPACK г ON A = UNPACK (PACK г ON A) ON A,

2) PACK г ON A = PACK (UNPACK г ON A) ON A.

Следствие. Из этого следует, что первая операция в последовательности операций «упаковка, затем распаковка» или « распаковка, затем упаковка» над некоторым конкретным отношением может просто игнорироваться.

Замечания.

1. Упаковка или распаковка любого отношения г вообще без указания каких-либо атрибутов приводит просто к получению отношения г.

2. Распаковка отношения г по двум или нескольким атрибутам, притом что все эти атрибуты имеют значения в виде интервала, осуществляется очень просто; если рассматриваемыми атрибутами являются A1, A2, ..., An (в некотором порядке), то желаемый результат может быть получен путем распаковки г по атрибуту A1, затем распаковки

результата этой первой распаковки по атрибуту A2, ..., наконец, распаковки результата

предпоследней распаковки по атрибуту An.

3. Упаковка отношения г по двум или нескольким атрибутам, притом что все эти атрибуты имеют значения в виде интервала, становится немного более сложной задачей. Но неформально можно утверждать, что если рассматриваемыми атрибутами являются A1, A2, ..., An (в некотором порядке), то желаемый результат можно получить, вначале распаковав г по всем указанным атрибутам, а затем упаковав полученный результат распаковки по атрибуту A1, упаковав результат первой упаковки по атрибуту A2, ..., наконец, упаковав результат предпоследней упаковки по атрибуту An.

4. Предположим, что г1 и г2 - отношения одного и того же типа и атрибуты A1, A2, ., An этих двух отношений имеют значения в виде интервала. Тогда отношения г1 и г2 являются эквивалентными (применительно к атрибутам A1, A2, ..., An) тогда и только тогда, когда результаты операций UNPACK г1 ON (A1, A2, . , An) и UNPACK г2 ON (A1, A2, . , An) равны.

Приложение

ПРОЕКТ БАЗЫ ДАННЫХ «СЕТЬ ОТЕЛЕЙ»

VAR H_SINCE BASE RELATION

{ H# H#, H#_SINCE DATE,

HNAME NAME, HNAME_SINCE DATE,

STATUS INTEGER, STATUS_SINCE DATE }

KEY { H# };

VAR H_DURING

BASE RELATION { H# H#,

DURING INTERVAL_DATE }

KEY { H#, DURING };

VAR H_STATUS_DURING BASE RELATION { H# H#,

STATUS INTEGER,

DURING INTERVAL_DATE }

KEY { H#, DURING } ;

VAR H_NAME_DURING BASE RELATION { H# H#,

HNAME NAME,

1921

DURING INTERVAL_DATE }

KEY { H#, DURING };

VAR HR_SINCE BASE RELATION

{ H# H#, H#_SINCE DATE,

R# R#, R#_SINCE DATE,

RNAME NAME, RNAME_SINCE DATE }

KEY { H#, R# };

VAR HR_DURING

BASE RELATION { H# H#,

R# R#,

DURING INTERVAL_DATE }

KEY { H#, R#, DURING };

VAR HR_NAME_DURING BASE RELATION { H# H#,

R# R#,

RNAME NAME,

DURING INTERVAL_DATE }

KEY { H#, R#, DURING };

Предикаты переменных отношения этого проекта описаны ниже:

■ H_SINCE . Отель H# заключал договора начиная от временной позиции H#_SINCE, имел название HNAME начиная от временной позиции HNAME_SINCE до текущей даты, имел статус STATUS начиная от временной позиции STATUS _SINCE до текущей даты.

■ H_DURING. Отель H# заключал договора на протяжении интервала времени DURING.

■ H_NAME_DURING. Отель H# носил название HNAME на протяжении интервала времени DURING.

■ H_STATUS_DURING. Отель H# имел статус STATUS (количество звезд у отеля) на протяжении интервала времени DURING.

■ HR_SINCE. Отель H# был способен предоставлять комнату R# от временной позиции H#_SINCE до текущей даты, комната имела название (класс (люкс, эконом)) RNAME начиная от временной позиции RNAME_SINCE до текущей даты.

■ HR_DURING. Отель H# был способен предоставлять комнату R# на протяжении интервала времени DURING.

■ HR_NAME_DURING. Отель H# был способен предоставлять комнату R#, имеющую определенное название (класс (люкс, эконом)) на протяжении интервала времени DURING.

H# HNAME STATUS SINCE

H1 KONRAT 3 d01

H# HNAME STATUS DURING

H2 KONRAT si 4 [d02:d10]

1922

H# R# RNAME SINCE

H1 R1 LUKS d01

H# R# RNAME DURING

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

H2 R5 SUIT [d03:d10]

ЛИТЕРАТУРА

1. Дейт К. Введение в системы баз данных / пер. с англ. 7-е изд. К.; М.; СПб.: Вильямс, 2001. 1073 с.

2. Дейт К. Введение в системы баз данных / пер. с англ. 8-е изд. К.; М.; СПб.: Вильямс, 2006. 1328 с.

3. Date C.J., Darwen H., Lorentzos N.A. Temporal Data and the Relation Model. San Francisco, Calif.: Morgan Kaufmann, 2003. 422 с.

4. Конноли Т., Бегг К., Страган А. Базы данных: проектирование, реализация и сопровождение: Теория и практика: учеб. пособие. 3-е изд. М.: Вильямс, 2003. 1436 с.

5. Opher Etzion, Sushil Jajodia, Suryanarayana Sripada Temporal databases: research and practice. N. Y., 1998. 428 с.

Поступила в редакцию 20 августа 2010 г.

Viktorova N.B., Ivannikova Yu.K., Kutsenko I.L., Chernikova N.Yu. Method of time intervals At the present time the interest to the problem of data management, which represent time intervals, is growing. This is because of the necessity of resource planning and decision making on the base on not only current information but also on information for previous periods of enterprise work. The main objects of such data bases are time intervals, work with which in most existing SUBD is difficult and isn’t foreseen.

Key words: temporal database; semi-temporal database; Point Type Date; operator on point type.

1923

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