Другие журналы
|
научное издание МГТУ им. Н.Э. БауманаНАУКА и ОБРАЗОВАНИЕИздатель ФГБОУ ВПО "МГТУ им. Н.Э. Баумана". Эл № ФС 77 - 48211. ISSN 1994-0408![]()
Обзор способов построения темпоральных систем на основе реляционной базы данных
# 08, август 2012 DOI: 10.7463/0812.0441884
Файл статьи:
![]() УДК. 004.652 Россия, МГТУ имени Н.Э. Баумана
ВведениеНетемпоральные модели данных и их реализация в системах управления базами данных (СУБД) хранят единственное состояние объектов предметной области. СУБД поддерживают операции изменения, которые переводят базу данных из одного состояния в другое, тем самым, заменяя старые значения новыми. В таких системах считается, что все хранимые в базе данные являются актуальными в момент выполнения соответствующих запросов. Но существует множество предметных областей, в которых необходимо хранить прошлые состояния базы данных и возможно будущие. Примерами информационных систем, функционирующих в таких предметных областях, являются: система управления предприятием [1, 2], система управления персоналом [3, 4], финансовые приложения, страховые приложения и ряд других, которые обладают следующими свойствами: 1. Информационная система обрабатывает темпоральные (изменяющиеся во времени) данные. 2. Информационная система накапливает историю изменения темпоральных данных. В настоящее время реляционная модель является наиболее распространённой в базах данных. В разработку методов хранения и обработки темпоральных данных на базе реляционной модели внесли вклад учёные, такие как Р. Снодграс [5, 10], К. Дженсен [5, 11], Дж. Бен-Зви [5], C. Гадия [5], Е. МакКензи [5, 13], А. Стейнер [12]. Исследования в области темпоральных баз данных привели к многообразию соответствующих темпоральных моделей. В статье приведены подходы к моделированию времени в темпоральных моделях, а также подходы к их реализации на базе реляционных СУБД. 1. Темпоральные данные и темпоральные базы данныхСУБД основывается на модели данных, которая определяет конструкции и формализмы, доступные для описания, изменения и доступа к данным. Модель данных M=(DS, OP, C) состоит из трёх компонент: структуры данных DS, операций OP и ограничений целостности C [8, 9, 12]. Модель данных позволяет описывать объекты предметной области и выполнять над ними соответствующие операции. Совокупность значений, описывающих объект предметной области в определённый период времени называется состоянием объекта предметной области. Совокупность состояний объектов предметной области в определённый период времени называется состоянием базы данных. Современные СУБД обрабатывают постоянные данные, т.е. данные существуют дольше, чем приложения выполняют задачи. Одной из причин, по которой управление изменяющихся во времени данных не рассматривается для большинства приложений, является отсутствие соответствующей поддержки современными СУБД. Темпоральные данные – произвольные данные, которые связаны с определёнными датами или промежутками времени [6]. В вышеуказанных предметных областях различные состояния базы данных сохраняются как темпоральные данные. Темпоральные модели данных позволяют хранить информацию об эволюции объектов: для любого объекта, который был создан в момент времени t1 и закончил свое существование в момент времени t2, в базе данных будут сохранены все его состояния на временном интервале [t1, t2) [7]. Темпоральная СУБД – это СУБД для хранения и обработки темпоральных данных [6]. СУБД и содержащиеся в них данные могут рассматриваться как темпоральные только в том случае, если известно правило интерпретации временных меток и интервалов. В категорию темпоральных СУБД не попадают обычные реляционные СУБД, в которых поддерживаются связанные со временем типы данных, но интерпретацией и связью данных между собой с учетом времени приходится заниматься разработчику приложения [6]. В темпоральной СУБД учитывается изменчивость данных с течением времени. 2. Представление времени в темпоральных моделях данныхТемпоральная модель данных на базе реляционной расширяет конструкции последней, чтобы описывать и обрабатывать темпоральные данные. Принципиальные отличия между темпоральными моделями данных на базе реляционной зависят от интерпретации ключевых понятий, используемых в этих моделях. К таким ключевым понятиям, в частотности, относятся: представление времени и тип отметки времени [12]. 2.1. Представление времени в темпоральных моделях данныхВремя в темпоральных моделях обычно преобразовывается к набору чисел, которые целиком упорядочены относительно предикатов сравнения. Таким образом, время может быть представлено как ось в системе координат. В темпоральных моделях данных время может рассматриваться как непрерывное или дискретное [12]. Непрерывная модель рассматривает время как изоморфное к вещественным числам. Каждое вещественное число соответствует точке на оси времени. Таким образом, в непрерывной модели времени между любыми двумя временными точками существует другая временная точка: Этот подход моделирует время наиболее точно. Так как темпоральные модели используются в базах данных, то невозможно преобразовать эту модель времени без потерь к существующим типам данных. Дискретная модель преобразует время к целым числам [12]. В дискретной модели можно определить функцию поиска следующего момента времени 2.2 Тип временной отметкиВременная ось может рассматриваться как набор временных точек. Наименьшая неразложимая временная единица на временной оси называется квантом времени [12]. Таким образом, отдельный квант времени является подынтервалом фиксированной продолжительности на временной оси. Наименьшая неразложимая временная единица необходима, так как цифровые компьютеры поддерживают только ограниченную степень детализации для вещественных чисел. Для непрерывной модели времени, квант времени охватывает небольшую часть временной оси, тогда как временная точка представляет единственную точку на этой оси. Для дискретной модели кванты времени и временные точки определяются аналогично. Пусть задан момент времени t, который соответствует точке на оси времени. Тогда событие является мгновенным фактом, который происходит в момент времени t [12]. При рассмотрении более укрупнённой степени детализации временных единиц, соответствующих квантам времени, если событие происходит в квант времени qt, то оно происходит в любой момент времени t в течение кванта времени qt: Темпоральная база данных хранит факты и время, когда они были действительны в предметной области. С теоретической точки зрения это означает, что все моменты времени, когда факт является истинным, должны быть сохранены в темпоральной базе данных. В случае, когда это множество моментов времени образует плотное подмножество, оно может быть записано как интервал времени. Интервалы времени используются, чтобы моделировать период времени, в течение которого факт был истинным в предметной области [12]. Интервал времени представляет период времени, имеющий начальный момент времени t1 и конечный момент времени t2. Моменты времени t1 и t2 являются наименьшим и наибольшим значением временного интервала. Нижняя и верхняя границы могут сравниваться с каждым другим моментом времени предикатами сравнения. Интервал времени рассматривается как [t1, t2), в который включается нижняя граница t1 и не включается верхняя граница t2 [12]. Для интервалов определены набор теоретических операций объединения, пересечения и разности [12]. Это множество операций необходимо, чтобы делать выводы о темпоральных фактах. Однако, рассматриваемые операции не являются замкнутыми относительно интервалов времени. Объединение двух непересекающихся интервалов возвращает набор интервалов. Разность двух интервалов может возвратить пустое множество, один или два интервала. Пример 1. Также для интервалов можно определить логические операции включения и сравнения, такие как предшествование интервалов, пересечение интервалов, интервал непосредственно следует за другим, интервал содержит в себе другой интервал, равенство интервалов и так далее. Как правило, реляционная модель может описывать темпоральные данные либо с помощью момента времени, либо с помощью временного интервала. Темпоральные реляционные модели данных, остающиеся в первой нормальной форме (1НФ), ограничены использованием отметок времени, которые можно преобразовать к дополнительным скалярным значениям атрибутов кортежа. При описании темпоральных данных с помощью момента времени предполагается, что данные являются истинными только в заданный момент времени. Отношения, содержащие темпоральные данные с моментом времени называют таблицами событий [14]. Темпоральная реляционная модель с моментом времени может быть смоделирована посредством расширения схемы с неявным атрибутом Т типа «Дата». При этом отношение остаётся в 1НФ. Если R=(A1, A2, …, An) – схема нетемпорального отношения, то таблица событий для этого отношения будет иметь следующую схему: Rt=(T, A1, A2, …, An). При описании темпоральных данных с помощью интервала времени предполагается, что данные являются истинными в течение заданного интервала времени. Отношения, содержащие темпоральные данные с интервалом времени называют таблицами состояний [12]. Темпоральность с временными интервалами может использоваться с отношениями в 1НФ, если нижняя и верхняя граница временного интервала преобразуются в два дополнительных атрибута T1 и Т2 типа «Дата». Если R=(A1, A2, …, An) – схема нетемпорального отношения, то таблица состояний для этого отношения будет иметь следующую схему: Rt=(T1, Т2, A1, A2, …, An). Записи в отношении, которые являются истинными в течение нескольких неперекрывающихся периодов времени, хранятся отдельно для каждого периода времени. Так как интервалы времени не замкнуты относительно ряда теоретико-множественных операций, таких как разность и объединение, то история объектов предметной области может распространяться на несколько записей как при хранении отношений, так и при вычислении результата запроса. Пример таблицы состояний представлен на рис. 1, на котором приведена часть отношения «Работник». Рис. 1. Отношение «Работник» с временным интервалом В отношении «Работник» хранятся данные о двух работниках, действительные в разные неперекрывающиеся временные интервалы. 3. Способы реализации темпоральных баз данныхИзменение или расширение модели данных для работы с темпоральными объектами, означает, что реализация модели, т.е. СУБД, также должна быть изменена. Так как большинство СУБД рассматриваются как чёрные ящики, то соответствующее изменение программного обеспечения может быть выполнено только разработчиками СУБД. Другой подход обработки темпоральных данных заключается во встраивании темпоральной функциональности в приложение или использование расширяемости, присущей некоторым СУБД. Фактически, можно выделить два различных пути реализации темпоральных реляционных баз данных: 1. Реализация темпоральной поддержки на уровне приложения. 2. Расширение нетемпоральной модели данных до темпоральной [5]. Первый подход не подразумевает каких-либо изменений СУБД. Система берётся как есть, а работа с темпоральными данными реализуется программистами приложения. Последний подход связан с доработкой реляционной СУБД. 3.1. Реализация темпоральной поддержки на уровне приложенияВ этом подходе единственным инструментом является использование типа «Дата», поддерживаемого непосредственно СУБД, с помощью которого описываются временные метки хранящихся данных. Любая темпоральная семантика должна быть встроена в приложение программистом самостоятельно. Темпоральные операции OPT и темпоральные ограничения целостности CTтакже должны поддерживаться в самом приложении [5, 12]. Рассматриваемый подход представлен на рис. 2. Рис. 2. Схема реализация работы с темпоральными данными на уровне приложения. Данный подход означает, что дополнительная нагрузка ложится на программиста, так как отсутствует специальная поддержка со стороны СУБД. Этот подход является ненадёжным и требует много времени для дополнительной реализации темпоральной оболочки, используемой приложением. Эта часть кода обычно заново изобретается каждой компанией, которая имеет дело с темпоральными данными. В этом случае отсутствует единый стандартизированный подход к реализации обработки темпоральных данных, что приводит к неэффективным, сложным в администрировании приложениям и проблемам при их доработке. 3.2. Расширение нетемпоральной модели данных до темпоральнойРасширение нетемпоральной модели данных до темпоральной означает, что понятия, уже поддерживаемые нетемпоральными моделями, используются для определения темпорального расширения. Новые понятия вводятся, когда трудно или невозможно выразить их в нетемпоральной модели [5, 12]. Например, темпоральные данные можно описать, расширив нетемпоральную схему или типы специальными временными атрибутами. Языки запросов и алгебры расширяют дополнительными операциями для обработки темпоральных данных. В результате для темпоральных моделей данных определяют темпоральную алгебру, которая ссылается на специальные временные атрибуты для темпоральных вычислений. Этот подход расширения схем и языков запросов можно применять для реляционной СУБД (рис. 3). Рис. 3. Схема расширения реляционной модели данных до темпоральной В схеме на рис. 3 темпоральность реляционных структур данных достигается за счёт связывания их с соответствующими отметками времени. При этом, темпоральная модель выступает как некоторая надстройка над реляционной, которая использует понятия и конструкции последней. Фактически, этот подход является самым широко используемым на практике для реализации темпоральных моделей данных. Преимуществом является то, что только часть нетемпоральной модели должна быть изменена, например, язык запросов и ограничения целостности. Относительно существующей СУБД, это означает, что часть её также должна быть изменена. Методы доступа и структуры хранения данных, например, не затрагиваются. К недостаткам этого подхода относится то, что повторное использование существующих понятий нетемпоральной модели данных, приводит к тому, что темпоральная модель автоматически наследует ограничения исходной модели. Добавляя дополнительные атрибуты к отношениям, только специальные структуры данных, например, кортежи, могут быть темпоральными. Так как конструкции нетемпоральной модели данных могут также изменяться со временем, например набор отношений и схем отношений, то хранение и обработку истории развития каждой из этих конструкций необходимо выполнять в темпоральных системах, что при рассматриваемом подходе реализовать невозможно. ЗаключениеВ статье проведён анализ подходов к моделированию времени и способов описания времени на основе реляционных баз данных. Так как темпоральные базы данных, в отличие от нетемпоральных, сохраняют историю изменения состояний объектов предметной области, с которой связано выполнение темпоральных запросов, то рассмотрены подходы и способы реализации таких темпоральных систем. Наиболее используемым на практике является подход расширения реляционной модели для обработки темпоральных данных. Существенным достоинством данного подхода является то, что используются хорошо проработанные механизмы современных СУБД, которые не надо заново реализовывать для темпоральной СУБД. Таким образом, рассмотренные подходы к моделированию времени и способы описания темпоральных данных на основе реляционной модели позволяют использовать современные реляционные СУБД при разработке темпоральных систем. Список литературы
Публикации с ключевыми словами: темпоральная база данных, реляционная модель данных, темпоральные данные, моделирование времени, момент времени, временной интервал Публикации со словами: темпоральная база данных, реляционная модель данных, темпоральные данные, моделирование времени, момент времени, временной интервал Смотри также: Тематические рубрики: Поделиться:
|
|
||||||||||||||||||||||||||||||||
|