Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
dbbook(2010.04.15).pdf
Скачиваний:
51
Добавлен:
09.06.2015
Размер:
2.14 Mб
Скачать

6.2.4. Постреляционная модель данных

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

В качестве языка запросов в системах, использующих постреляционную модель, используется несколько расширенный язык реляционных баз данных SQL, позволяющий извлекать сложные объекты из одной таблицы без использования операции соединения.

Достоинство постреляционной модели – это возможность представления совокупности связанных реляционных таблиц одной постреляционной таблицей. Это обеспечивает высокую наглядность представления информации и повышает эффективность ее обработки. Недостаток постреляционной модели – это сложное решение проблемы обеспечения целостности и непротиворечивости.

6.2.5. Объектно-ориентированные модели данных

Направление объектно-ориентированных баз данных (ООБД) возникло уже в середине 1980-х годов. Однако наиболее активно это направление развивается в последние годы. Возникновение направления ООБД определяется необходимостью разработки сложных информационных прикладных систем, для которых технология распространенных систем БД не всегда удовлетворительна.

Базис ООБД обеспечивают как предыдущие работы в области БД, особенно реляционных, так и давно развивающееся направление объектно-ориентированных языков программирования.

Современная ситуация с ООБД напоминает ситуацию с реляционными системами середины 1970-

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

Внаиболее общей постановке объектно-ориентированный подход базируется на концепциях:

1)объекта и идентификатора объекта;

2)атрибутов и методов;

3)классов;

4)иерархии и наследования классов.

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

Каждый объект имеет состояние и поведение. Состояние объекта – это набор значений его атрибутов. Поведение объекта – это набор методов, реализуемых программным кодом, и оперирующих над состоянием объекта. Значение атрибута объекта – это тоже некоторый объект или множество объектов. Состояние и поведение объекта инкапсулированы в объекте; взаимодействие между объектами производится на основе передачи сообщений и выполнении соответствующих методов.

Множество объектов с одним и тем же набором атрибутов и методов образует класс объектов. Объект должен принадлежать только одному классу (если не учитывать возможности наследования). Допускается наличие примитивных предопределенных классов, объекты-экземляры которых

не имеют атрибутов (целые, строки и т.д.). Класс, объекты которого могут служить значениями атрибута объектов другого класса, называется доменом этого атрибута.

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

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

6.2.6. XML как модель данных

На исторические причины возникновения XML можно посмотреть с двух различных, но связанных между собой точек зрения.

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

XML.

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

ине вполне удовлетворяло разработчиков Web-приложений.

Вобщем виде XML-документ имеет структуру произвольного дерева, которая описывается набором вложенных друг в друга тегов.

XML-ориентированные базы данных в качестве модели данных использует модель данных, принятую в самом XML. Следует отличать XML-ориентированные базы данных (например, Tamino) от реляционных, поддерживающих обмен данными на языке XML (Oracle, Microsoft SQL Server и др.). В основе последних лежит реляционная модель.

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

6.2.7. Многомерная модель данных (OLAP)

Вразвитии концепции информационных систем выделяют два направления:

1)системы оперативной обработки транзакций (OLTP – On-Line Transaction Processing);

2)системы оперативной аналитической обработки (OLAP – On-Line Analytic Processing).

OLTP-системы рассчитаны на быстрое обслуживание относительно простых запросов большого числа пользователей. Время выполнения типичных запросов в таких системах не должно превышать

нескольких секунд. Например, запрос к OLTP-системе продажи железнодорожных билетов мог бы выглядеть так (в вербальной формулировке): есть ли свободные купейные места на поезд № 9 на такое-то число?

Логической единицей функционирования OLTP-систем является транзакция. Применение для реализации систем такого класса баз данных, основанных на реляционной модели данных, является эффективным.

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

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

При реализации OLAP-систем используют организацию данных в виде так называемых хранилищ данных (ХД), основанных на многомерной модели данных (рис. 6.6).

Различие в организации данных в OLAP и OLTP-системах связано со следующими обстоятельствами.

В OLAP-системах данные носят исторический характер, а значит, обладают высоким уровнем статичности, неизменности. В OLTP-системах ситуация обратная.

Рис. 6.6.: Логическая схема OLAP-системы

Выполнение многих аналитических запросов в OLAP-системах требует хронологической упорядоченности данных. В OLTP-системах время (изначально) отсутствует.

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

Таким образом, концепция хранилищ данных – это концепция подготовки многомерных данных для последующего анализа.

Можно выделить два основных подхода к построению хранилищ данных:

1)подход, использующий многомерную модель БД (MOLAP – Multidimensional OLAP);

2)подход, использующий реляционную модель БД (ROLAP – Relational OLAP).

Безотносительно к принятому подходу данные в хранилище данных могут на логическом уровне рассматриваться как точки многомерного пространства (или, как еще говорят, ячейки гиперкуба). Основные понятия многомерной модели – это измерение и значение (точка, ячейка). Измерение

– это упорядоченный набор значений соответствующий одному из ребер гиперкуба, например Год (1999, 2000, 2001), Область (Московская, Ленинградская, Саратовская), Возраст (до 20, 20-40, 4060, свыше 60). Значения – это подвергаемые анализу количественные или качественные данные, которые находятся в ячейках гиперкуба, например, (Население, Доход) = function(Год, Область, Возраст).

Основными операциями над многомерными данными являются сечение, вращение, свертка, детализация.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]