PHOTO

Александр Бурьяк

Введение в Oracle Express

(Отрывки)


bouriac@rambler.ru
Обновлено: 19.03.2006 Скачать полный текст (ZIP)
Другие произведения

ЭРОТИЧЕСКИЙ ВЕБ ЧАТ
Можно сразу же почувствовать в себе готовность простить системе Oracle Express все её недостатки, если посмотреть на неё как на вещь экспериментальную: созданную для исследования возможности эффективно использовать многомерную СУБД в каком-нибудь деле. Все наивные приобретатели этой системы, потратившие на неё большие деньги, превращаются таким образом из дураков в смелых самоотвер- женных исследователей, радеющих о дальнейшем развитии информаци- онной мощи человечества. По правде говоря, нужно очень сильно помучиться, чтобы найти для Oracle Express такие применения, в которых она не только красиво смотрелась бы на экране, но вдоба- вок была бы хоть сколько-нибудь эффективна. А ведь следует ещё принять во внимание то, что рядом с проблемами, для решения кото- рых, возможно, пригодился бы Oracle Express, имеется множество не менее важных проблем, для решения которых никакие сложные инструменты не требуются, а требуется раскованность творческого воображения, здравый смысл, и, может быть, смелость. Для меня лично система Oracle Express была полезна не только тем, что на её примере я ознакомился с теоретически очень инте- ресной идеей многомерных СУБД, но также и тем, что через неё мне открылась одна очень важная, но очень печальная истина, а именно, что преобладающая часть компьтерного программирования -- это абсурд, пускание пыли в глаза, в лучшем случае решение проблем, порожденных слабой организацией информационной работы. * * * Возможностей повышения эффективности предприятия, как правило, очень много, но некоторые из них не осознаются, другие противоре- чат чьим-то интересам внутри предприятия. Чаще всего на пользу пошли бы какие-то персональные замены в руководстве, пусть не на самом высоком уровне. Но поскольку обычно это оказывается не приемлемо, то начинают выгадывать на мелочах, пробовать модные штучки или вовсе заниматься ерундой. С таким вот настроем обычно и берутся внедрять какую-нибудь систему для анализа, хотя толковый аналитик смог бы вырабатывать полезные рекомендации и без сложной технической поддержки. Не очень смелый и творчески недоразвитый начальник увереннее себя чувствует, когда "идет в ногу со временем", то есть повторя- ет вслед за другими разные модные глупости и приобретает новейшие "примочки" -- пусть и дорогостоящие, но зато красиво оформленные. Если на этом пути он и споткнётся, то не будет выглядеть винова- тым в глазах таких, как сам (а их большинство). По этой причине заумные компьютерные программы (особенно для анализа и прогнозирования) порождающие у типичных руководителей надежду достигнуть многого, не меняя почти ничего, всегда будут находить некоторый спрос -- если только продающие их люди будут убедительно представлять их как передовые наукоёмкие средства, дающие массу сомнительных возможностей. * * * Что же касается использования Oracle Express в оперативном управлении, то оказываются важными следующие два обстоятельства. Во-первых, чем сложнее путь данных к потребителю (а Oracle Express -- это довольно сложный путь), тем меньше у потребителя уверенности в том, что получаемые им данные -- свежие и полные и что они вообще те самые данные, которые ему нужны. Во-вторых, оперативное управление предполагает в основном ре- гулярное решение одних и тех же задач -- на обновляемых всякий раз данных. Индивидууму, задействованному в оперативном управ- лении, незачем перестраивать "многомерный куб" данных так, как он давно уже не перестраивал или даже не перестраивал никогда. Чем привычнее для него экранная картинка, тем меньше вероятность ошибок.

1. Предисловие.

Намерением автора было представить в книге только те сведения, которые программист, создающий приложения в Oracle Express, должен удерживать в голове. Зная основы, он может легко добывать прочие сведения из технической документации к программному продукту и из экранной подсказки. Пpиведенные в книге сведения соответствуют по объему примерно 2% содержимого экранной подсказки для продуктов Oracle Express, но достаточны для создания приложений среднего уровня сложности. При работе с OE, программист может применять следующие компьютерные языки: Express Language -- для обработки данных в PE/ES; SQL и PL/SQL -- для экспортирования данных из реляционных БД; Express Basic -- для создания приложений в EO. Для языка Express в книге приводится сокращенное описание всех компонентов. Язык Express Basic, являющийся разновидностью Visual Basic, рассмотрен на уровне основ. Языки SQL, PL/SQL в этой книге не рассматриваются (но по необходимости приводится несколько текстов на этих языках с некоторыми пояснениями). Ключевые понятия системы Oracle Express переведены следующим образом: composite --композит; conjoint dimension -- составное измерение; dimension -- измерение; dimensionality -- размерность; measure -- многомерный объект; value -- величина измерения; variable -- (многомерная) переменная; valueset -- набор величин; view -- представление; worksheet -- рабочая таблица. При написании книги использовалась техническая документация фирмы Oracle Corp. на продукты системы Oracle Express версии 2.1.

2. Краткий обзор Oracle Express.

2.1. Назначение Oracle Express.

Oracle Express (далее OE) -- система программ для работы с данными, имеющими многомерную структуру, сопрягаемая с известной реляционной СУБД Oracle и ориентированная прежде всего на обработку экономической информации. Назначение OE -- представлять на экране персонального компьютера легко модифицируемые пользователем таблицы и графики, отражающие текущее состояние предметной области. OE может также пpименяться для получения печатных отчетов, заказываемых руководителем или специалистом квалифицированному пользователю или программисту и представляющих собой некоторые выборки данных, загруженных в многомерные переменные. Два компонента OE -- Express Server и Personal Express -- представляют собой совместимые одна с другой (по языку команд и формату данных) системы управления многомерными базами данных, СУМБД (multydimensional data base management systems, MDBMS ) соответственно для работы в сети и для использования на одном компьютере. Фирма Oracle Corp. представляет OE как дополнение к СУБД Oracle ("вычислительное ядро" и кэш данных), позволяющее получать более быстрый доступ к хранимым в Oracle данным и легко обеспечивать их наглядное представление. Но вообще говоря, OE может использоваться отдельно от СУБД Oracle -- как самостоятельная СУБД со специфической моделью данных, обладающая широкими возможностями и имеющая собственные области предпочти- тельного применения. OE -- очень сложный продукт. Программист может заниматься целый год исключительно освоением OE и не успеть опробовать все возможности этой системы. Если кто-то решил стать специалистом по OE, у него вряд ли останутся силы на работу с другим сложным программным средством. При некотором навыке OE позволяет довольно быстро создавать приложения, обеспечивающие следующие возможности: 1. Загрузку данных из файлов различного формата. 2. Извлечение данных в режиме on-line из баз данных системы Oracle и других СУБД, в которых выполняются запросы на языке SQL. 3. Табличное и графическое представление многомерных массивов данных в любом разрезе, на разных уровнях агрегирования. 4. Выборку данных из многомерных массивов по некоторым наборам критериев. 5. Быструю смену критериев выбора и форм представления данных на экране конечным пользователем. 6. Печатание таблиц и графиков. 7. Ввод данных с клавиатуры -- для проведения анализа "что-если" и т.д. 8. Разнообразную вычислительную обработку даных: определение в многомерных переменных ... итоговых значений; средних значений; наибольших значений; наименьших значений; медиан (середины между наибольшим и наименьшим значением); и т.д. расчет ... потерь от обесценивания активов по методу нисходящего баланса, по линейному методу, по методу многолетних сумм; возвращаемых процентов по основным долгам при постоянных процентных ставках; графика платежей (возврата основных долгов и процентов по ним) при постоянных или переменных процентных ставках; уровня роста последней величины для промежутка времени, определяемого по отношению к первой величине промежутка; внутренней нормы прибыли, связанной с потоками наличности; чистого процента для потоков наличности; графика платежей (возврата основных долгов и процентов по ним) при переменных процентных ставках; экстраполирование данных 3-мя методами: прямолинейной тенденции, экспоненциального роста, экстраполяции Холта-Винтерса; вычисление множественной линейной регрессии; и т. п. В состав OE воходят следующие продукты: 1. Oracle Personal Express (PE) -- локальная система управления многомерными базами данных. Может использоваться как отдельный продукт на отдельном компьютере или как вспомогательное средство при работе с более сложными программами. При загрузке формирует на экране окно для ввода команд интерпретируемого языка Express и вывода сообщений. 2. Oracle Express Server (ES) -- работающая в локальной сети система управления многомерными базами данных, воспринимающая команды языка Express. Взаимодействие пользователя с ES осуществляется через системы так называемого набора Express Client (это Express Objects и Express Analyzer и др.) и через Express Administrator, установленные на компьютерах, связанных с компьютером ES через локальную сеть. ES и Express Client можно эксплуатировать и на одном компьютере. 3. Oracle Express Administrator (EAd) -- система для администратора баз данных, позволяющая создавать базы данных и конфигурировать их для использования в приложениях. Работает с базами данных, создаваемыми как в ES, так и в PE. 4. Oracle Express Objects (EO) -- среда для разработки и эксплуатации приложений, использующая визуальное объектно-ориентировнное и управляемое событиями программирование. 5. Oracle Express Analyzer (EAn) -- среда для эксплуатации приложений, разработанных в Express Objects, для создания простых приложений конечным пользователем, для быстрого формирования запросов и конфигурирования представлений полученных данных. 6. Oracle Express Relational Manager (ERM) -- ... Продукты EO, EAn вместе именуются Oracle Express Client Products (EC), т.е. "клиентские продукты" . Oracle Express Server можно рассматривать как кэш данных -- средство промежуточного хранения больших порций данных для ускорения доступа к ним. При таком подходе базы данных в ES оказываются временными модифицированными копиями массивов, обрабатываемых реляционной СУБД Oracle и другими СУБД.

2.2. Место Express среди других СУБД.

Вообще говоря, существует множество различных СУБД, каждая из которых использует одну из следующих моделей данных: иерархическую; сетевую; реляционную; многомерную. Для некоторой предметной области одна из моделей обычно представляется более удобной, чем другие. Есть предметные области, для которых и одна из перечисленных моделей не является удобной. Для упорядочения отображающих их данных используются гипертекстовые системы. Во всякой модели данных можно имитировать любую другую модель, но это связано с некоторыми неудобствами. В многомерной модели данных можно без больших издержек имитировать реляционную модель. В настоящее время не существует СУБД, которая бы эффективно поддерживала все модели данных и обеспечивала их удобное сопряжение, но и большой потребности в таких системах не чувствуется -- при нынешних парадигмах работы со сложностями. Многомерная модель данных считается наиболее подходящей для отображения экономической информации -- обычно группируемой по трем-четырем характеристикам одновременно, к примеру, по дате, подразделениям, продуктам, показателям. Наличие сопряжения OE с реляционными СУБД и электронными таблицами делает эту систему приемлемым компонентом технологии обработки данных в банке, в министерстве, на торговом или производственном предприятии, в центре экономических исследований и т.п. В информационных системах можно различать данные, экранные представления данных, программы обработки данных. Специфика типичной электронной таблицы -- в том, что массив данных, их представление и программы обработки хранятся (по преимуществу или исключительно) в одном файле. Чтобы для одних и тех же данных использовать разные экранные представления и/или программы или чтобы одну и ту же программу использовать для обработки разных масссивов данных, надо создавать копии данных или применять какие-то сложные приемы. Специфика многомерной СУБД -- в том, что массив данных, их представления и программы обработки хранятся в разных местах (разных объектах базы данных), и для одних и тех же данных можно использовать разные экранные представления и разные программы обработки, одни и те же программы можно использовать для обработки разных массивов данных, легко применять одно и то же экранное представление к разным массивам данных, имеющим одинаковую структуру. Таким образом, многомерные переменные являются значительно более компактной формой хранения данных, чем электронные таблицы. О различиях между электронной таблицей и базой данных. БД используется при большом непостоянном количестве данных в массиве, для которых предполагаются различные варианты экранного представления и обработки. Накопление данных происходит путем увеличения длины таблицы. Электронная таблица используется при небольшом постоянном количестве данных в массиве, для которых предполагается один вариант экранного представления и обработки. Данные, как правило, периодически обновляются сразу во всем массиве. Для сохранения старых данных новые варианты данных помещаются в новые копии таблицы, поэтому накопление данных происходит путем увеличения количества однотипных таблиц. К примеру, в банке удобно использовать БД для хранения первичных данных: об операциях, клиентах, сотрудниках и т.д. Электронные таблицы и многомерные переменные удобно использовать для хранения, обработки и представления агрегированных данных. Системы электронных таблиц развиваются в сторону сближения их с многомерными СУБД, многомерные СУБД -- в сторону сближения их с системами электронных таблиц.

2.3. Технология OLAP.

Система Oracle Express предназначена для использования так называемой технологии "оперативной аналитической обработки" данных (online analytical processing -- OLAP). Суть технологии -- в быстром получении удобно представленных многомерных данных (исходных, выборочных, интегрированных) сообразно заранее сформулированным или текущим требованиям пользователя. OLAP может использоваться в системах поддержки управленческих решений и в других областях.

2.4. Многомерная модель данных Oracle Express.

В OE основная единица данных -- многомерная переменная: массив размерности N (то есть имеющий N измерений). Например, для хранения данных о балансе учреждений банка может быть создана трехмерная переменная Balance, имеющая следующие измерения: INDICATOR (показатель); BRANCH (учреждение); PERIOD (период); ACCOUNT (балансовый счет) CURRENCY (валюта). Элемент многомерного массива именуется ячейкой (cell). При описании обработки данных, осуществляемом посредством командного языка, можно указывать операции не только для отдельных ячеек, но и для групп ячеек и для многомерных переменных в целом. Например, если A, B и C -- многомерные переменные одинаковой размерности, то запись A = B+C означает, что что значение каждого элемента переменной A формируется как сумма значений соответствующих элементов переменных B и C. Запись A = B*2 означает, что каждый элемент переменной A будет равен соответствующему элементу переменной B, умноженному на 2. База данных OE содержит объекты и данные. Объекты -- это места хранения данных. Объекты описываются в словаре базы данных. Типы объектов базы данных: dimension -- "измерение": список величин (values), задающий грань "многомерного куба"; variable -- (многомерная) "переменная": многомерный массив данных; program -- "программа": последовательность команд языка Express; relation -- "отношение": двумерная таблица, представляющая связь между несколькими измерениями (dimensions); formula -- "формула": выражение, формирующее переменную из данных, хранящихся в других переменных; иными словами, это переменная, в которой данные не хранятся, но при обращении к которой берутся из других переменных; model -- "модель": набор взаимосвязанных уравнений, в которых используются величины измеpений многомеpной пеpеменной; модель формирует значения ячеек переменной из значений других ее ячеек (по аналогии с электронной таблицей); поддерживаются только регулярные связи между ячейками: все ячейки двух колонок связываются одинаковым образом; valueset -- "набор величин": подмножество величин измерения, позволяющее работать с частью измерения как с целым; composite -- "композит": список сочетаний величин измерений, являющийся индексом для одной или нескольких разреженных переменных; worksheet -- "рабочая таблица" двумерная переменная, используемая как средство промежуточного представления данных при экспорте их в электронную таблицу (spreadsheet) или импорте из нее: EXTCALL -- "внешний вызов": внешняя D---функция, которую можно вызывать в среде Express (DLL -- dynamic linc library, динамически подключаемая библиотека в Windows). NAME -- особое измерение базы данных: содержащее имена объектов БД. Его тип -- TEXT. У пользователя нет возможности модифицировать его как любое другое измерение. Основные объекты многомерной базы данных -- измерения и многомерные переменные. В них выражается суть "многомерного" подхода , и их бывает достаточно для выполнения элементарных работ в OE. Назначение прочих объектов: программ: автоматизация манипулирования данными и их экранными представлениями; отношений: имитация реляционной модели данных; формул: экономия памяти (за счет отказа от хранения производных данных); моделей: имитация электронных таблиц; наборов величин: ускорение работы с данными; рабочих таблиц: сопряжение с электронными таблицами. Нередко в используемых многомерных переменных не все ячейки оказываются заполненными. Такие данные именуются разреженными (sparse). Незаполненные ячейки имеют значение NA (not available). Устранение разреженности данных осуществляется (в целях экономии памяти) посредством использования сопряженных измерений (cojoint measures). Объекты базы данных делятся на видимые и невидимые для пользователя. База данных сохраняется, как правило, в одном файле, который именуется со стандартным расширением "db". Возможно сохранение частей одной базы данных в нескольких файлах. В этом случае она называется многофайловой БД (multifile database). В сеансе (session) работы в системе Express можно использовать одновременно несколько открытых (attached) баз данных. Первая в списке открытых, (иначе говоря, активных) баз данных называется текущей БД (current database). Разделяемая база данных (shareable database) доступна нескольким пользователям одновременно. Только один из них может работать в режиме "чтение и запись", остальные -- в режиме "только чтение". Если база данных при этом обновляется, то пользователи, работающие в режиме "только чтение", обнаружат это лишь если отсоединят (detach) базу данных и снова подсоединят (attach) ее. Чтобы файл базы данных стал разделяемым, нужно установить для него соответствующие атрибуты в операционной системе.

2.5. Численные характеристики системы Oracle Express.

Следующие предельные значения характеризуют возможности систем PE и ES: количество символов в имени объекта базы данных: 16 количество измерений многомерной переменной: 32 количество символов в строке текстовой ячейки: 498 количество строк в программе: 5000 количество значащих цифр в десятичном числе: 16 рекомендуемая оперативная память (МБ): 24 (плюс еще 8МБ, если используется PE)

2.6. Анализ многомерных данных.

Программы анализа многомерных данных (или многомерного анализа данных -- multidimensional data-analysis) -- это продукты, занимающие по принципу устройства промежуточное положение между базами данных и электронными таблицами и образующие сегодня особый класс продуктов наряду с последними. Исторически они являются развитием электронных таблиц, но в настоящее время больше напоминают базы данных. Если в электронных таблицах наиболее важное свойство -- возможность установления связей между ячейками посредством формул, то в программах анализа многомерных данных главное -- возможность легко формировать многомерный куб из готовых данных и модифицировать их экранные представления. В настоящее время распространены программы трех типов: 1) добавления к популярным системам электронных таблиц; 2) добавления к популярным реляционным СУБД; 3) самостоятельные продукты, способные импортировать данные из различных источников. В системе анализа многомерных данных возможны следующие операции с экранными представлениями данных: 1. Повоpот многомеpного куба: к пpимеpу, колонки становятся стpоками, стpоки -- колонками. 2. Пеpеход к дpугому срезу данных(на дpугую стpаницу). 3. Перераспределение измерений многомерной переменной между краями таблицы (в одном крае можно демонстрировать одно или несколько измерений). 4. Переход к другому уровню интеграции данных. 5. Агрегирование данных (устранение одного или нескольких измерений). 6. Изменение состава и порядка следования колонок, строк, страниц. 7. Создание выборки колонок, строк, страниц по указанному признаку. 8. Демонстрация в одной таблице нескольких многомерных, имеющих одинаковые измерения. 9. Пропуск строк, в которых имеются только нули или неопределенные значения. 10. Выделение цветом значений ячеек, которые больше указанного верхнего порога, меньше указанного нижнего порога. 11. Представление данных графиком некоторого типа. Смена типа графика, смена ориентации графика. И т. д. ............................................................... ...............................................................

2.8. Работа с Oracle Express.

Могут быть выделены следующие типы специалистов, работающих с OE: 1) системный программист: устанавливает продукты Oracle Express, решает проблемы совместимости с другими программными средствами, налаживает обмен данными с СУБД Oracle и другими системами через локальную сеть; 2) администратор баз данных: создает базы данных и объекты в них, импортирует данные в многомерные переменные, оптимизирует работу с данными с точки зрения быстродействия; 3) проектировщик приложений: выясняет и формирует информационные потребности конечного пользователя, разрабатывает и оптимизирует технологии принятия решений, ставит задачи для проектировщика приложений; 4) разработчик приложений: элементарный: создает приложения, используя средства визуального программирования, модифицирование свойств объектов через Inspector; продвинутый: создает приложения, используя средства процедурного программирования на языках Express Basic, Express Language; 5) конечный пользователь: элементарный: может перемещаться в приложении со страницы на страницу, распечатывать таблицы и графики; продвинутый: может менять пропорции в таблицах, менять местами края таблицы, графика, менять типы графиков, квалифицированный: может работать с селектором (менять состав и расположение колонок, строк в таблице); особо квалифицированный: может создавать брифинги (простые приложения).

2.9. Oracle Express и поддержка решений.

Многомерная модель данных -- новый способ получения обычных экранных представлений данных (таблиц, графиков), позволяющий программисту легко подготавливать эти представления, пользователю -- легко их варьировать. Назначение OE -- поддержка визуального идентифицирования состояний, тенденций, событий, поддержка визуального поиска. Многомерная модель данных является удобной только в немногих задачах -- а именно в тех, в которых при отражении предметной области в виде многомерных переменных образуется не слишком много ячеек с неопределенными значениями, и в которых к тому же не ясно, какие выводы и каким образом делать на основании данных. Пользователь имеет возможность фильтровать, сопоставлять и модифицировать различные подмножества рассматриваемых данных, выдвигать предположения и искать им подтверждение. Соображения, возникшие у пользователя при работе с данными, могут заноситься им в файл через текстовый редактор, вызываемый в окно посредством одной из "кнопок", имеющихся в приложении, или из среды Windows. Возможно применение OLAP не по основному назначению: для выполнения вычислений на регулярных массивах чисел; для демонстрации данных с фиксированной формой представления; для создания печатных отчетов.

2.10. Недостатки Oracle Express.

Один весёлый начальник отдела анализа и проектирования банковс- ких технологий предложил по аналоги с рекламой стирального порошка следующее объяснение интереса к OE: -------------------------------------------------------------- Причины, по которым я занимаюсь Express: 1. Никто, включая меня, не знает, что это такое и зачем нужно. 2. Я имею возможность принимать решения по вещам, в которых ничего не смыслю. 3. Никто не может сказать, хорошо или плохо и в каком объеме сделана моя работа. 4. У меня есть увереность, что скоро я получу ответы на несколько вопросов, интересущих только меня. 5. У меня есть возможность озадачить системного программиста или запустить особо медленную процедуру, а самому подремать в укромном месте под предлогом ожидания результатов. -------------------------------------------------------------- Во многих случаях внесение изменений в структуру базы данных или в проект требует создания заново всех компонентов, зависящих от этого изменения. К примеру, чтобы переименовать измерение, надо уничтожить и пересоздать переменные, сформированные на его основе. ............................................................... ...............................................................

Возврат на главную страницу
Hosted by uCoz