ИНСТРУМЕНТЫ |
||
|
|
|
|
|
|
ИНСТРУМЕНТЫ |
||
На данный момент создано 2 утилиты для работы с базой
данных: cross.exe и dbfloader.exe. cross.exe –
позволяет создавать, просматривать и редактировать многомерные базы данных. Порядок работы: 1. Создать базу данных.
После нажатия на эту кнопку предлагается ввести имя новой базы. Затем нужно
ввести основные параметры, характеризующие новую базу (слева) и нажать кнопку
«Создать базу». Эти параметры задаются один раз, изменить их будет нельзя.
Размер пересечения характеризует возможное количество измерений; например,
при размере 4 байта можно будет описать в базе 4 * 8 – 1 = 31 измерения. 2. Если база создана ранее,
воспользуйтесь кнопкой «Открыть БД». 3. Для вновь созданной базы
нужно описать измерения, иерархии на этих измерениях и функции. 3.1. Нажмите кнопку
«Измерения». Введите имя измерения (например, «Фамилия») и нажмите
«Добавить». Для вновь созданного измерения будет сразу же создан нулевой
уровень иерархии. В нижней таблице, в графе
«Максимальный № элемента», отображается максимальный номер элемента на этом
уровне. Если ни одного элемента нет, отображается «-1». (Если элемент с
максимальным номером удаляется, значение в этой графе не меняется, следующий
добавленный элемент получает номер, на единицу больший когда-либо введенного
максимального номера) Добавьте следующее
измерение, например, «Год рождения». Закройте форму. 3.2. Нажмите «Функции». В
первое поле введите кросс-маску для нулевого измерения. Если при создании
базы Вы выбрали размер пересечения, равный 4 байтам, Вам нужно ввести маску
из 4 * 8 = 32 нулей и единиц; для нулевого измерения это будет
«01000000000000000000000000000000» (без кавычек, конечно). В следующее поле
введите имя функции, например, «value» (оно вам не понадобится). В следующее – размер функции; так
как фамилия вряд ли может быть больше 50 символов, введите это число. В
следующие поля введите нули. Нажмите «Добавить». Для описания функции на
первом измерении введите: 00100000000000000000000000000000,
value, 4,
0, 0. Нажмите «Добавить» и
«Закрыть». Обратите внимание, что в
обоих случаях кросс-маска начинается с нуля, и только потом идут признаки
присутствия нулевого, первого и т.д. измерения. Этот первый разряд – признак
принадлежности фактов витрине. Пока мы не создаем витрин. 4. Для добавления –
просмотра – удаления фактов нажмите «Факты». 4.1. Нажмите кнопку
«Добавить факт». В окне «Все измерения» выберите мышью «Фамилия» и нажмите
кнопку «>>». В окне «Измерения факта» опять выберите
мышью «Фамилия», введите значение «Иванов» и нажмите кнопки «Запомнить» и
«Сохранить». Если Вы все сделали
правильно, в таблице адресов появится новый диапазон. Данная запись состоит
из кросс-маски, номера уровня иерархии (0), номера родительского элемента
(-1, т.к. мы его не задали), адресов фактов из этого диапазона (0 – 55, пока
у нас 1 факт) и размера таких фактов (56). Все эти данные соответствуют записи
в файле адресов <имя базы>.adr. В таблице фактов появится
запись, соответствующая записи в файле фактов: начальный и конечный адреса
фактов, номер факта и значение функции f[0], в которой, собственно, и хранится физическое значение
факта. Аналогичным образом добавьте
на нулевое измерение еще 2 факта: «Петров» и «Сидоров». Проанализируйте
данные в таблицах адресов и фактов. Добавьте на первое измерение
несколько фактов, скажем, 1970, 1980, 1990, 2000. В таблице адресов появится
второй диапазон, соответствующий первому измерению. Теперь надо описать
двумерные факты. Нажмите «Добавить факт» и добавьте в «Измерения факта» оба
имеющиеся измерения. Поочередно устанавливая курсор на измерения факта,
введите в поле «Элемент» номера соответствующих элементов из таблицы фактов
(третье слева поле таблицы), после чего каждый раз нажимайте «Запомнить».
Нажмите «Сохранить». В таблице адресов появится
еще один диапазон – с кросс-маской 01100000000000000000000000000000. Обратите
внимание, что значение номера родительского элемента здесь отсутствует, этот
параметр актуален только для одномерных. В таблице фактов появится
двумерный факт; запись содержит начальный и конечный адреса факта и номера
элементов, из которых он состоит. Введите еще несколько
двумерных фактов. <продолжение следует…> dbfloader.exe –
позволяет загружать данные из файлов формата dbf в
многомерную базу данных. Порядок работы: 1. Открыть файл dbf. 2. Открыть файл многомерной
базы. 3. Установить соответствие
между полями таблицы dbf и измерениями многомерной
базы. Для этого выбирать соответствующие поле и
измерение и нажимать кнопку «=>». 4. Опции: a) «Добавлять одномерные»:
если снять эту галку, то те многомерные факты, для которых в базе еще нет
соответствующих одномерных, не будут добавлены. b) «Заменять все Null на 0»: если поле таблицы dbf
содержит Null-значение, то при включенной опции
Null-значение будет исправлено на «0». Если галку снять, то для строки с Null’ем будет создан факт меньшей размерности. c) «Дефрагментация по завершению»:
после окончания загрузки будет выполнена дефрагментация базы. d) «Не создавать немаксимальные факты»: если в результате загрузки строки,
содержащей Null-значение, должен получиться немаксимальный факт, то при
включенной опции он не будет добавлен в базу. Скачать программы можно
здесь: dbfloader.rar (Внимание:
здесь классы, расположенные в папке crosscommon – старые, не такие, как в архиве cross.rar) Эти архивы содержат исходный
код программ (язык C++), включая исходный код класса Fct, который находится в папке crosscommon. * * * * * * * Автор стандарта и кода: Калюжный Олег Николаевич, oleg314@mail.ru . Следует отметить, что разработчик не имеет намерения
сосредотачиваться на разработке качественного пользовательского интерфейса;
идея состоит в создании интерфейса на языке C++,
который можно будет встраивать (да уже сейчас можно!) в приложения,
разрабатываемые другими программистами. |
||
|
|
|