Чтобы обеспечить сохранность хронологической последовательности данных в реляционных базах, можно использовать следующие подходы:
- Горизонтальная декомпозиция. 3 Обеспечивает чёткое логическое разделение исторической и текущей информации. 3 Текущая информация хранится в переменной отношения с атрибутами в виде позиции, историческая — во множестве переменных отношения с атрибутами в виде интервала. 3
- Вертикальная декомпозиция. 3 Для каждого атрибута, не являющегося отметкой времени, вводится собственная отметка времени. 3
- Использование индексов по датам. 4 Некоторые СУБД позволяют производить секционирование таблиц, то есть разбивать их по временным интервалам. 4 СУБД будет смотреть только те секции, которые относятся к конкретному запросу. 4
- Введение ограничений целостности. 3 Они помогают решить проблемы избыточности, многословия и противоречия. 3 Например, должно присутствовать ограничение на значения первичного ключа. 3
- Поддержка добавления и удаления отдельных меток времени. 3 Также нужно продумать механизм обращения к данным, временные метки для которых отсутствуют, например, вычисление значений при помощи интерполяции. 3
Кроме того, важно установить чёткую политику хранения данных, определить, как долго информация должна храниться в производственной системе, когда её следует архивировать и как долго она должна храниться в архивном хранилище. 1