Часові бази даних
Структурне подання часу
Дослідники часу розрізняють два способи його подання: порядковий та структурний [1]. Порядковий спосіб передбачає подання часу за допомогою натуральних чисел. Структурний спосіб ґрунтується на понятті структурування.
Розглянемо скінченну множину
, на якій задане відношення порядку. Тобто
. Визначимо наступні оператори:
.
.
Структуруванням множини
називається пара
, де
, і
– бієктивне відображення, яке кожному елементу множини
ставить у відповідність скінченний закритий інтервал
множини
, причому:
Часові елементи
При дослідженні часу розрізняють три типи часових елементів: часовий момент, часовий інтервал та термін часу.
Часовий момент служить для подання найменшої часової одиниці – хронона [1]. Часові моменти будемо позначати t з індексами або без них. Кожній події в предметній області відповідає часовий момент.
Часовий інтервал задається за допомогою двох моментів часу – початкового та кінцевого, та складається з множини всіх часових моментів, які лежать між початковим та кінцевим. Часові інтервали будемо позначати
, де
– початок,
– кінець інтервалу.
Для часового інтервалу характерно, що початковий момент включається в інтервал, а кінцевий – ні. Вимога відкритості часового інтервалу не є принциповою при використанні дискретної часової осі, але вона дає переваги при маніпулюванні часовими інтервалами. Часовий інтервал за таким визначенням може відображати проміжок часу, протягом якого предметна область перебуває в одному стані.
Математичне визначення часу
Час – це безмежна щільна множина елементів, на якій визначено відношення порядку. Ця множина є ізоморфною до множини дійсних чисел, тобто часова вісь подається як вісь дійсних чисел [1]. Таке визначення належним чином відображає усі аспекти часу як одного з елементів дійсності.
В області баз даних часову вісь визначають як зліченну дискретну множину [2], на якій задано відношення порядку (“менше рівне”). Елементи цієї множини називаються часовими моментами.

Рис. 1. Часова вісь.
На рис. 1 зображено часову вісь з дискретними моментами часу. Причому:


Дискретна часова вісь ізоморфна до множини натуральних чисел.
Моделювання часу: часовий ізоморфізм
Порядок і темп подій в базі даних відповідає порядку і темпу подій предметної області. Тобто моменти часу появи подій в предметній області фактично не повинні змінюватися при внесенні інформації про ці події в базу даних.

Рис. 1. Часовий ізоморфізм подій.
Ця вимога забезпечує відповідність між базою даних та предметною областю.
Моделювання часу: часова щільність
Стан бази даних або множини об’єктів, що в ній відображається, як в довільний момент часу появи подій, так і між двома сусідніми моментами появи подій, може бути виведений з інформації про усі попередні події. Тобто, стан бази даних є визначеним на усьому часовому проміжку дослідження поведінки предметної області.
Поява нової події в предметній області спричиняє зміну стану бази даних. Існують три основні способи впливу появи нової події на стан бази даних [1, 2]: східчастий, точковий та неперервний.
1. Східчастий – між двома сусідніми моментами часу появи подій стан бази даних залишається сталим.

Рис. 1. Східчастий стан ПО.
Моделювання часу: часова повнота
Еволюція предметної області описується скінченною множиною послідовних подій. Події предметної області трапляються лише у фіксовані моменти часу, а не постійно. Кількість моментів часу появи подій є скінченною, як і кількість подій, які трапилися в один момент часу.

Рис. 1. Часова повнота подій.
Ця вимога взагалі забезпечує можливість моделювання предметної області за допомогою відповідної бази даних.
Невизначеність часу
Часова невизначеність інформації характеризується як “невідомо коли це точно сталося”. Цей тип інформації є широко розповсюдженим. Вона зустрічається в багатьох ситуаціях, особливо при збільшенні ступеня деталізації, при недосконалих методах датування (в археології), при невпевненому плануванні, а також при відсутності інформації про час появи події, або цей час є неточним. Було запропоновано декілька варіантів реалізації часової невизначеності в моделях часу [1, 2, 3]. Окрім того проводилися дослідження щодо включення декількох часових деталізацій [4, 5, 6]. Модель можливих хрононів об’єднує в собі обидва зазначені аспекти [7]. У цій моделі подія є визначеною, якщо відомо коли вона трапилася (протягом якого хронона). Якщо ж невідомо, коли подія трапилася, але точно відомо, що вона мала місце,, то ця подія є часово невизначеною.
Часові виміри
В контексті баз даних дослідників, в основному, цікавлять два часові виміри [1]. Дійсний час (valid time) позначає час встановлення факту в дійсності. Дійсний час події – це час, коли подія трапилася в реальному світі незалежно від її запису в якусь базу даних. Дійсний час може стосуватися і майбутнього, якщо передбачається поява події в конкретний момент часу в майбутньому. Час транзакції (transaction time) – це час, протягом якого факт був присутнім в базі даних у вигляді збережених даних.
Модель даних, що не підтримує жодного з цих вимірів часу, називається знімком (snapshot), оскільки вона охоплює лише один знімок в часі як бази даних, так і предметної області, що моделюється цією базою даних. Модель даних, що підтримує лише дійсний час, називається моделлю дійсного часу, а модель даних, що підтримує лише час транзакції, називається моделлю часу транзакції. Модель даних, що підтримує обидва виміри часу, називається бічасовою моделлю (bitemporal) [2].
Структура часу
Ранні роботи по часових дослідженнях зосередилися на двох структурних моделях часу: лінійній та галуженій [1, 2]. У лінійній моделі час плине від минулого до майбутнього в загально впорядкованому вигляді. У галуженій моделі, яка також називається моделлю з можливими майбутніми (possible futures), час є лінійним від минулого до “теперішнього” моменту часу, де він поділяється на декілька часових ліній, кожна з яких відображає потенційну послідовність подій [3]. Така модель часто використовується при дослідженні баз даних реального часу, коли вимагається оперативне прогнозування майбутнього.
Більш загальна модель часу пропонується в [4] і розглядає час як частково впорядковану множину. Введення додаткових аксіом до цієї моделі визначатиме досконалішу модель часу. Наприклад, для визначення лінійної моделі часу слід задати аксіому, що встановлює загальний порядок на цій множині. Періодичні процеси асоціюються з циклічною моделлю часу [5].
Часові напрямки досліджень баз даних
Існують два класичні “часові” напрямки досліджень в області баз даних [1].
1) Дослідження часових баз даних (temporal database) для забезпечення підтримки СКБД змінної в часі інформації.
2) Дослідження баз даних реального часу (real-time database) для завершення операцій з базою даних в певних часовий рамках.
Найчастіше в літературі бази даних реального часу визначаються як бази даних, в яких виконання транзакцій обмежене в часі. Бази даних реального часу, в основному, використовуються в системах обчислень реального часу, що вимагають своєчасного доступу до даних [2]. Оскільки бази даних реального часу природно мають справу з часовим параметром, то для них слід використовувати моделі та теорії, розроблені для часових баз даних. Тому основна увага в цій дисертаційній роботі буде приділена саме проблематиці часових баз даних.


