| ФОРМАТЫ  ФАЙЛОВ | ||
| 
 |  | 
 | 
|  |  | |
| ФОРМАТЫ  ФАЙЛОВ | ||
| Формат файла
  адресов (*.adr) описан в пункте
  «Структура базы данных»; из этого описания следует, что длина
  записи в файле зависит от длины кросса и размерности фактов. Кросс хранится в
  файле побитовым образом, то есть признак наличия каждого измерения занимает 1
  бит. Все прочие данные (№№ уровней, № род. элемента, адреса, размер факта)
  занимают по 4 байта и записываются в файл как целые числа формата int языка
  C++. Каждая запись файла фактов (*.fct) начинается с перечисления номеров элементов,
  расположенных в порядке возрастания номеров присутствующих измерений. Каждый
  номер элемента является целым числом и занимает 4 байта. Далее располагаются
  значения функций (если они есть). Размер значения каждой функции определяется
  при описании данной функции и кратен 1 байту. Файл
  измерений (*.dim) имеет
  фиксированную длину. Каждая запись в нем состоит из номера измерения (4
  байта) и имени измерения (108 байт). Длина записи в файле иерархий (*.hrc) также фиксирована. Запись состоит из
  номера измерения (4 байта), номера уровня иерархии (4 байта), максимального
  существующего на данном уровне иерархии номера элемента (4 байта) и имени
  уровня иерархии (100 байт). Запись файла
  функций (*.fnc) состоит из кросса (на котором задана функция), имени
  функции (112 байт), размера результата (4 байта), порядка суммирования (4
  байта) и способа суммирования (4 байта). Таким образом, длина записи в этом
  случае определяется длиной кросса. Файл
  витрин (*.ext)
  предназначен для описания множеств фактов, пересечение которых образует
  избыточную информацию, вычисляемую при необходимости организации быстрого
  доступа. Запись в таком файле состоит из имени
  витрины (100 байт) и двух блоков информации: блок типа результата и блок типа
  пересекаемого множества. Блок типа результата состоит из кросса (с первым
  битом - единицей) и номеров уровней измерений. Блок пересекаемого множества
  состоит из кросса и номеров уровней пересекаемого множества. Под запись
  номеров уровней в обоих случаях резервируется место из расчета максимального
  количества измерений, поэтому длина записи в файле витрин определяется только
  размером кросса. И последний файл – файл базовых размеров (*.sz). В этом файле хранятся 4 основных
  параметра, которые записываются туда один раз – в момент создания базы
  данных. Это размер кросса в байтах (переменная CrossSize), максимально
  возможное количество измерений, вычисляемое по формуле (CrossSize * 8) – 1,
  максимальное количество уровней на одном измерении и максимальное количество
  функций (на всех пересечениях). | ||
| 
 |  | 
 |