stringtranslate.com

Действительное время

В темпоральных базах данных действительное время — это период времени, когда произошло событие или что-то было истинным в реальном мире, или, более формально, когда факт был действителен в смоделированной реальности.

Период допустимого времени — это интервал, основанный на времени событий, который в хранилище данных называется датой и временем события . [1] [2] Другие названия — период времени приложения [1] или реальная временная шкала . [1] SQL:2011 поддерживает допустимое время с помощью так называемых таблиц периода времени приложения . [3] [4] [5] [6] В таблице базы данных допустимое время часто представлено двумя дополнительными столбцами таблицы, такими как и . Интервал времени закрыт на своей нижней границе (обозначается ) и открыт на своей верхней границе (обозначается ). start_validtimeend_validtime[)

В интеграционных слоях (например, хранилище данных ) действительное время контролируется исходной системой , которая доставляет данные в хранилище данных. [7] По многим причинам действительная временная шкала отличается от временной шкалы транзакций (когда данные поступают в хранилище), и важно, чтобы хранилище данных могло однозначно сообщать о том, что на самом деле произошло в прошлом, объединяя эти две временные шкалы. [7] В битемпоральных моделях данных действительное время и время транзакции могут быть представлены в двухмерном виде в декартовой системе координат . Когда данные доставляются из интеграционного слоя и должны быть представлены в слое представления (часто в размерной модели или широкой таблице ), часто желательно иметь данные только на одной временной шкале.

История

Термин «допустимое время» был введен Ричардом Т. Снодграссом и его аспирантом (1986). [8]

По состоянию на декабрь 2011 года стандарт ISO/IEC 9075 «Язык баз данных SQL:2011 Часть 2: SQL/Foundation» включил в определения таблиц положения, определяющие «таблицы периода времени приложения» (то есть таблицы времени действия).

Пример

[ Нужна дополнительная строка: «Зарегистрирована смерть Джона». ]

Действительное время — это время, для которого факт является истинным в реальном мире. В приведенном выше примере таблица Person получает два дополнительных поля valid_fromи valid_to, указывающих, когда адрес человека был действителен в реальном мире. 1975-04-04 отец Джона с гордостью зарегистрировал рождение своего сына. Затем должностное лицо вставит новую запись в базу данных, указывающую, что Джон живет в Смолвиле с 3 апреля. Обратите внимание, что хотя данные были вставлены 4-го числа, база данных утверждает, что информация действительна с 3-го числа. Должностное лицо еще не знает, переедет ли Джон когда-либо в другое место и когда это произойдет, поэтому в базе данных valid_toзаполнено бесконечностью (∞) или очень поздней датой (например, 2300-01-01). В результате в базе данных появляется эта запись:

1994-12-27 Джон сообщает свой новый адрес в Бигтауне, где он живет с 1994-08-26. Чиновник Бигтауна не меняет адрес текущей записи Джона Доу в базе данных. Он добавляет новый:

Исходная запись Person (John Doe, Smallville, 1975-04-03, ∞) затем обновляется (не удаляется!). Поскольку теперь известно, что John перестал жить в Smallville 1994-08-26, valid_toзапись может быть заполнена. Теперь в базе данных есть две записи для John Doe

Когда Джон умирает, база данных снова обновляется. Текущая запись будет обновлена, и дата смерти будет указана как последняя valid_toдля Бигтауна, поскольку Джон больше не живет в Бигтауне. Новые записи не добавляются. База данных теперь выглядит так:

Смотрите также

Ссылки

  1. ^ abc "Не столь мягкое продолжение проблем битемпоральных данных - Рулант Вос".
  2. ^ "Основы API событий | API Akeneo". api.akeneo.com . Получено 2024-02-10 .
  3. ^ "Illuminated Computing | Survey of SQL:2011 Temporal Features". illuminatedcomputing.com . Получено 2024-06-18 .
  4. ^ "Темпоральные таблицы периода приложения". www.ibm.com . Получено 2024-06-18 .
  5. ^ "Application-Time Periods". База знаний MariaDB . Получено 18.06.2024 .
  6. ^ "SAP Help Portal". help.sap.com . Получено 2024-06-18 .
  7. ^ ab «Мягкое введение в проблемы битемпоральных данных — Рулант Вос».
  8. Ричард Т. Снодграсс и Илсу Ан, «Временные базы данных», IEEE Computer 19(9), сентябрь 1986 г., стр. 35-42.