В временных базах данных допустимое время (VT) - это период времени, в течение которого факт из базы данных действителен в смоделированной реальности. По состоянию на декабрь 2011 года ISO / IEC 9075, Язык баз данных SQL: 2011 Часть 2: SQL / Foundation включал в определения таблиц пункты для определения «таблиц периодов времени приложения» (то есть таблиц допустимого времени). Действительное время было придумано Ричардом Т. Снодграссом и его докторантом.
В таблице базы данных допустимое время часто представлено двумя дополнительными столбцами таблицы StartVT и EndVT. Временной интервал закрывается по его нижней границе и открывается по его верхней границе.
. Пример :
Дата | Что произошло в реальном мире | Действие базы данных | Что показывает база данных |
---|---|---|---|
3 апреля 1975 г. | Джон родился | Ничего | Нет человека по имени Джон Доу |
4 апреля 1975 г. | Отец Джона официально сообщает о рождении Джона | Вставлено: Человек (Джон Доу, Смоллвиль) | Джон Доу живет в Смоллвилле |
26 августа 1994 г. | После окончания школы Джон переезжает в Бигтаун, но забывает зарегистрировать свой новый адрес | Ничего | Джон Доу живет в Смоллвилле |
26 декабря 1994 г. | Ничего | Ничего | Джон Доу живет в Смоллвилле |
27 декабря 1994 г. | Джон регистрирует свой новый адрес | Обновлено: Человек (Джон Доу, Бигтаун) | Джон Доу живет в Бигтауне |
1 апреля 2001 г. | Джон умирает | Удалено: Человек (Джон Доу) | Там никто не зовется Джон Доу |
Действительное время - это время, для которого факт является истинным в реальном мире d. В приведенном выше примере таблица Person получает два дополнительных поля, Valid-From и Valid-To, указывающие, когда адрес человека был действителен в реальном мире. 4 апреля 1975 года отец Джона с гордостью зарегистрировал рождение сына. Затем чиновник внесет новую запись в базу данных о том, что Джон живет в Смоллвилле с 3 апреля. Обратите внимание, что, хотя данные были вставлены 4-го числа, в базе данных указано, что информация действительна с 3-го числа. Официальный представитель пока не знает, переедет ли Джон когда-нибудь в лучшее место, поэтому в базе данных Valid-To заполнено бесконечностью (∞). Результат этой записи в базе данных:
Человек (Джон Доу, Смоллвиль, 3 апреля 1975 г., ∞). |
27 декабря 1994 г. Джон сообщает свой новый адрес в Бигтауне, где он живет с 26 августа 1994 г. Чиновник Бигтауна не меняет адрес текущей записи Джона Доу в базе данных. Он добавляет новый:
Человек (Джон Доу, Большой город, 26 августа 1994 г., ∞). |
Исходная запись Person (John Doe, Smallville, 3 апреля 1975 г., ∞) затем обновляется (не удаляется!). Поскольку теперь известно, что Джон перестал жить в Смоллвилле 26 августа 1994 г., можно заполнить запись Valid-To. Теперь база данных содержит две записи для John Doe
Person (John Doe, Smallville, 3 апреля 1975 г., 26 августа 1994 г.). |
Человек (Джон Доу, Бигтаун, 26 августа 1994 г., ∞). |
Когда Джон умирает, база данных обновляется еще раз. Текущая запись будет обновлена, и в ней будет указано, что Джон больше не живет в Бигтауне. Никаких новых записей не добавляется, потому что официальные лица никогда не сообщают рай как новый адрес. База данных теперь выглядит так:
Человек (Джон Доу, Смоллвиль, 3 апреля 1975 г., 26 августа 1994 г.). |
Человек (Джон Доу, Бигтаун, 26 августа 1994 г., 1 апреля 2001 г.). |
.