Темпоральна база даних — база даних, що містить історичні (хронологічні) дані, тобто дані, що відносяться до минулого і, можливо, до майбутнього періоду часу. Звичайна, нехронологічна база даних містить тільки поточні дані.
Класифікація
Унітемпоральна база даних
Унітемпоральна база даних має тільки одну вісь часу: або діапазон чинності (англ. validity range), або діапазон системного часу (англ. system time range).
Бітемпоральна база даних
Бітемпоральна база даних має дві осі часу:
- час чинності;
- час транзакції або час рішення.
Тритемпоральна база даних
Тритемпоральна база даних має три осі часу:
- час чинності;
- час транзакції;
- час рішення.
Цей підхід вводить додаткові складнощі.
Темпоральні бази даних є протилежністю поточним (не плутати з поточно доступними базами даних), які зберігають тільки ті факти, які вважаються істинними на поточний час.
Можливості
Темпоральні бази даних підтримують керування та доступ до темпоральних даних шляхом надання однієї чи більше наступних можливостей:
- Тип даних періоду часу, включно зі здатністю представляти періоди часу без кінця (нескінченність або вічність)
- Здатність визначати атрибути та бітемпоральні відношення періодів часу чинності та транзакції
- Підтримуваний системою час транзакції
- Темпоральні первинні ключі, включно з обмеженнями періодів, що не перекриваються (англ. non-overlapping))
- Темпоральні обмеження, включно з унікальностями та посилальними цілісностями, що не перекриваються (англ. non-overlapping))
- Оновлення та видалення темпоральних записів із автоматичним розділенням і злиттям періодів часу
- Темпоральні запити на поточний час, моменти часу в минулому чи майбутньому, чи над тривалостями
- Предикати для запитування періодів часу, часто засновані на [en]
Типи даних і оператори
Хронологічні дані представляють собою істинні висловлювання із зазначенням інтервалів часу. Інтервалом часу є непорожній відрізок часової шкали, для його позначення використовується спеціальний інтервальний тип даних INTERVAL_DATE. Значення цього типу записується у вигляді , де — вирази типу DATE, відповідні початковій і кінцевій часовій позиції інтервалу. Під часовими позиціями (позиціями на часовій шкалі) розуміють одиниці часу, що підходять для певної мети (мілісекунди, секунди, доба) і вважаються неподільними.
Припустимо — значення інтервального типу, що мають відповідні початкові позиції і кінцеві позиції , — довільна тимчасова позиція. Для позначення попередньої і наступної часової позиції використовуються вирази вигляду і . Оператор повертає кількість різних позицій таких, що . Інтервал є одиничним інтервалом, якщо .
Для перевірки умов, пов'язаних з інтервалами, використовуються оператори Аллена:
- інтервали рівні: ;
- включає :
- суворо включає : ;
- перед : ;
- інтервали зустрічаються: ;
- інтервали перекриваються:: ;
- інтервали зливаються:.
Крім того, є бінарні оператори над інтервалами, які повертають інтервали:
- оператор об'єднання повертає [MIN(b1, b2):MAX(e1, e2)], якщо вираз істинно, інакше результат не визначений;
- оператор перетину повертає [MAX(b1, b2): MIN(e1, e2)] , якщо вираз істинно, інакше результат не визначений;
- оператор різниці повертає [b1:MIN(b2-1,e1)], якщо b1 < b2 і e1 ≤ e2 і повертає [MAX(e2+1,b1),e1], якщо b1 ≥ b2 і e1 > e2, інакше результат не визначений.
Оператори EXPAND і COLLAPSE приймають в якості операнда унарне відношення, кортежі якого містять інтервали і повертають відношення того ж типу, що є розгорнутою і стислою формою вихідного відношення.
Приклад використання операторів EXPAND і COLLAPSE:
|
|
|
Розгорнутою формою відношення R є відношення Rx, що містить всі кортежі з одиничним інтервалом [p:p], де p – позиція в деякому інтервалі деякого кортежу відношення R. Стислою формою відношення R є таке відношення Rc, де: відношення R і Rc мають одну і ту ж розгорнуту форму; ніякі два різних кортежі відносно Rc не містять інтервали i1 і i2 такі, що i1 MERGES i2 є істиною.
Оператор PACK і UNPACK приймають в якості операндів відношення і атрибут інтервального типу, що належить цьому відношенню, і повертає відношення того ж типу, відповідно згорнуте по вказаному атрибуту з угрупованням по іншим атрибутам, і розгорнуте по вказаному атрибуту.
Приклад використання операторів PACK і UNPACK:
|
|
|
Упакувати відношення R за кількома атрибутами D1, D2, ..., Dn можна розпакувавши R за всіма вказаними атрибутами, а потім упакувати отриманий результат за атрибутом D1, результат упаковки упакувати по атрибуту D2, ..., результат упаковки упакувати по атрибуту Dn.
Для всіх звичайних реляційних операторів визначені аналогічні їм U_оператори, які розпаковують відношення за вказаними атрибутами, виконують відповідну операцію і упаковують отриманий результат. Наприклад, оператори U_MINUS, U_INTERSECT, U_UNION, U_JOIN відповідають операторам MINUS, INTERSECT, UNION, JOIN. U_OPERATOR визначається як:
- PACK ((UNPACK R1 ON D) OPERATOR (UNPACK R2 ON D)) ON D
Операція розпакування при використанні довгих інтервалів з великим ступенем деталізації може зажадати занадто великого обсягу пам'яті для свого виконання. Використання U_операторів дозволяє вибрати оптимізатору реалізацію, яка вимагає мінімальної кількості проміжних результатів.
Приклад використання оператора U_MINUS:
|
|
|
Декомпозиція
Зберігання поточної інформації в одних змінних відношення, а історичної інформації — в інших називається горизонтальною декомпозицією. Зберігання історичної інформації у вигляді безлічі окремих змінних відношення (кожна з яких містить один атрибут інтервального типу і один атрибут іншого типу) називається вертикальною декомпозицією.
Припустимо, змінна відношення R має атрибут інтервального типу D та атрибути інших типів A1, A2, ..., An. При зміні атрибутів A1, A2, ..., An незалежно один від одного у часі в змінну відношення необхідно вносити складний ряд оновлень для подання інформації про значення атрибута протягом визначеного періоду часу може знадобитися більше одного кортежу. Тому доцільно розподілити інформацію по змінним відношення R1, R2, ..., Rn, які будуть мати атрибути D і A1, D A2, ..., D і An відповідно.
|
|
|
Дане відношення після виконання декомпозиції знаходиться в шостій нормальній формі.
Обмеження цілісності
Входження атрибута D інтервального типу до складу потенційного ключа не вирішує проблему надмірності і протиріччя. Відношення може мати два кортежі з інтервалами, що перекриваються і співпадаючими значеннями інших атрибутів. При цьому присутня надмірність інформації, дані за деякі часові інтервали, зазначаються двічі. Крім того, існує проблема багатослів'я, коли два кортежі мають інтервали, слідуючи безпосередньо один за одним при співпадаючих значеннях інших атрибутів. У цьому випадку, хоча інформація і не дублюється, але її можна представити у вигляді одного кортежу. Для усунення проблеми надмірності і багатослів'я необхідно, щоб змінна відношення постійно була упакована по атрибуту D.
Крім того, відношення може містити два кортежі з інтервалами, що перекриваються, але з різними значеннями інших неключових атрибутів, в результаті чого інформація буде суперечливою. Для усунення суперечності необхідно, щоб змінна відношення була постійно розпакована по атрибуту D.
Для задоволення цих вимог вводяться U_ключі. Змінна відношення підтримується упакованою по U_ключу і розпаковується при внесенні змін для підтримки несуперечливого стану.
Посилання
Ця стаття не містить . (липень 2018) |
- Kulkarni, Krishna, and Jan-Eike Michels. "Temporal features in SQL: 2011 [ 2012-11-15 у Wayback Machine.]". ACM SIGMOD Record 41.3 (2012): 34-43.
- . Архів оригіналу за 25 жовтня 2012. Процитовано 6 травня 2020.
{{}}
: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title ()
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Temporalna baza danih baza danih sho mistit istorichni hronologichni dani tobto dani sho vidnosyatsya do minulogo i mozhlivo do majbutnogo periodu chasu Zvichajna nehronologichna baza danih mistit tilki potochni dani KlasifikaciyaUnitemporalna baza danih Unitemporalna baza danih maye tilki odnu vis chasu abo diapazon chinnosti angl validity range abo diapazon sistemnogo chasu angl system time range Bitemporalna baza danih Bitemporalna baza danih maye dvi osi chasu chas chinnosti chas tranzakciyi abo chas rishennya Tritemporalna baza danih Tritemporalna baza danih maye tri osi chasu chas chinnosti chas tranzakciyi chas rishennya Cej pidhid vvodit dodatkovi skladnoshi Temporalni bazi danih ye protilezhnistyu potochnim ne plutati z potochno dostupnimi bazami danih yaki zberigayut tilki ti fakti yaki vvazhayutsya istinnimi na potochnij chas MozhlivostiTemporalni bazi danih pidtrimuyut keruvannya ta dostup do temporalnih danih shlyahom nadannya odniyeyi chi bilshe nastupnih mozhlivostej Tip danih periodu chasu vklyuchno zi zdatnistyu predstavlyati periodi chasu bez kincya neskinchennist abo vichnist Zdatnist viznachati atributi ta bitemporalni vidnoshennya periodiv chasu chinnosti ta tranzakciyi Pidtrimuvanij sistemoyu chas tranzakciyi Temporalni pervinni klyuchi vklyuchno z obmezhennyami periodiv sho ne perekrivayutsya angl non overlapping Temporalni obmezhennya vklyuchno z unikalnostyami ta posilalnimi cilisnostyami sho ne perekrivayutsya angl non overlapping Onovlennya ta vidalennya temporalnih zapisiv iz avtomatichnim rozdilennyam i zlittyam periodiv chasu Temporalni zapiti na potochnij chas momenti chasu v minulomu chi majbutnomu chi nad trivalostyami Predikati dlya zapituvannya periodiv chasu chasto zasnovani na en Tipi danih i operatoriHronologichni dani predstavlyayut soboyu istinni vislovlyuvannya iz zaznachennyam intervaliv chasu Intervalom chasu ye neporozhnij vidrizok chasovoyi shkali dlya jogo poznachennya vikoristovuyetsya specialnij intervalnij tip danih INTERVAL DATE Znachennya cogo tipu zapisuyetsya u viglyadi b e displaystyle displaystyle b e de b e displaystyle displaystyle b e virazi tipu DATE vidpovidni pochatkovij i kincevij chasovij poziciyi intervalu Pid chasovimi poziciyami poziciyami na chasovij shkali rozumiyut odinici chasu sho pidhodyat dlya pevnoyi meti milisekundi sekundi doba i vvazhayutsya nepodilnimi Pripustimo i i 1 i 2 displaystyle i i 1 i 2 znachennya intervalnogo tipu sho mayut vidpovidni pochatkovi poziciyi b b 1 b 2 displaystyle b b 1 b 2 i kincevi poziciyi e e 1 e 2 displaystyle e e 1 e 2 p displaystyle p dovilna timchasova poziciya Dlya poznachennya poperednoyi i nastupnoyi chasovoyi poziciyi vikoristovuyutsya virazi viglyadu p 1 displaystyle p 1 i p 1 displaystyle p 1 Operator COUNT i displaystyle text COUNT i povertaye kilkist riznih pozicij p displaystyle p takih sho p i displaystyle p in i Interval i displaystyle i ye odinichnim intervalom yaksho COUNT i 1 displaystyle text COUNT i 1 Dlya perevirki umov pov yazanih z intervalami vikoristovuyutsya operatori Allena intervali rivni i 1 i 2 b 1 b 2 e 1 e 2 displaystyle i 1 i 2 Leftrightarrow b 1 b 2 wedge e 1 e 2 i 1 displaystyle i 1 vklyuchaye i 2 displaystyle i 2 i 1 i 2 b 1 b 2 e 1 e 2 displaystyle i 1 supseteq i 2 Leftrightarrow b 1 leq b 2 wedge e 1 geq e 2 i 1 displaystyle i 1 suvoro vklyuchaye i 2 displaystyle i 2 i 1 i 2 i 1 i 2 i 1 i 2 displaystyle i 1 supset i 2 Leftrightarrow i 1 supseteq i 2 wedge i 1 neq i 2 i 1 displaystyle i 1 pered i 2 displaystyle i 2 i 1 BEFORE i 2 e 1 lt b 2 displaystyle i 1 text BEFORE i 2 Leftrightarrow e 1 lt b 2 intervali zustrichayutsya i 1 MEETS i 2 b 2 e 1 1 b 1 e 2 1 displaystyle i 1 text MEETS i 2 Leftrightarrow b 2 e 1 1 vee b 1 e 2 1 intervali perekrivayutsya i 1 OVERLAPS i 2 b 1 e 2 b 2 e 1 displaystyle i 1 text OVERLAPS i 2 Leftrightarrow b 1 leq e 2 wedge b 2 leq e 1 intervali zlivayutsya i 1 MERGES i 2 i 1 OVERLAPS i 2 i 1 MEETS i 2 displaystyle i 1 text MERGES i 2 Leftrightarrow i 1 text OVERLAPS i 2 vee i 1 text MEETS i 2 Krim togo ye binarni operatori nad intervalami yaki povertayut intervali operator ob yednannya i 1 UNION i 2 displaystyle displaystyle i 1 text UNION i 2 povertaye MIN b1 b2 MAX e1 e2 yaksho viraz i 1 MERGES i 2 displaystyle displaystyle i 1 text MERGES i 2 istinno inakshe rezultat ne viznachenij operator peretinu i 1 INTERSECT i 2 displaystyle displaystyle i 1 text INTERSECT i 2 povertaye MAX b1 b2 MIN e1 e2 yaksho viraz i 1 OVERLAPS i 2 displaystyle displaystyle i 1 text OVERLAPS i 2 istinno inakshe rezultat ne viznachenij operator riznici i 1 MINUS i 2 displaystyle displaystyle i 1 text MINUS i 2 povertaye b1 MIN b2 1 e1 yaksho b1 lt b2 i e1 e2 i povertaye MAX e2 1 b1 e1 yaksho b1 b2 i e1 gt e2 inakshe rezultat ne viznachenij Operatori EXPAND i COLLAPSE prijmayut v yakosti operanda unarne vidnoshennya kortezhi yakogo mistyat intervali i povertayut vidnoshennya togo zh tipu sho ye rozgornutoyu i stisloyu formoyu vihidnogo vidnoshennya Priklad vikoristannya operatoriv EXPAND i COLLAPSE R D d06 d09 d04 d08 d05 d10 d01 d01 Rx D d01 d01 d04 d04 d05 d05 d06 d06 d07 d07 d08 d08 d09 d09 d10 d10 Rc D d01 d01 d04 d10 Rozgornutoyu formoyu vidnoshennya R ye vidnoshennya Rx sho mistit vsi kortezhi z odinichnim intervalom p p de p poziciya v deyakomu intervali deyakogo kortezhu vidnoshennya R Stisloyu formoyu vidnoshennya R ye take vidnoshennya Rc de vidnoshennya R i Rc mayut odnu i tu zh rozgornutu formu niyaki dva riznih kortezhi vidnosno Rc ne mistyat intervali i1 i i2 taki sho i1 MERGES i2 ye istinoyu Operator PACK i UNPACK prijmayut v yakosti operandiv vidnoshennya i atribut intervalnogo tipu sho nalezhit comu vidnoshennyu i povertaye vidnoshennya togo zh tipu vidpovidno zgornute po vkazanomu atributu z ugrupovannyam po inshim atributam i rozgornute po vkazanomu atributu Priklad vikoristannya operatoriv PACK i UNPACK R A D A2 d02 d04 A2 d03 d05 A4 d02 d05 A4 d04 d06 A4 d09 d10 PACK R ON D A D A2 d02 d05 A4 d02 d06 A4 d09 d10 UNPACK R ON D A D A2 d02 d02 A2 d03 d03 A2 d04 d04 A2 d05 d05 A4 d02 d02 A4 d03 d03 A4 d04 d04 A4 d05 d05 A4 d06 d06 A4 d09 d09 A4 d10 d10 Upakuvati vidnoshennya R za kilkoma atributami D1 D2 Dn mozhna rozpakuvavshi R za vsima vkazanimi atributami a potim upakuvati otrimanij rezultat za atributom D1 rezultat upakovki upakuvati po atributu D2 rezultat upakovki upakuvati po atributu Dn Dlya vsih zvichajnih relyacijnih operatoriv viznacheni analogichni yim U operatori yaki rozpakovuyut vidnoshennya za vkazanimi atributami vikonuyut vidpovidnu operaciyu i upakovuyut otrimanij rezultat Napriklad operatori U MINUS U INTERSECT U UNION U JOIN vidpovidayut operatoram MINUS INTERSECT UNION JOIN U OPERATOR viznachayetsya yak PACK UNPACK R1 ON D OPERATOR UNPACK R2 ON D ON D Operaciya rozpakuvannya pri vikoristanni dovgih intervaliv z velikim stupenem detalizaciyi mozhe zazhadati zanadto velikogo obsyagu pam yati dlya svogo vikonannya Vikoristannya U operatoriv dozvolyaye vibrati optimizatoru realizaciyu yaka vimagaye minimalnoyi kilkosti promizhnih rezultativ Priklad vikoristannya operatora U MINUS R1 D d02 d05 R2 D d03 d03 rezultat D d02 d02 d04 d05 DekompoziciyaZberigannya potochnoyi informaciyi v odnih zminnih vidnoshennya a istorichnoyi informaciyi v inshih nazivayetsya gorizontalnoyu dekompoziciyeyu Zberigannya istorichnoyi informaciyi u viglyadi bezlichi okremih zminnih vidnoshennya kozhna z yakih mistit odin atribut intervalnogo tipu i odin atribut inshogo tipu nazivayetsya vertikalnoyu dekompoziciyeyu Pripustimo zminna vidnoshennya R maye atribut intervalnogo tipu D ta atributi inshih tipiv A1 A2 An Pri zmini atributiv A1 A2 An nezalezhno odin vid odnogo u chasi v zminnu vidnoshennya neobhidno vnositi skladnij ryad onovlen dlya podannya informaciyi pro znachennya atributa protyagom viznachenogo periodu chasu mozhe znadobitisya bilshe odnogo kortezhu Tomu docilno rozpodiliti informaciyu po zminnim vidnoshennya R1 R2 Rn yaki budut mati atributi D i A1 D A2 D i An vidpovidno Priklad vertikalnoyi dekompoziciyi R A1 A2 D 10 BB d01 d03 15 BB d04 d05 15 AA d06 d08 R1 A1 D 10 d01 d03 15 d04 d08 R2 A2 D BB d01 d05 AA d06 d08 Dane vidnoshennya pislya vikonannya dekompoziciyi znahoditsya v shostij normalnij formi Obmezhennya cilisnostiVhodzhennya atributa D intervalnogo tipu do skladu potencijnogo klyucha ne virishuye problemu nadmirnosti i protirichchya Vidnoshennya mozhe mati dva kortezhi z intervalami sho perekrivayutsya i spivpadayuchimi znachennyami inshih atributiv Pri comu prisutnya nadmirnist informaciyi dani za deyaki chasovi intervali zaznachayutsya dvichi Krim togo isnuye problema bagatosliv ya koli dva kortezhi mayut intervali sliduyuchi bezposeredno odin za odnim pri spivpadayuchih znachennyah inshih atributiv U comu vipadku hocha informaciya i ne dublyuyetsya ale yiyi mozhna predstaviti u viglyadi odnogo kortezhu Dlya usunennya problemi nadmirnosti i bagatosliv ya neobhidno shob zminna vidnoshennya postijno bula upakovana po atributu D Krim togo vidnoshennya mozhe mistiti dva kortezhi z intervalami sho perekrivayutsya ale z riznimi znachennyami inshih neklyuchovih atributiv v rezultati chogo informaciya bude superechlivoyu Dlya usunennya superechnosti neobhidno shob zminna vidnoshennya bula postijno rozpakovana po atributu D Dlya zadovolennya cih vimog vvodyatsya U klyuchi Zminna vidnoshennya pidtrimuyetsya upakovanoyu po U klyuchu i rozpakovuyetsya pri vnesenni zmin dlya pidtrimki nesuperechlivogo stanu PosilannyaCya stattya ne mistit posilan na dzherela Vi mozhete dopomogti polipshiti cyu stattyu dodavshi posilannya na nadijni avtoritetni dzherela Material bez dzherel mozhe buti piddano sumnivu ta vilucheno lipen 2018 Kulkarni Krishna and Jan Eike Michels Temporal features in SQL 2011 2012 11 15 u Wayback Machine ACM SIGMOD Record 41 3 2012 34 43 Arhiv originalu za 25 zhovtnya 2012 Procitovano 6 travnya 2020 a href wiki D0 A8 D0 B0 D0 B1 D0 BB D0 BE D0 BD Cite web title Shablon Cite web cite web a Obslugovuvannya CS1 Storinki z tekstom archived copy yak znachennya parametru title posilannya