Смекни!
smekni.com

работа по дисциплине “Базы данных” "Хранилища данных и технология olap " (стр. 9 из 14)

· В интерактивном режиме средствами Oracle Express EDDiE (интерактивных средств проектирования, загрузки и администрирования).

· Средствами языка описания данных Data Definition Language - DDL.

Здесь для лаконичности описания в текстовом виде мы будем говорить исключительно о средствах DDL, хотя на практике эта работа обычно выполняется средствами Oracle Express EDDiE (что существенно проще, нагляднее и не требует запоминания языковых конструкций).

Define MANAGER Dimension Text

Define MODEL_CAR Dimension Text

Define DAY Dimemsion Day

Define MONTH Dimension Month

Define YEAR Dimension Year

Define FIRMA_CAR Dimension Text

Define TIP_DISCOUNT Dimension Text

Объявление показателей:

Define TOTAL_COST Variable Decimal <DAY MANAGER MODEL_CAR TIP_DISCOUNT>

В этой строке мы определили Показатель (Переменную) - TOTAL_VALUE. Указали, что данный Показатель определяется четырьмя измерениями. И более того, порядком, в котором перечислены Измерения, задали порядок, в котором будут отсортированы значения TOTAL_VALUE в БД (первым изменяется значение Измерения - День, Менеджер, Модель Автомобиля, Тип Скидки). Заметим, что при этом мы сгруппировали данные таким образом, что неопределенные значения TOTAL_COST, появившиеся из-за того, что Менеджер в данный момент времени не работал в фирме, будут идти подряд. И тем самым существенно снизили непроизводительные затраты на хранение неопределенных значений в БД.

Определим остальные показатели:

Define INT_COST Variable Decimal <DAY MANAGER MODEL_CAR>

Define QUANTITY Variable Decimal <DAY MANAGER MODEL_CAR TIP_DISCOUNT>

Define WORK_TIME Variable Decimal <DAY MANAGER>

Define PROFIT Formula TOTAL_COST - INT_COST Decimal

Показатель PROFIT имеет тип Формула и вычисляется как разница между TOTAL_COST и INT_COST. При объявлении Показателей мы использовали не все ранее объявленные Измерения. Это вовсе не означает, что Измерение FIRMA_CAR не будет использоваться, и пользователь не сможет получать итоговые результаты не на уровне отдельных моделей, а на более высоком уровне агрегации - фирмы-производителя. Конечно, можно объявить Измерение Фирма-Производитель, в качестве пятого уровня иерархии при определении Показателей, но это, соответственно, увеличило бы число ячеек в гиперкубе, а следовательно, и объем БД. Более простой и эффективный способ определить эту взаимосвязь через соответствующее Отношение между Измерениями Фирма-Производитель и Модель Автомобиля.

Define FIRMA.CAR Relation FIRMA_CAR <MODEL_CAR>

Таким образом, мы объявили, что каждой модели автомобиля (MODEL_CAR) однозначно соответствует выпускающая ее фирма (FIRMA_CAR). Но пока мы только сказали, что такое отношение существует, и не более того. Для того чтобы окончательно определить отношение, нам еще потребуется ввести соответствующие пары значений, соотносимых этим Отношением Измерений, например:

АВТОВАЗ ВАЗ 2106

АВТОВАЗ ВАЗ 2108

АВТОВАЗ ВАЗ 2121

АЗЛК М2141

И хотя при объявлении Показателя Объем Продаж мы явно не указываем его взаимосвязь с Фирмой-Производителем, это не означает, что пользователь не сможет получать итоговые результаты не на уровне отдельных моделей, а на более высоком уровне агрегации - по каждой фирме. В дальнейшем, при любых операциях манипулирования данными (выборках, вычислениях и т.д.) пользователь имеет возможность ссылаться как на Модель Автомобиля, так и непосредственно Фирму-Производителя. И для того, чтобы получить Срез по всем моделям, производимым на конкретной фирме, будет достаточно просто указать имя фирмы (например "АВТОВАЗ"), а не перечислять все наименования моделей (ВАЗ2106, ВАЗ2108, ВАЗ2108), выпускаемых на ней.

Oracle Express обеспечивает возможность реализации чрезвычайно широкого спектра аналитических задач, начиная от простейшего статического DSS и заканчивая достаточно сложной статистической обработкой данных. Это обеспечивается за счет:

· развитых языковых средств манипулирования данными;

· встроенных функций агрегирования данных;

· встроенные функции математической, финансовой, статистической, логической обработок данных;

· встроенных средств для работы с датами и временными рядами.

Язык манипулирования данными Oracle Express - развитый процедурный язык, обеспечивающий возможность написания различных пользовательских программ и моделей. Причем в языке поддерживаются операции как над обычными скалярными переменными, так и непосредственно над многомерными структурами.

Кроме функций агрегации в Oracle Express включены обширные библиотеки встроенных функций для математической, финансовой, статистической обработки данных, а также обеспечивается возможность определения и подключения собственных, определяемых пользователем функций и написания пользовательских программ и моделей.

Функции, основанные на временных рядах

CUMSUM
LAG
LAGABSPCT

LAGDIF
LAGPST
LEAD
MOVINGAVERAGE
MOVINGMAX
MOVINGMIN
MOVINGTOTAL
Вычисляет нарастающий итог
Вычисляет значения за предшествующий временной период
Вычисляет процентную разницу между текущим и предыдущим значением
и индикацию направления изменения
Вычисляет разность между текущим и предшествующим значением
Вычисляет процентную разницу между текущим и предыдущим значением
Вычисляет значения за последующий временной период
Вычисляет скользящее среднее
Возвращает серию максимальных значений
Возвращает серию минимальных значений
Возвращает серию итогов

Функции агрегации

AVERAGE
AVV
COUNT
EVERY
LARGEST
NONE
SMALLEST
STDEV
ROLLUP
TOTAL
Возвращает среднее значение
Проверяет, есть ли значения, соответствующие заданному критерию
Подсчитывает количество значений, соответствующих заданному критерию
Проверяет все значения на соответствие заданному критерию
Вычисляет наибольшее значение
Проверяет на отсутствие значений, соответствующих заданному критерию
Вычисляет наименьшее значение
Вычисляет стандартное отклонение
Вычисляет сумму значений на основе Иерархических Отношений
Вычисляет сумму значений

Финансовые функции

DEPRDECL, DEPRSL, DEPSOYD
FINTSCHED, FPMTSCHED
IRR
Вычисляют амортизационные отчисления
Вычисляют расписание выплаты процентов по займам
Вычисляет внутреннюю процентную ставку

Прочие функции

REGRESS
FORECAST TREND
FORECAST EXPONENTIAL
FORECAST WINTERS
Вычисляет линейную регрессию
Вычисляет линейный прогноз
Вычисляет экспоненциальный прогноз
Вычисляет прогноз на основе алгоритма Holt-Winters

Таблица 4.7. Список встроенных функций ORACLE Express.

Как уже было сказано выше, основное назначение МСУБД - работа с достаточно стабильными во времени данными, и данные в таких системах достаточно редко вводятся в интерактивном режиме. Обычно загрузка выполняется из внешних источников: оперативных БД, электронных таблиц или из заранее подготовленных плоских файлов. В Oracle Express Server загрузка данных может производиться практически из внешнего источника данных.

Следует заметить, что в Oracle Express данные могут храниться как на постоянной основе, так и загружаться динамически, в тот момент, когда к ним обратится пользователя. Таким образом, имеется возможность постоянно хранить в МБД только ту информацию, которая наиболее часто запрашивается пользователями. Для всех остальных данных хранятся только описания их структуры и программы их выгрузки из центральной (обычно реляционной) БД. И хотя при первичном обращении к таким виртуальным данным, время отклика может оказаться достаточно продолжительным, такое решение обеспечивает высокую гибкость и требует более дешевых аппаратных средств. А если впоследствии оказывается, что интенсивность обращения к данным, имеющим статус временных, высока, их статус может быть легко изменен.

Семейство программных продуктов - Oracle Express включает в себя следующие основные компоненты.

· Система управления базами данных, основанная на многомерном подходе (Oracle Express Server).

· Интерактивные средства администрирования (Oracle Express EDDiE).

· Средства для построения и реализации интерактивных On-Line Analitical Processing (OLAP) приложений (Oracle Express Analyzer, Oracle Express Objects).

Oracle Express Server - масштабируемый (может работать на большинстве аппаратных платформ, начиная с персональных компьютеров и заканчивая Unix-серверами и большими машинами) сервер многомерных данных, обеспечивающий возможность работы и хранения больших объемов (до нескольких десятков гигабайт) данных. Express Server легко интегрируется в существующую вычислительную среду Oracle7 и может быть установлен на той же машине, что Oracle7 RDBMS или может связан с ней через локальную или удаленную сеть. Oracle Express Server включает в свой состав все средства, необходимые для реализации и эксплуатации самых различных аналитических приложений. Разработка приложений осуществляется на специализированном 4GL-языке, обеспечивающем матрично-ориентированные средства манипулирования данными и включающем широкий спектр математических, финансовых, статистических, логических и строчных функций.

Oracle Express EDDiE - интерактивные средства описания структуры БД, проектирования процедур загрузки, загрузки и администрирования данных.

Oracle Express Analyzer - инструментальные средства, ориентированные на широкий круг пользователей (разработчиков, операторов, аналитиков), обеспечивающие возможность динамического формирования запросов, отчетов и бизнес-диаграмм. Oracle Express Analyzer может быть использован как в качестве непосредственного инструментария, предоставляемого конечному пользователю (руководителю, аналитику), так и в качестве среды разработчика, для реализации регламентированных приложений и их прототипов. Разработанные на его основе приложения представляются в виде многостраничных книг (Briefing Books), страницами которых являются интерактивные таблицы (формы) и бизнес-диаграммы.