Б А З Ы Д А Н Ы Н Х ВРЕМЕННЫЕ
Содержание 1. Понятие «временной БД» . 2. Основные принципы временных БД. 3. Определение «времени» во временных БД. 4. Временные модели данных. выход
Понятие «временной базы данных» . Временные БД дополняют основные данные свойством времени. l Временные системы переносят свойства, связанные со временем, в среду самой СУБД, автоматически сохраняя множество зависящих от времени версий объектов данных. l Временные БД обладают языковыми средствами выборки данных по запросам, ассоциированным со временем. l Временные БД предназначены для хранения огромных объемов данных, могут являться основой построения хранилищ данных. l
2. Основные принципы временных БД. • С точки зрения архитектурной поддержки измерения времени временные БД развиваются в нескольких различных направлениях • Отношения в расширенных реляционных моделях являются двумерными объектами, состоящими из кортежей и атрибутов. Во временное отношение добавляется третье измерение – время. • Во временной БД для моделирования времени нe требуется никаких дополнительных отношений. Временное измерение встраивается в само заданное отношение. • Упрошенным является представление о временных БД только как о состоящих из множества временных отношений. • Во временных БД применяются множество определений времени.
Основные принципы временных БД. Трехмерное временное отношение Родилась звезда Кортежи (строки) Название 2. 99 45 4. . 99 Стоимость 57 Количество Возвращение 2. 99 87 Родилась звезда 1. 99 25 3. 99 42 . . . . Беглец ………. Время Атрибуты (столбцы)
3. Определение «времени» во временных БД. Эффективное время - время, "когда некоторый факт в действительности вступает в силу" ( "действительное время”). l Время регистрации ( "время транзакции") время, когда новое значение помещается в БД. l Существует мнение, что время транзакции только запутывает временное измерение БД и не добавляет семантики в модель. В некоторых временных моделях используется только действительное время, хотя время транзакций не всегда совпадает с действительным временем. l
Определение «времени» во временных БД. l Во временных БД используется и третий тип времени – «время, определяемое пользователем» , которое представляет собой некоторый "неинтерпретируемый домен времени", управляемый пользователем. Время, определяемое пользователем, легко поддерживается, но содержит меньше семантики, чем два другие типа времени.
4. Временные модели данных. При работе с временными БД вводят термин период жизни (lifespan), ассоциируемый с объектами БД различной гранулярности - от полной БД до отдельных кортежей. Периоды жизни представляют собой отрезки времени, когда имеют силу конкретные состояния некоторого объекта. Они могут служить параметрами для выборки информации. Использование периодов жизни на уровне базы данных не используется. Каждое отношение и каждый кортеж в каждом отношении не могут быть связаны с одним и тем же периодом жизни. Концепцию периодов жизни можно было бы также ассоциировать с уровнем атрибутов.
Гранулярность Этот термин трактуется в системах БД как степень дробности структурных единиц БД, с которыми ассоциируются те или иные свойства: доступность данных, возможность блокирования доступа, ограничения целостности данных, ограничения управления доступом или временные свойства данных.
Периоды жизни на уровне отношений Время = сейчас-n Название Время = сейчас Стоимость проката Беглец Возвращение Парк юрского периода Танцевальный зал 2. 99 1. 99 0. 99 Название Беглец Возвращение Парк юрского периода Звездная дорожка Танцевальный зал Стоимость проката 3. 99 2. 99 0. 99 Периоды жизни на уровне кортежей. Время = сейчас-n Беглец Название Время = сейчас-x Парк юрского периода 1. 99 Время = сейчас-y Парк юрского периода Время = сейчас 2. 99 3. 99 Беглец Возвращение Парк юрского периода Звездная дорожка Танцевальный зал Стоимость проката 3. 99 2. 99 0. 99
Периоды жизни на уровне атрибутов Время = сейчас Название Стоимость проката Количество на складе Беглец 3. 99 25 Возвращение 2. 99 33 Звездная дорожка 2. 99 24 Парк юрского периода 2. 99 12 Танцевальный зал 0. 99 3 ………… Беглец 3. 99 Беглец 1. 99 12 Танцевальный зал Беглец 1. 99 11
Временные модели данных. В базовой реляционной модели поддерживаются унарные операции SELECT и PROJECT , в расширенной реляционной модели, используемой в HRDM, используется унарная операция "временного среза" (time-slice). Операции временного среза могут применяться к некоторому отношению в качестве ограничивающего критерия поиска, задаваемого во фразе WHEN (когда), таким же образом , каким при операции SELECT используются ограничения во фразе WHERE.
Временные срезы в качестве операторов WHEN. Периоды жизни на уровне атрибутов Время = сейчас Название Стоимость проката Количество на складе Беглец 3. 99 25 Возвращение 2. 99 33 Звездная дорожка 2. 99 24 Парк юрского периода 2. 99 12 Танцевальный зал 0. 99 3 Время = а Беглец Время = c Беглец 3. 99 12 Время = b Беглец Время = d Беглец 12 11 Время = е 1. 99 Танцевальный зал 1. 99 Время = сейчас Магазин Принадлежности для гольфа Рыболовные снасти Университет Управляющий Джонсон Уилсон Маркус Время = от b до e Принадлежности для гольфа Маркус Найти максимальное число видеозаписей всех названий на складе магазина «Принадлежности для гольфа» в тот период, когда Сусанна Маркус была там управляющей.
Временные модели данных. l Другим архитектурным подходом к временным базам данных является временная реляционная модель (Temporal Relational Model, TRM). B TRM временная БД определяется как «объединение двух множеств отношений Rs и Rt, где Rs множество всех статических отношений, a Rt - множество всех отношений, изменяющихся во времени. Временные интервалы, концептуально подобные периодам жизни в HRDM, включают два обязательных атрибута - отметки времени, представляющие начальное время (the start time) Ts и конечное время (the end time) Te, то есть нижнюю и верхнюю границы временного интервала соответственно.
Временные модели данных. l В модели TRM каждый кортеж отношения, изменяющегося во времени (Time-Varying Relation, TVR), содержит точное значение начального времени. В некоторых случаях может быть известно также и конечное время, даже если это время еще и не наступило. В других случаях конечное время может быть неизвестным. При этом однако, оно может быть либо бесконечным, либо конечным (но пока неизвестным).
Временные модели данных. l TRM использует действительное время, хотя в нее могут быть включены время транзакции и время, определяемое пользователем. l Так как временные модели данных имеют реляционные основы, то для них важна нормализация. В модели TRM используется концепция временной нормальной формы TNF (Time Normal Form): "Отношение находится в TNF тогда и только тогда, когда оно находится в нормальной форме Бойса-Кодда и не существует каких-либо временных зависимостей между неключевыми атрибутами".
Временная реляционная модель TRM. RS Rt Магазин Принадлежности для гольфа Рыболовные снасти Университет Управляющий Джонсон Уилсон Маркус Магазин Принадлежности для гольфа …………………. Управляющий Ts To Джонсон 5. 01. 93 4. 02. 94 Адамс 5. 04. 92 4. 01. 93 Бэбсон 3. 03. 89 4. 04. 92 Янг 5. 05. 95 - Сегодня = 1. 02. 95; планируется, что Янг станет управляющим магазином «Принадлежности для гольфа» с 5. 05. 95 с неопределенной датой завершения его работы в этой должности. Этот факт запоминается в отношении, изменяющемся во времени.
Временные расширения языков БД. l Временные БД основаны на расширениях обычных моделей данных, временные свойства, которые они обеспечивают, должны быть доступны с помощью расширений традиционных языков баз данных l . Temp. SQL, включает временные выражения, которые возвращают временные элементы (помимо традиционных реляционных операций, которые возвращают отношения).
Временные расширения языков БД. l TSQL - был использован в качестве интерфейса в реализации модели временных отношений TRM. Язык TSQL включает следующие возможности: • выборку отметок времени; • выборку информации, упорядоченной во времени; • использование фразы TIME-SLICE (временной срез) для спецификации временного домена; • использование фразы GROUP BY (группировать по) для модифицирования агрегатных функций. l HSQL, используется для воплощения модели исторических данных (Historical Data Model),
Временные расширения языков БД. l Создано множество разнообразных расширений SQL для поддержки временных баз данных. Специалисты, занимающиеся исследованиями в области временных БД, предприняли усилия для разработки согласованной версии расширения языка SQL для поддержки временных свойств - Temporal SQL. В настоящее время предпринимаются активные шаги для включения согласованного Temporal SQL или каких-либо других расширений SQL в стандарт языка SQL. Временные расширения SQL будут полезными для обеспечения совместимости и переносимости в области временных БД.
Метаданные и временные БД l l l l CREATE VIEW Статическая_таблица ( Каталог CHAR (40), Схема CHAR (40), Имя_таблицы CHAR (40), ) CREATE VIEW Таблица_изменяющаяся_во_времени ( Каталог CHAR (40), Схема CHAR (40), Имя_таблицы CHAR (40), Начальное_время DATE, Конечное_время DATE, )
Метаданные и временные БД СУБД может управлять статическими таблицами, представляющими изменяющиеся во времени отношения. СУБД для поддержки действительного времени и времени транзакции использует временные аспекты объектов метаданных. l В рассмотренных примерах по умолчанию предполагалось, что сама схема БД не изменяется во времени. Обычно БД содержат таблицы, которые могут добавляться и удаляться. Точно так же добавляются, модифицируются и удаляются определения столбцов и доменов. Временные запросы независимо от версии SQL должны обрабатываться с использованием соответствующей схемы, которая действительна в течение определенного времени. l
Метаданные и временные БД l Такая ситуация приводит к необходимости ассоциировать со временем во временных БД не только пользовательские данные но и метаданные. Когда СУБД базируется на временном SQL, мы можем иметь изменяющиеся во времени таблицы в составе информационной схемы вместе с ассоциированными периодами жизни на уровне кортежей или атрибутов, используемые для представления изменений схемы и времени, когда они имеют силу.