Темпоральные данные и базы данных

В темпоральных БД хранятся данные, изменяющиеся с течением времени. Сущности в IDEF1X и их атрибуты. В качестве первичных ключей могут быть использованы несколько атрибутов или групп атрибутов.

Аннотация: В настоящей лекции рассматриваются вопросы логического моделирования темпоральных (временных) данных предметной области. Обсуждаются основные подходы к представлению времени в объектах модели предметной области, приводятся примеры.

Целью настоящего раздела является введение в темпоральные базы данных (temporaldatabase). В русскоязычной литературе вместо термина «темпоральные базы данных» иногда применяется термин «временные базы данных». Поскольку в этой области информационных технологий отсутствует устоявшаяся русскоязычная терминология, далее будем пользоваться первым термином.

Совсем не сложно указать бизнес-приложения, которые используют данные, зависящие от времени. В очень широком смысле – это произвольные данные, которые явно или неявно связаны с определенными датами или промежутками времени. В реляционной БД может сохраняться информация о событиях и интервалах времени, соответствующих различным представлениям и связям.

Темпоральные данные и базы данных

В общем случае можно выделить два вида данных для представления времени: время фиксации определенного события или факта и время выполнения какого-либо действия или операции. При переходе к темпоральной БД для каждого факта можно указать тот промежуток времени, когда этот факт являлся истинным в моделируемом мире, представленном в базе данных.

Отметим, что значениями данного типа времени могут быть моменты времени как в прошлом, так и в будущем. Кроме того, эти значения могут изменяться, то есть истинность факта в определенные моменты времени может приниматься или отклоняться.

Таким образом, момент времени, когда факт актуализируется в БД, является временем выполнения операции. Время операции может быть связано с любой сущностью БД, а не только с фактами. Кроме того, информация о подобных изменениях необходима, так как некорректные данные могли бы быть уже использованы в каких-нибудь отчетах. Выше при обсуждении времени фиксации факта говорилось, что существует некоторый интервал, в котором определенный факт являлся истинным.

Моделирование темпоральных (временных) данных в хранилищах данных

Для представления времени в БД обычно применяется домен с конечными и дискретными значениями. Предполагается, что значения времени в домене упорядочены. В примере, приведенном на рис. 1, каждый экземпляр сущности СОТРУДНИК содержит следующую информацию: ID сотрудника, имя сотрудника, адрес сотрудника и т.п. В IDEF1X модели эти свойства называются атрибутами сущности.

Связи в IDEF1X представляют собой ссылки, соединения и ассоциации между сущностями. Связи отображаются в виде линии между двумя сущностями с точкой на одном конце и глагольной фразой, отображаемой над линией. Ключевая область объекта СОТРУДНИК содержит поле «Уникальный идентификатор сотрудника», в области данных находятся поля «Имя сотрудника», «Адрес сотрудника», «Телефон сотрудника» и т.д.

СУБД в таких системах управляют данными, которые ссылаются на время, и следовательно, время связывается с сущностями, которые хранятся в базах данных. Поэтому в данном случае требуется поддержка времени операции. Следует отметить, что данные в компьютерных системах так или иначе связаны с различными событиями, интервалами времени.

Что еще посмотреть: