Программирование >>  Хронологические базы данных 

1 ... 273 274 275 [ 276 ] 277 278 279 ... 348


Предположим, что сегодня ( текущий день ) 25 сентября 2000 года. Тогда в высказывании 2, безусловно, утверждается, что заключенный с поставщиком с номером S1 договор был действителен каждый день, начиная с 1 июля 1999 года и по 25 сентября 2000 года включительно. Однако в высказывании 1 этот факт не утверждается и не подразумевается.

Таким образом, высказывания 1 и 2 не равносильны и не следуют одно из другого.

Кортежи в базах данных типа моментального снимка часто включают элементы со значением указанная дата . В этом случае в качестве подразумеваемой интерпретации чаще всего понимаются высказывания, подобные высказыванию 2 (или 3). В рассмотренном выше примере высказывание 1 в той форме, в которой оно представлено, является не совсем точной интерпретацией заданного кортежа. Точнее, его следовало бы сформулировать так: Договор с поставщиком с номером S1 был заключен не раннее 1 июля 1999 года . Более того, если эта версия высказывания 1 действительно соответствует тому, что подразумевается под данным гипотетическим кортежем с двумя атрибутами, то высказывание 2 в его приведенной форме также представляет собой не совсем точную интерпретацию. Корректнее было бы сформулировать его так: Договор с поставщиком с номером S1 не был заключен до 30 июня 1999 года, но 1 июля 1999 года он действительно был заключен .

Обратите внимание, что высказывание 1 отражает момент, в который имело место определенное событие, в то время как высказывания 2 и 3 отражают интервал времени, на период которого сохраняется определенное состояние. Здесь умышленно был выбран пример, в котором об определенном состоянии можно судить исходя из информации, касающейся определенного события. Поскольку договор с поставщиком с номером S1 был заключен не раньше 1 июля 1999 года, договорные отношения с этим поставщиком существуют начиная с этой даты и по настоящее время. В классической технологии баз данных вполне удовлетворительно обрабатываются экземпляры времени (время, когда произошло событие), однако совсем плохо обрабатываются интервалы времени, т.е. периоды времени, в течение которого сохраняется определенное состояние (это будет показано в разделе 22.3).

Обратите также внимание, что хотя высказывания 2 и 3 логически равносильны, их формы заметно отличаются. Точнее, форма высказывания 2 не может использоваться для хранения исторических сведений, в то время как форма высказывания 3 это позволяет, если только заменить в нем фразу по настоящий день какой-либо явной датой, например 25 сентября 2000 года. (Конечно, тогда высказывание будет соответствовать кортежу с тремя атрибутами, а не с двумя.) Таким образом, можно сделать вывод, что понятие на период является очень важным для ведения исторических записей, по крайней мере для данных о состояниях, если не для данных о состоянии-.

Терминология. Время, когда произошло определенное событие, или интервал времени, когда сохраняется определенное состояние, иногда называют допустимы.м временем. Точнее говоря, допустимое время высказывания р- это множество моментов времени.

Здесь не лишне было бы заметить, что несмотря на повторяющееся использование таких терминов, как исторические записи , в хронологических базах данных могут также содержаться данные, относящиеся к будущему времени. Например, может возникнуть необходимость зафиксировать тот факт, что с поставщиком с номером S1 будет заключен договор на период времени от а до Ь, где обе даты - будущие даты



когда данному высказыванию доверяют как истинному. Это время отличается от времени транзакции, которое является множеством моментов времени, когда данное высказывание действительно было представлено в базе данных как истинное. Допустимое время может быть обновлено для отображения изменения доверия к высказыванию, а время транзакции - не может. Время транзакции полностью управляется системой, и ни один пользователь не может его изменить (обычно это время явно или неявно записывается в журнал транзакций).

Замечание. В предыдущем абзаце упоминались интервалы и множества моментов времени, которые неявно представляют хотя и простую, но важную идею, а именно - что интервал с начальным временем s и конечным временем е фактически означает множество таких моментов t, что s < t < е (где < означает, конечно, раньше чем ). Хотя это простое понятие вполне очевидно , оно имеет далеко идущие последствия, в чем мы убедимся в последующих разделах.

Большая часть предыдушего обсуждения умышленно была построена так, чтобы у читателя возникли определенные вопросы. Независимо от того, достигнута ли данная цель, перечислим эти вопросы и попытаемся на них ответить.

1. Определяют ли такие выражения, как множество моментов t, такое, что s < t < е , бесконечные множества элементов, вызывающие, как и другие бесконечные множества, некоторые концептуальные и вычислительные трудности, характерные для работы с ними?

Ответ. Да, сказанное выше имеет место. Но все эти трудности можно обойти, если предположить, что шкала времени содержит конечную последовательность дискретных неделимых квантов времени (долей времени). В этом случае интервал с начальным временем s и конечным временем е содержит заведомо конечное число таких квантов.

Замечание. Во многих работах квант времени называется хрононом. Однако при этом сам хронон определяется как интервал (см., например, словарь терминов в [22.2]) и подразумевается, что он имеет начальную и конечную точки (возможно, еще точки между ними) и, следовательно, не является неделимым. (Что конкретно представляют собой эти точки? Чем еще они могут быть, кроме хрононов?) Мы считаем, что здесь есть противоречие, и поэтому будем избегать данного термина.

2. В высказываниях 1-3, вероятно, подразумевается, что кванты времени - это дни, но система, безусловно, поддерживает отсчет времени с точностью до долей секунды. Если с поставщиком с номером S1 договор был заключен I июля 1999 года, а не 30 июня 1999 года, то что можно сказать о периоде от начала суток 1 июля до момента подписания договора с поставщиком с номером S1?

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



сказать, что моменты времени являются отрезками шкалы времени (т.е. множеством квантов времени), которые продолжаются от границы одного кванта до границы следующего, например от полуночи одного дня до полуночи следующего дня. Поэтому можно сказать, опять-таки неформально, что моменты времени имеют продолжительность (в нашем примере это один день). Однако формально моменты времени, повторяем, неделимы и понятие протяженности для них ни коим образом не применяется.

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

3. Если шкала времени по существу представляет собой последовательность моментов времени (с некоторой зернистостью), то можно, не вызывая какой-либо двусмысленности, обращаться к непосредственно следующему времени (или предшествующему) для какого-либо момента времени. Верно ли это?

Ответ. Да, но лишь до определенных моментов времени. Этими моментами, безусловно, являются конец и начало шкалы времени при движении по ней в прямом и обратном направлениях соответственно. Начало шкалы времени - это момент времени, который не имеет предшествующего момента (возможно, он соответствует вычисленному астрономами моменту предполагаемого большого взрыва в теории происхождения Вселенной). Конец шкалы времени - это момент времени, за которым пока нет последующего момента.

4. Если некоторое отношение включает кортеж из трех атрибутов, представляющий тот факт, что договор с поставщиком с номером S1 был подписан 1 июля

1999 года и будет действителен по 25 сентября 2000 года, то не требует ли допущение о замкнутости мира (см. главу 5), чтобы то же самое отношение включало и аналогичный кортеж, представляющий, например, тот факт, что договор с поставщиком с номером S1 был действителен также со 2 июля 1999 года по 24 сентября

2000 года, и множество других кортежей, представляющих прочие тривиальные следствия исходного кортежа?

На наш взгляд, заблуждение, при котором хрононы и гранулы рассматриваются в качестве интервалов, возникает из-за того, что имеет место путаница между интуитивным и формальным. Интуитивное понимание каких-либо материальных процессов - это одно дело, а их формальная модель - совсем другое. В частности, можно считать график времени непрерывным и бесконечным, однако в нашей модели (в том числе по соображениям, которые связаны с возможностями проведения вычислений) он полагается дискретным и конечным.

Замечание. В дополнение к обсуждаемой теме следует сказать, что хотя концепция кванта времени (или хронона) весьма полезна как основа для описания формальной модели на интуитивном уровне, сама по себе она вовсе не является частью этой модели и не имеет для нее какого-либо значения.



1 ... 273 274 275 [ 276 ] 277 278 279 ... 348

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика