БАЗЫ ДАННЫХ часть II Технологии базы данных для WWW.

Презентация:



Advertisements
Похожие презентации
БАЗЫ ДАННЫХ часть II Технологии базы данных для WWW Даниэла Флореску, Алон Леви, Альберто Мендельсон Технологии баз данных для World-Wide Web: обзор //
Advertisements

База данных ACCESS. Основные понятия База данных (БД) организованная совокупность данных, предназначенная для длительного хранения во внешней памяти компьютера.
Системный подход в моделировании. «Система (от греч. – целое, составленное из частей; соединение) – множество элементов, находящихся в отношениях друг.
WEB- ТЕХНОЛОГИИ Лекция 4. Задача преобразования XML- данных 1 Задача преобразования Для передачи данных между разными приложениями необходимо преобразовать.
Даталогическое проектирование. 1. Представление концептуальной модели средствами модели данных СУБД Общие представления о моделях данных СУБД С одной.
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ СТАВРОПОЛЬСКИЙ ГОСУДАРСТВЕННЫЙ АГРАРНЫЙ УНИВЕРСИТЕТ.
Теория экономических информационных систем Семантические модели данных.
Технология хранения, поиска и сортировки информации в базах данных
Тема 2. Концептуальное проектирование. Лекция 1. Уровни моделей и этапы проектирования.
База данных (БД) – это упорядоченная совокупность данных, предназначенная для хранения, накопления и обработки с помощью ЭВМ.
СУБД Microsoft Access 2003 Элементы языка SQL. Язык SQL SQL (Structured Query Language) – структурированный язык запросов Язык SQL применяется во многих.
Презентация по: информатике Ученицы 8 а класса МКОУ «Линевская СШ» ЛЕМАЕВОЙ ЭЛЬВИРЫ Преподаватель: СУШКОВ АЛЕКСАНДР ИВАНОВИЧ.
«Типы данных». Целочисленные типы данных Тип ДиапазонТребуемая память (байт) byte shortint integer word longint
Модуль 1. Математические основы баз данных и знаний.
Языки и методы программирования Преподаватель – доцент каф. ИТиМПИ Кузнецова Е.М. Лекция 7.
База данных – это совокупность структурированных данных определенного назначения. Структурирование данных – это объединение данных по определенным параметрам.
База данных (БД) – Совокупность определённым образом организованной информации на определённую тему (в рамках определённой предметной деятельности); Организованная.
Лекция 6 Лекция 6 Введение в обработку данных. Среда хранения и средства обработки информационных массивов. Эволюция и характеристика концепций обработки.
Модели транзакций Параллельное выполнение транзакций.
Реляционная модель – это особый метод рассмотрения данных, содержащий данные в виде таблиц, способов работы и манипуляции с ними в виде связей. структура,
Транксрипт:

БАЗЫ ДАННЫХ часть II Технологии базы данных для WWW

Языки манипулирования данными Web Языки запросов второго поколения для Web превосходят языки первого поколения в двух важных аспектах. Прежде всего, они обеспечивают доступ к структуре объектов Web, которыми они манипулируют. Другими словами, они моделируют внутреннюю структуру документов Web, а также внешние связи, которые их соединяют. Они поддерживают связи для моделирования гиперссылок, а некоторые из них поддерживают также упорядоченные совокупности записей для более естественного представления данных. Во-вторых, эти языки обеспечивают возможности создания новых сложных структур в результате запроса. Поскольку данные в Web обычно являются слабоструктурированными, в этих языках придается особое значение поддержке возможностей для работы со слабоструктурированными данными.

Язык WebOQL Язык WebOQL: Основная структура данных в WebOQL – гипердерево. Гипердеревья – это упорядоченные деревья с помеченными дугами, причем имеется два типа дуг – внутренние и внешние. Внутренние дуги используются для представления структурированных объектов, а внешние – для представления связей (обычно гиперссылок) между объектами. Дуги снабжаются метками, в качестве которых используются записи. Язык WebOQL позволяет манипулировать как отдельными гипердеревьями, так и Web в целом, и они (гипердеревья и Web) могут создаваться в результате обработки запроса.

Язык WebOQL На рисунке показано гипердерево, содержащее описания публикаций нескольких исследовател ьских групп.

Язык WebOQL Предположим, например, что база данных документов на рисунке выше имеет имя СтатьиПоИнформатике и что мы хотим осуществить из нее выборку названия и URL полных текстов статей Смита. Тогда нужно использовать следующий запрос: select [y.Название, y.Url] from x in СтатьиПоИнформатике, y in x where y.Авторы ~ «Смит»

Язык WebOQL В этом запросе переменная x определена на множестве простых деревьев базы данных СтатьиПоИнформатике, а при заданном значении x переменная y, в свою очередь, принимает значения на множестве простых деревьев x. Переменная x обозначает результат применения к дереву x оператора (), который возвращает первое поддерево его параметра. Тот же самый оператор используется для извлечения из дерева y его первого поддерева в y.Url. Квадратные скобки обозначают оператор, который строит дугу, помеченную записью, образуемой аргументом (в приведенном примере предполагается, что запись включает поля с указанными именами). Наконец, тильда (~) представляет собой предикат сопоставления со строковым образцом: его левый аргумент – строка, а правый – образец.

Язык WebOQL Рассмотренные выше запросы отображают гипердерево в другое гипердерево, или, если говорить в более общих терминах, запрос – это функция, которая отображает один Web в другой. Например, следующий запрос создает новую страницу для каждой исследовательской группы (использующей имя группы как URL). Каждая страница содержит публикации соответствующей группы. select x as x.Группа from x in СтатьиПоИнформатике

Язык WebOQL В общем случае фраза select имеет вид: select q1 as s1, q2 as s2,..., qm as sm где каждое qi – это запрос, а каждое из si – или запрос строки или схема. Фразы «as» создают URL s1, s2,..., sm, которые присваиваются новым страницам, полученным в результате выполнения каждого из запросов qi.

БД для WWW Шаблоны навигации: Шаблоны навигации – это правильные выражения в алфавите предикатов, определенных над записями. Они позволяют специфицировать структуру путей, по которым необходимо следовать для того, чтобы найти значения переменных. Предположим, что мы имеем некоторый программный продукт, документация к которому представлена в формате HTML, и мы хотим сформировать полнотекстовый индекс для нее. Такие документы образуют сложный гипертекст, но можно просматривать их и последовательно, следуя по связям, помеченным меткой «Следующий». Мы можем получить эту информацию, используя следующий запрос: select [ x.Url, x.Текст ] from x in browse(«root.html») via (^*[Текст ~ «Следующий»]>)*

Язык STRUQL STRUQL – это язык запросов системы управления Web-сайтами STRUDEL. Хотя STRUQL был разработан в контексте специфического приложения Web, он является универсальным языком запросов для слабоструктурированных данных, основанным на модели данных помеченных ориентированных графов. Результат запроса в STRUQL представляет собой граф в той же самой модели данных, что и входные графы. В системе STRUDEL язык STRUQL использовался для решения двух задач: для запросов к неоднородным источникам с тем, чтобы интегрировать их в граф данных сайта, и для запросов к этому графу данных с целью продуцирования графа сайта.

Язык STRUQL Запрос в STRUQL представляет собой набор, возможно, вложенных блоков следующего вида: [where C1,...,Ck] [create N1,...,Nn] [link L1,...,Lp] [collect G1,...,Gq]. Фраза where может включать либо условия принадлежности множеству, либо условия, налагаемые на пары узлов, выражающие используемые правильные выражения путей. Фраза where продуцирует все связывания переменных-узлов и переменных-дуг со значениями из исходного графа. Оставшиеся фразы используют функции Сколема для построения нового графа из этих связываний.

Язык STRUQL Для примера приведен запрос, определяющий некоторый Web-сайт, начиная с библиографического файла Bibtex, моделируемого как помеченный граф. Рассматриваемый Web-сайт будет состоять из страниц трех видов: страницы PaperPresentation для каждого источника в библиографии, страницы Year для каждого года, указывающей все статьи, опубликованные в этом году, и, наконец, страницы Root, указывающей на все страницы Year.

Язык STRUQL // Создать страницу Root create RootPage() // Создать представление для каждой // публикации x where Publications(x), x -> 1 -> v create PaperPresentation(x) link PaperPresentation(x) -> 1 -> v { // Создать страницу для каждого года where 1 = «year» create YearPage(v) link YearPage(v) -> «Year» -> u YearPage(v) -> «Paper» ->PaperPresentation(x), // Связать корневую страницу с каждой // страницей года RootPage() -> «YearPage» -> YearPage(v) }

Язык STRUQL Здесь выражение Publications(x) во фразе where обозначает, что x принадлежит совокупности публикаций Publications. В свою очередь, атом x -> 1 -> v обозначает, что существует связь в графе от x к v, и метка соответствующей дуги – 1. Такая же нотация используется во фразе link для того, чтобы специфицировать вновь созданные ребра в результирующем графе. После создания корневой страницы Root первый оператор create генерирует страницу для каждой публикации, обозначенную функцией Сколема PaperPresentation. Второй оператор create, вложенный во внешний запрос, генерирует страницу Year для каждого года и связывает ее со страницей Root, а также со страницами PaperPresentation тех публикаций, которые относятся к этому году. Отметим, что функция Сколема YearPage обеспечивает, чтобы страница Year для конкретного года создавалась только один раз, независимо от того, сколько статей было опубликовано в этом году.

Язык STRUQL Запись того же самого запроса в WebOQL: select unique [Url: x.year, Label:»YearPage»] as «RootPage», [label: «Paper» / x] as x.year from x in browse(«bibtex: myfile.bib») | select [year: y.url] + y as y.url from y in «browse(RootPage)» Запрос в WebOQL состоит из двух подзапросов. Полученная в результате первого из них подструктура Web поступает в качестве исходных данных во второй запрос, что достигается с помощью использования оператора «|». Первый подзапрос строит страницы Root, Paper и Year, а второй переопределяет каждую страницу Year, добавляя к ней поле «year».

Интеграция информации WWW содержит все возрастающее число информационных источников, которые могут просматриваться как контейнеры множеств кортежей. Эти «кортежи» могут быть либо встроенными в HTML-страницы, либо быть скрытыми за интерфейсами форм. Благодаря написанию специальных программ, называемых оболочками (wrapper), можно создать иллюзию, что данный Web-сайт обслуживает множества кортежей. Будем называть комбинацию такого Web-сайта и ассоциированной с ним оболочки Web- источником.

Интеграция информации Задача системы интеграции информации, поддерживаемой средствами Web, состоит в том, чтобы отвечать на запросы, которые могут потребовать извлечения и комбинирования данных из множества Web- источников. Например, рассмотрим такую предметную область, как кино. Сайт Internet Movie Database содержит исчерпывающие данные о кинофильмах, составе исполнителей ролей, жанрах и руководителях съемки. Во множестве других Web-источников (например, на Web- сайтах большинства газет) могут быть найдены также рецензии на кинофильмы, а некоторые Web-источники предоставляют расписания показа кинофильмов. Комбинируя данные из этих источников мы можем отвечать на запросы типа: выдать мне какой-либо фильм с Фрэнком Синатрой в главной роли, который можно посмотреть сегодня вечером в Париже, время сеанса и рецензии на него.

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

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

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

Создание и реструктуризация Web-сайтов Web-сайты, по существу, обеспечивают доступ к сложным структурам информации. Поэтому естественно применить методы систем баз данных для создания и поддержки Web-сайтов. Можно выделить два общих класса задач создания Web-сайтов: создание Web-сайтов из некоторой совокупности внутренних источников данных и создание их путем реструктуризации существующих Web-сайтов. Для обоих этих классов задач необходимы одни и те же методы.

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

Создание Web-сайта, использующего декларативное представление его структуры, обеспечивает несколько важных преимуществ. Так как структура и содержание Web-сайта определяются декларативно по запросу, а не процедурным образом с помощью программы, достаточно просто могут создаваться множественные версии такого сайта. Кроме того, декларативное представление структуры Web-сайта также позволяет легко поддерживать эволюцию этой структуры. Создание и реструктуризация Web-сайтов

Архитектура прототипа системы с декларативно определенной структурой показана на рисунке. На нижнем уровне системы осуществляется доступ к множеству источников данных, содержащих те данные, которые будут обслуживаться на Web- сайте. Эти данные могут храниться в базах данных, в структурированных файлах, или на уже существующих Web-сайтах.

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

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

ВОПРОСЫ ? БД для WWW