Дійсний час

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку

У темпоральних базах даних, дійсний час (ДЧ; англ. Valid time, VT) — період часу, протягом якого факт у базі даних є дійсним у модельованій реальності. Станом на грудень 2011 року, ISO/IEC 9075 «Database Language SQL:2011 Part 2: SQL/Foundation» містить пункти у визначеннях таблиць для визначення «таблиць періодів часу застосунку» (тобто, таблиць дійсного часу). Дійсний час було закарбовано Річардом Снодграссом[en] і його докторантом[1].

У таблиці бази даних дійсний час часто представляється двома додатковими колонками StartVT і EndVT. Проміжок часу закритий у своїй нижній межі та відкритий у верхній.

Приклад
Дата Що трапилося у реальному світі Дія в базі даних Що показує база даних
3 квітня 1975 Народився Джон Нічого Немає особи на ім'я Джон Доу
4 квітня 1975 Батько Джона офіційно повідомляє про його народження Вставлено: Person(Джон Доу, Смолвіль) Джон Доу живе у Смолвілі
26 серпня 1994 Після випуску Джон переїжджає в Бігтаун, але забуває зареєструвати свою нову адресу Нічого
26 грудня 1994 Нічого
27 грудня 1994 Джон реєструє свою нову адресу Оновлено: Person(Джон Доу, Бігтаун) Джон Доу живе в Бігтауні
1 квітня 2001 Джон помирає Видалено: Person(Джон Доу) Немає особи на ім'я Джон Доу

Дійсний час — час, для якого факт є істинним у реальному світі. У прикладі вище, таблиця Person отримує два додаткових поля Valid-From і Valid-To, зазначаючи, коли адреса особи була дійсною в реальному світі. 4 квітня 1975 року батько Джона гордо зареєстрував народження свого сина. Потім службовець вставляє новий запис у базу даних, заявляючи, що Джон живе у Смолвілі з 3 квітня. Зверніть увагу, що, хоча дані були вставлені 4-го, база даних заявляє, що інформація дійсна, починаючи з 3-го. Службовець ще не знає, чи переїде Джон і коли у краще місце, тому в базі даних Valid-To заповнено нескінченністю (∞). Наслідком є цей запис у базі даних:

Person(Джон Доу, Смолвіль, 3 квітня 1975, ∞).

27 грудня 1994 року Джон повідомляє про свою нову адресу в Бігтауні, де він жив, починаючи з 26 серпня 1994 року. Службовець Бігтауна не змінює адресу поточного запису Джона Доу в базі даних. Він додає новий:

Person(Джон Доу, Бігтаун, 26 серпня 1994, ∞).

Потім оригінальний запис Person (Джон Доу, Смолвіль, 3 квітня 1975, ∞) оновлюється (а не вилучається!). Оскільки зараз відомо, що Джон припинив жити у Смолвілі 26 серпня 1994 року, то запис Valid-To може бути заповнений. База даних тепер містить два записи для Джона Доу:

Person(Джон Доу, Смолвіль, 3 квітня 1975, 26 серпня 1994).
Person(Джон Доу, Бігтаун, 26 серпня 1994, ∞).

Коли Джон помирає, база даних оновлюється ще раз. Поточний запис буде оновлений, заявляючи, що Джон Доу більше не живе в Бігтауні. Жодного нового запису не додається, оскільки службовці не повідомляють про небеса як про нову адресу. База даних тепер виглядає так:

Person(Джон Доу, Смолвіль, 3 квітня 1975, 26 серпня 1994).
Person(Джон Доу, Бігтаун, 26 серпня 1994, 1 квітня 2001).

Див. також[ред. | ред. код]

Примітки[ред. | ред. код]

  1. Snodgrass, Richard T.; Ahn, Ilsoo (вересень 1986). Temporal Databases. IEEE Computer[en]. 19 (9): 35—42.