Время транзакции
Эта статья нуждается в дополнительных цитатах для проверки . ( май 2008 г. ) |
Во временных базах данных время транзакции — это время, когда некоторые данные загружаются в базу данных . Время, когда транзакция действительна, можно назвать периодом времени транзакции . Это техническая временная шкала, контролируемая уровнем интеграции (например, хранилищем данных ). [1] Более формально, это момент времени, в течение которого факт, хранящийся в базе данных, считается истинным.
Период представляет собой интервал, основанный на времени загрузки ( он называется датой и временем загрузки). в хранилище данных [1] [2] ), также называемый временной меткой надписи . [1] Другие названия интервала — временная шкала утверждения. [3] ), график состояния [3] ) или технический график . [3] SQL:2011 поддерживает время транзакций через так называемые таблицы с системным управлением версиями . [4] [5] [6] [7]
По многим причинам время транзакции (когда данные поступают из исходной системы ) почти всегда отличается от действительного времени (когда событие произошло в реальном мире). Чтобы хранилище данных могло однозначно сообщить о том, что на самом деле произошло в прошлом, оно должно иметь возможность объединить эти две временные шкалы. [1] В битемпоральных моделях данных время действия и время транзакции могут быть представлены двумерно в декартовой системе координат . Когда данные доставляются с уровня интеграции и должны быть представлены на уровне представления (часто в многомерной модели или широкой таблице ), часто желательно иметь данные только на одной временной шкале.
В таблице базы данных время транзакции часто представляется как интервал, позволяющий системе «удалять» записи с помощью двух столбцов таблицы. start_tt
и end_tt
. Временной интервал закрыт [
на нижней границе и открыт )
на его верхней границе . [8] Когда время окончания транзакции неизвестно, его можно рассматривать как until_changed
. Академические исследователи и некоторые системы управления реляционными базами данных (СУБД) представляют until_changed
с наибольшей поддерживаемой меткой времени или ключевым словом forever
. Это соглашение является техническим обходным решением и не является технически точным.
История
[ редактировать ]Термин «время транзакции» был придуман Ричардом Т. Снодграссом и его докторантом Илсу Аном (1986). [9]
По состоянию на декабрь 2011 года стандарт ISO/IEC 9075, Язык баз данных SQL:2011, часть 2: SQL/Foundation, включал в определения таблиц положения, определяющие «таблицы с системным управлением версиями» (то есть таблицы времени транзакций).
См. также
[ редактировать ]- Действительное время , когда событие в базе данных произошло в реальном мире.
- Время принятия решения , когда было принято решение об интерпретации истории в базе данных.
- Использование времени транзакции
Ссылки
[ редактировать ]- ^ Jump up to: а б с д «Нежное введение в проблемы с битемпоральными данными — Роелант Вос» .
- ^ «Транзакционные ссылки — AutomateDV» . автоматизировать-dv.readthedocs.io . Проверено 10 февраля 2024 г.
- ^ Jump up to: а б с «Не очень мягкое продолжение проблемы битемпоральных данных — Роелант Вос» .
- ^ rwestMSFT (16 октября 2023 г.). «Временные таблицы — SQL Server» . Learn.microsoft.com . Проверено 18 июня 2024 г.
- ^ «Таблицы с системными версиями» . База знаний MariaDB . Проверено 18 июня 2024 г.
- ^ «Справочный портал SAP» . help.sap.com . Проверено 18 июня 2024 г.
- ^ «Темпоральные таблицы системного периода» . www.ibm.com . Проверено 18 июня 2024 г.
- ^ Кедар, СВ (2013). Системы управления базами данных. Пуна, Индия: Технические публикации.
- ^ Снодграсс; Ильсу Ан (1986). «Временные базы данных» (PDF) . Компьютер . 19 (9): 35. дои : 10.1109/MC.1986.1663327 .