Учебные материалы


Реферат по курсу: "Информационные технологии в экономике" на тему: " Временные базы данных"



Карта сайта gulfatlantisoil.com МИНИСТЕРСТВО ОБЩЕГО И ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ РФ МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ ИНСТИТУТ ЭЛЕКТРОНИКИ И МАТЕМАТИКИ (Технический университет) РЕФЕРАТ по курсу: “Информационные технологии в экономике” на тему: “Временные базы данных” Студентки группы МЭ-81 Ульяновой Анны Юрьевны Москва, 2004 год Содержание. 1. Введение………………………………………………………………..3 2. Основные принципы временных баз данных………………………..5 3. Временные модели данных……………………………………………7 4. Временные расширения языков баз данных………………………...12 5. Метаданные и временные базы данных……………………………..13 6. Объектно-ориентированные временные базы данных……………..15 7. Индексы для поддержки временные баз данных…………………...16 8. Заключение……………………………………………………………17 9. Список литературы…………………………………………………...19 1.Введение Предположим, что вы - специалист но проектированию реляционных баз данных и магазин видео- и музыкальных записей пригласил вас разработать ряд приложений, которые будут иметь дело не только с "нормальными" транзакци­ями (расчеты с покупателями, обработка платежных ведомостей, управление запасами и т.п.), но будут поддерживать также и запросы, ассоциированные со временем. Эти временные запросы могут обрабатываться по отношению к дан­ным, которые являются текущими относительно времени, когда делается за­прос (например: Какова средняя текущая стоимость проката по всем видеоза­писям Эдди Мэрфи? Какой альбом музыки в стиле "кантри" имеет наимень­ший объем продаж за последний месяц?). Временные запросы могут также требовать такой информации, как: • история изменения цены на данную видеозапись; • зарплата данного служащего и его должностная категория в некоторый момент в прошлом; • список всех изменений цен, которые имели место в период, когда некоторое конкретное лицо было управляющим конкретного магазина. Имея таблицы такой структуры и соответствующие данные, вы можете далее обрабатывать запросы, ассоциированные со временем, которые предоставляют вам, например, полную историю изменения цен на заданные фильмы. Предположим, однако, что пользователи просят вас спроектировать базу дан­ных для поддержки запросов вида: "Какова была средняя стоимость проката на заданную дату? Как изменялась цена, сред­няя цена продажи видеозаписей? На этом дело, конечно, не заканчивается. Вас осаждают далее требованиями о поддержке следующих запросов: • Каково наибольшее число копий аудиозаписи "Клуб одиноких сердец сержан­та Пеппера", которые когда-либо были на складе, и когда это имело место? • Когда Майк, управляющий магазином на Мейн Стрит, был продавцом в мага­зине принадлежностей для гольфа и какова была его максимальная зарплата? • Рассмотрим день после Рождества за последние 10 лет; сколько записей филь­мов было в магазине в полдень каждого из этих дней в каждом из магазинов? Теперь уже вы, вероятно, могли убедиться, что время представляет собой такое измерение, с которым нелегко обходиться в традиционных системах баз данных. Эффективное управление временным измерением при помощи традиционных баз данных требует многих априорных знаний, так как сама структура базы дан­ных должна быть создана для поддержки аспекта времени. Поскольку операции, ассоциированные со временем, имеют по большей части природу не регламентированных запросов, предвидение всех осмысленных запросов, ассоциированных со временем, в процессе проектирования структур баз данных и создание меха­низмов сбора данных являются практически невозможными. Решение этой проблемы может быть найдено с помощью временных баз дан­ных, в которых аспекты времени встроены в саму структуру базы данных. Ины­ми словами, от вас не требуется создавать таблицы исторической информации, основанные на заранее предусмотренных запросах. Вместо этого соответствую­щие части вашей базы данных будут автоматически иметь измерение времени. Помимо этого во временных базах данных важное место отводится конструи­рованию языков (таких, как, например, некоторые расширения SQL), которые бы позволяли специфицировать ассоциированные со временем запросы. 2. Основные принципы временных баз данных Принципы временных баз данных можно было бы очень упрощенно резюмиро­вать в духе "Сумеречной зоны"*: "Вы путешествуете в другом измерении, во вре­мени". Внимание большинства исследователей временных баз данных до настоя­щего времени концентрировалось на расширениях реляционной модели. Отно­шения в этой модели являются двумерными объектами, состоящими из кортежей (строк) и атрибутов (столбцов). Добавляя третье измерение - время, мы можем построить временное отношение (рис. 15.1). Сопоставим теперь такое трехмерное отношение с дополнитель­ными таблицами, которые необходимы в традиционной реляционной базе данных для представления времени, как было показано в предыдущем разделе. Во времен­ной базе данных для моделирования времени не требуется никаких дополнитель­ных отношений. Временное измерение встраивается в само заданное отношение. Однако представление о временных базах данных только как о состоящих из временных отношений является весьма упрощенным. В действительности во временных базах данных применяются и многие другие принципы, в том числе используется множество определений времени. Когда в конце 70-х - начале 80-х гг. начались исследования в области временных баз данных, одна из первых задач заключалась в том, чтобы точно определить, что такое "время". Яков Бен-Зви предложил здесь два термина: эффективное время (время вступления чего-либо в силу) и время регистрации. Эффективное время определялось как время, "когда некоторый факт в действительности вступает в силу" (теперь его называют "действительным временем"). Время регистрации (назы­ваемое теперь "временем транзакции") - это время, когда новое значение помеща­ется в базу данных. На самом деле во временных базах данных используется и третий тип времени -"время, определяемое пользователем", которое представляет собой некоторый "неинтерпретируемый домен времени", управляемый пользователем. Время, определяе­мое пользователем, легко поддерживается, но содержит меньше семантики, чем два другие типа времени (для него поддерживаются только операции ввода, вывода и сравнения). Кроме того, оно не представимо также в виде временного куба. Как и следовало ожидать, не все эксперты в области временных баз данных бы­ли согласны с необходимостью наличия нескольких типов времени. Они утвер­ждают, что времена транзакций только запутывают временное измерение базы данных и добавляют мало смысла в аспекте времени. Поэтому в некоторых вре­менных моделях используется только действительное время, хотя совершенно яс­но, что время транзакций не всегда совпадает с действительным временем (т.е. не­что становится реальностью в определенный момент времени, но изменение со­стояния в базе данных не производится до некоторого более позднего момента). Битемпоралъные базы данных (bitemporal databases) могут поддерживать как дей­ствительное время, так и время транзакции. Когда вам придется иметь дело с вре­менной технологией, то, оценивая возможные варианты (т.е. при определении по­требностей вашего приложения в моделировании аспектов времени), вы должны будете сопоставлять битемпоральные базы данных и временные базы данных, поддерживающие только действительное время. Вы можете рассматривать традиционную базу данных (будь то реляционная, объ­ектно-ориентированная, доморощенная или опирающаяся на какую-либо иную мо­дель) как базу данных мгновенного снимка, когда известны только текущие состоя­ния объектов базы данных. Оглядываясь назад на архивированные версии базы дан­ных, мы имеем возможность рассматривать только ранние мгновенные снимки. Базы данных с действительным временем, поддерживающие некоторую систему в реальном мире, содержат историю этой системы в такой степени, в ка­кой она известна. В то же время базы данных со временем транзакции располага­ют прекрасными возможностями для отката к предыдущим состояниям баз дан­ных с малыми усилиями именно благодаря поддержке в них времени транзакции. 3. Временные модели данных Как и во многих других областях, которые мы обсуждаем в этой книге, исследова­ния временных баз данных развиваются в нескольких различных направлениях, с точки зрения архитектурной поддержки измерения времени. С самого начала исследования временных баз данных были сосредоточены на расширениях реляци­онной модели во многом тем же способом, с помощью которого разрабатывались и пока еще развиваются объектно-ориентированные расширения реляционного ба­зиса. Один из исследовательских подходов к временным базам данных свя­зан с так называемыми периодами жизни (lifespan), ассоциируемыми с объектами баз данных различной гранулярности* - от полной базы данных до отдельных строк или кортежей7. Периоды жизни представляют собой отрезки времени, когда имеют силу конкретные состояния некоторого объекта. Поэтому они могут слу­жить также параметрами для выборки информации. Использование периодов жиз­ни на уровне базы данных мало уместно. Действительно, каждое отношение (таб­лица) и каждый кортеж (строка) в каждом отношении не будут, по всей вероятно­сти, связаны с одним и тем же периодом жизни. Конечно, ассоциирование с перио­дами жизни на очень крупном уровне гранулярности легче для реализации, чем на уровне отношения или кортежа, точно так же, как блокирование на уровне базы данных реализовать легче, чем блокирование на уровне строк или столбцов (рис. 15.3). Однако стандартное соотношение легкости реализации с полезностью, пред­ставляющее собой обратно пропорциональную зависимость, относится к обеим этим областям. Нужно отметить, что из-за ограниченной полезности проводилось очень мало исследований концепции периода жизни на уровне базы данных. Концепцию периодов жизни можно было бы также ассоциировать с уровнем атрибутов (столбец в строке), как показано на рис. 15.4. И здесь вновь можно провести аналогию между периодами жизни на уровне кортежей и на уровне ат­рибутов с вариантами блокирования на уровне строк и уровне элементов для уп­равления параллельным доступом. Другим архитектурным подходом к временным базам данных, также основан­ным на расширении реляционной модели, является временная реляционная мо­дель (Temporal Relational Model, TRM). B TRM временная база данных опреде­ляется как "объединение двух множеств отношений Rs и Rt, где Rs - множество всех статических отношений, a Rt- множество всех отношений, изменяющихся во времени. Временные интервалы, концептуально подобные периодам жизни в HRDM, включают два обязательных атрибута - отметки времени, представляю­щие начальное время (the start time) Ts и конечное время (the end time) Te, т.е. нижнюю и верхнюю границы временного интервала соответственно. В модели TRM каждый кортеж отношения, изменяющегося во времени (Time-Varying Relation, TVR), содержит точное значение начального времени. В некото­рых случаях может быть известно также и конечное время, даже если это время еще и не наступило (например, служащий нанимается на работу по контракту в конкретном проекте и на некоторый конкретный период времени; тогда очевидно, что и начальное, и конечное время для кортежей, относящихся к этому служащему, яв­ляется определенным в этот момент времени). В других случаях конечное время может быть неизвестным. При этом однако, оно может быть либо бесконечным (на­пример, некоторая видеозапись поступает в магазин и может, вполне вероятно, ос­таваться там навсегда), либо конечным (но пока неизвестным, как, например, в слу­чае, если служащий нанимается по контракту на определенную работу конечной, но неопределенной продолжительности). Можно сказать, что TRM использует действительное время, хотя время транзакции и время, определя­емое пользователем, могут быть при необходимости также в нее включены. Итоги нашего обсуждения концепций TRM иллюстрирует рис. 15.6. В связи с тем, что временные модели данных, такие, как TRM, имеют реляцион­ные основы, представляется вполне естественным, что в них значительную роль будет играть нормализация. В модели TRM используется концепция временной нормальной формы TNF (Time Normal Form), определяемой следующим образом: "Отношение находится в TNF тогда и только тогда, когда оно находится в нор­мальной форме Бойса-Кодда (Boyce-Codd Normal Form, BCNF) и не существует каких-либо временных зависимостей между неключевыми атрибутами". Управление будущим во временной базе данных может быть настолько же важным, как и возможности запросов о прошлом. Поскольку вре­менные базы данных развиваются, такие возможности будут, вероятно, преду­сматриваться в коммерческих программных продуктах. 4.Временные расширения языков баз данных Если временные базы данных основаны, как правило, на расширениях обычных мо­делей данных, то временные свойства, которые они обеспечивают, должны быть до­ступны с помощью расширений традиционных языков баз данных. Интересно, од­нако, что ни стандарт SQL-92, ни работы над стандартом SQL3 до настоящего вре­мени не предусматривают включения каких-либо временных расширений SQL. Вероятно, здесь будет иметь место ситуация, очень похожая на положение дел с объектно-ориентированными расширениями SQL: сначала появятся объектно-ориен­тированные расширения в SQL3, которые не будут официальным стандартом до се­редины 90-х гг, но объектно -ориентированные СУБД, основанные на расширени­ях реляционной модели, уже предоставляют их собственные версии объектно-ори­ентированного SQL. которые в значительной мере не совместимы друг с другом. Точно такая же ситуация будет, вероятно, иметь место и с временными базами данных. Проводимые в 80-х - начале 90-х гг. исследования архитектуры времен­ных баз данных часто сопровождались разработкой расширений языков, облада­ющих временными свойствами. Поскольку в большинстве исследований изуча­лись временные расширения реляционных баз данных, выбор языка SQL в каче­стве основы для таких расширений был вполне логичным. . 5. Метаданные и временные базы данных Для поддержки временных баз данных важное значение имеют некоторые аспек­ты метаданных. Первый из них достаточно очевиден: временные атрибуты и дру­гие характеристики реализуемой модели, временной базы данных должны под­держиваться в каталоге СУБД. Имея приведенные выше определения таблиц, СУБД может управлять и ста­тическими таблицами, и таблицами, представляющими изменяющиеся во време­ни отношения. СУБД, которая поддерживает как действительное время, так и время транзакции, обычно нуждается в учете того и другого в каких-либо времен­ных аспектах объектов метаданных. Необходимо, однако, обратить внимание на следующее важное обстоятельст­во. Наши примеры, приведенные до сих пор, в частности и примеры из предыду­щего раздела, связанные с расширениями SQL, строились при важном предполо­жении, принятом по умолчанию: сама схема базы данных не изменяется во вре­мени. Тем не менее базы данных реального мира содержат таблицы, которые мо­гут добавляться и удаляться. Точно так же добавляются, модифицируются и уда­ляются определения столбцов; создаются, модифицируются и удаляются домены и т.д. Временные запросы безотносительно к тому, какая версия расширения SQL или какого-либо другого языка используется, должны обрабатываться с исполь­зованием соответствующей схемы, которая действительна в течение времени, представляющего при этом интерес. Такая ситуация приводит к необходимости ассоциировать со временем во вре­менных базах данных не только пользовательские данные, но и метаданные. Почему же временной аспект так важен для метаданных? Просто потому, что временные запросы, связанные с отношениями, изменяющимися во времени (возможно, называемыми каким-либо иным термином в другой временной модели), могут быть обращены к структуре базы данных, которая использовалась в далеком прошлом. Для полной поддержки среды временной базы данных необхо­дима формальная модель управления эволюцией схемы, например, такая, как SQL/SE. В этой модели предлагаются расширения языка SQL, подобные тем, которые обсуждались в предыдущем разделе в связи с другими временными мо­делями. Расширения языка в SQJL/SE ориентированы на эволюцию самой схе­мы. В этом смысле временные запросы могут быть адресованы к кон­кретному моменту времени и должны использовать схему, действующую в это время. Такие виды операций, однако, применимы к историческим мгновенным снимкам, а не к интервалам времени, поскольку любому заданному интервалу времени может соответствовать множество версий схемы. Независимо от того, используются или не используются в конце концов расширения языка для управления эволюцией схемы во временных базах данных, факт остается фактом: если данные пользователя должны управляться во времени, метаданные также должны быть управляемыми во времени. 6. Объектно-ориентированные временные базы данных Ранее в этой главе мы утверждали, что большинство исследований по временным базам данных было сконцентрировано на расширениях реляционной модели, принятой в качестве основы. Поскольку начала воплощаться технология объект­но-ориентированных баз данных и она рассматривается как ключевой компонент будущих средств управления информацией, некоторые исследования временных баз данных сместились в сторону объектно-ориентированной технологии. Как мы уже обсуждали , мир объектно-ориентированных баз дан­ных и объектно-ориентированных СУБД развивается, однако в настоящее вре­мя это развитие идет двумя различными путями относительно положенных в ос­нову моделей. Наряду с имеющимися расширениями реляционной модели мно­гие поставщики ООСУБД создали свои собственные механизмы и средства уп­равления хранением данных без использования реляционной модели в качестве основы. Исследования временных расширений таких моделей начались лишь в последние годы, и они представляют в настоящее время другую ветвь, на основе которой могут возникнуть коммерческие временные базы данных. Примером, демонстрирующим, каким образом "мир времени" может опирать­ся на ООСУБД, могут послужить расширения модели OODAPLEX, в свою оче­редь представляющие собой расширение функциональной модели DAPLEX*, описание которой было впервые опубликовано в начале 80-х гг. В моделях объектно-ориентированных баз данных, расширенных возможно­стями поддержки времени, для каждого объекта определена некоторая функ­ция периодов жизни, которая вызывается для того, чтобы получить интервал времени существования этого объекта. На основе значений, возвращаемых этой функцией, могут выполняться временные операции над объектами в базе дан­ных. Временные запросы, похожие на запросы в различных расширениях SQL, мо­гут быть также выражены средствами объектно-ориентированных языков. 7.Индексы для поддержки временных баз данных Давайте теперь кратко рассмотрим методы индексирования, которые являются аспектами временных баз данных, зависимыми от реализации. В связи с исто­рической природой временных данных запросы, основанные на спецификаци­ях, связанных со временем (например, относящиеся к одному или более интер­валам времени), должны использовать некоторого рода индексную структуру для эффективного выполнения необходимых операций. Для поддержки вре­менных баз данных исследуются возможности применения таких методов ин­дексирования, как сегментные индексы, индексы смешанных сред и "искрив­ленные" (lopsided) индексы. Особенно известными являются индексы смешанных сред, которые могут охватывать как магнитные, так и оптические среды. Исторические данные орга­низаций все более часто хранят на оптических дисках типа "однократная запись - многократное чтение" (Write-Once Read-Many, WORM) или дисках с воз­можностью перезаписи - "многократная запись - многократное чтение" (Write-Many Read-Many, WMRM). Когда высокопроизводительные времен­ные СУБД выйдут на рынок программного обеспечения независимо от лежа­щих в их основе механизмов (реляционных или объектно-ориентированных), операции с временной семантикой будут неизбежно сочетать работу с множест­вом сред. Поэтому индексы смешанных сред будут, вероятно, играть важную роль в мире временных баз данных. 8.Заключение Полезность временных баз данных бесспорна. Информационные требования (в отличие от операционных или транзакционных) к системам управления ба­зами данных и управления информацией неизбежно приведут к желанию иметь повышенный уровень временных возможностей для запросов данных и информации из баз данных. Направление, в котором будут возникать средства временных баз данных, обла­дающие весьма развитыми возможностями, является пока важным неопределен­ным фактором. Большинство исследований в этой области основывалось на рас­ширениях реляционных моделей. Нетрудно обнаружить, что поставщики реляци­онных СУБД оживленно работают над расширениями своих программных проду­ктов. Однако эти расширения относятся к области объектно-ориентированных возможностей. Временные расширения остаются при этом на втором плане. Временные расширения будут происходить, вероятно, из мира объектно-ори­ентированных СУБД. Концепция многоверсионности (поддержки множества версий) объектов, критичная для систем автоматизированного проектирования (Computer Aided Design, CAD), средств автоматизированной разработки систем (Computer Assisted System Engineering, CASE) и многих других приложений, ос­нованных на объектно-ориентированных базах данных, тесно связана с времен­ными свойствами содержимого баз данных. Так как в последние годы развивают­ся исследования, связанные с временными расширениями объектно-ориентиро­ванных СУБД, эта область обеспечит, вероятно, основу для создания развитых систем временных баз данных. Поскольку это направление пока еще хорошо известно лишь специалистам, за­нимающимся исследованиями баз данных, и студентам, обучающимся в области информационных систем, мы не наблюдали значительного спроса на временные возможности со стороны пользователей систем управления информацией. Это положение, вероятно, должно измениться в ближайшем будущем, но не обяза­тельно в такой же степени, как это было со стандартами соединения клиент-сер­вер или объектно-ориентированными возможностями, которые вызвали значи­тельно больший интерес. Тем не менее временные базы данных являются без вся­кого сомнения областью, заслуживающей внимания. 9.Список литературы 1.Саймон А.Р. Стратегические технологии баз данных: менеджмент на 2000год: Пер. с англ/Под ред. И с предисл. М.Р.Когаловского.-М.: Финансы и статистика, 1999.- 479с.: ил.



edu 2018 год. Все права принадлежат их авторам! Главная