22 октября 2019 года    
Вторник | 13:19    
Главная
 Новости
Базы данных
Безопасность PC
Всё о компьютерах
Графика и дизайн
Интернет-технологии
Мобильные устройства
Операционные системы
Программирование
Программы
Связь
Сети
 Документация
Статьи
Самоучители
 Общение
Форум







Разделы / Всё о компьютерах / Форматы файлов

Формат DBF/FPT/DBT/IDX/CDX - файлов.

	        ФОРМАТ DBF/FPT/DBT/IDX/CDX - ФАЙЛОВ 



   Структура базы данных (типа .DBF).....................1
   Структура файла типа memo (.FPT)......................2
   Структура файла memo в системе FoxBASE+ (типа .DBT)...3
   Структура индексного файла (.IDX).....................3
   Пример упорядоченной структуры дерева.................6
   Структура компактного индексного файла (типа .IDX)....8
   Структура составного индексного файла (типа .CDX).....11
   Системные возможности.................................11




				             (c) СофтПанорама А45

								1


                                Структура базы данных (типа .DBF)

     Файл базы данных состоит  из  записи  заголовка и записей
с данными.  В записи  заголовка  определяется  структура  базы
данных и содержится вся другая информация, относящаяся  к базе
данных. В файле она начинается с нулевой позиции.
     Записи   с   данными*   следуют   за  заголовком   (байты
располагаются последовательно)  и включают  в себя фактическое
содержимое   полей.  Длина   записи  (в байтах)   определяется
суммированием указанных длин всех полей. Числа в данном  файле
размещаются в обратном порядке.

 г==========================================================¬
 ¦         Запись заголовка в файле с данными               ¦
 ¦-------T--------------------------------------------------¦
 ¦ Байты ¦              Описание                            ¦
 ¦=======+==================================================¦
 ¦ 00    ¦Типы файлов с данными:                            ¦
 ¦       ¦ FoxBASE+/dBASE III +, без memo - 0х03            ¦
 ¦       ¦ FoxBASE+/dBASE III +, с memo   - 0х83            ¦
 ¦       ¦ FoxPro/dBASE IV,      без memo - 0х03            ¦
 ¦       ¦ FoxPro                с memo   - 0хF5            ¦
 ¦       ¦ dBASE IV              с memo   - 0x8B            ¦
 ¦-------+--------------------------------------------------¦
 ¦ 01-03 ¦Последнее изменение (ГГММДД)                      ¦
 ¦-------+--------------------------------------------------¦
 ¦ 04-07 ¦Число записей в файле                             ¦
 ¦-------+--------------------------------------------------¦
 ¦ 08-09 ¦Положение первой записи с данными                 ¦
 ¦-------+--------------------------------------------------¦
 ¦ 10-11 ¦Длина одной записи с данными (включая признак     ¦
 ¦       ¦удаления)                                         ¦
 ¦-------+--------------------------------------------------¦
 ¦ 12-27 ¦Зарезервированы                                   ¦
 ¦-------+--------------------------------------------------¦
 ¦ 28    ¦1-есть структ.составной инд.файл (типа .CDX),0-нет¦
 ¦-------+--------------------------------------------------¦
 ¦ 29-31 ¦Зарезервированы                                   ¦
 ¦-------+--------------------------------------------------¦
 ¦ 32-n  ¦Подзаписи полей**                                 ¦
 ¦-------+--------------------------------------------------¦
 ¦  n+1  ¦Признак завершения записи заголовка (0х01)        ¦
 L=======¦==================================================-

								2

 г==========================================================¬
 ¦                    Подзаписи полей                       ¦
 ¦-------T--------------------------------------------------¦
 ¦ Байты ¦                Описание                          ¦
 ¦=======+==================================================¦
 ¦ 00-10 ¦Название поля (максимально - 10 символов, если    ¦
 ¦       ¦меньше 10, то дополняется пустым символом (0х00)) ¦
 ¦-------+--------------------------------------------------¦
 ¦ 11    ¦Тип данных:                                       ¦
 ¦       ¦ C - символьное;                                  ¦
 ¦       ¦ N - числовое;                                    ¦
 ¦       ¦ L - логическое;                                  ¦
 ¦       ¦ M - типа memo;                                   ¦
 ¦       ¦ D - дата;                                        ¦
 ¦       ¦ F - с плавающей точкой;                          ¦
 ¦       ¦ P - шаблон.                                      ¦
 ¦-------+--------------------------------------------------¦
 ¦ 12-15 ¦Расположение поля внутри записи                   ¦
 ¦-------+--------------------------------------------------¦
 ¦ 16    ¦Длина поля (в байтах)                             ¦
 ¦-------+--------------------------------------------------¦
 ¦ 18-32 ¦Зарезервированы                                   ¦
 L=======¦==================================================-

     Примечания по структуре файла с данными:

       *  Данные  в  файле  с  данными начинаются с позиции,
     указываемой в записи  заголовка в байтах  08-09. Записи
     с  данными  начинаются  с  байта,  содержащего  признак
     удаления. Если в этот байт занесен пробел в коде  ASCII
     (0х20), то запись не удалялась; если же в первом  байте
     -  звездочка  (0х2A),  то  запись удалена. За признаком
     удаления  следуют  данные  из  полей,  названия которых
     находятся в подзаписях полей.

       **  Количество  полей  определяет  число   подзаписей
     полей.  В базе данных для каждого поля существует  одна
     подзапись поля.   *** Ограничения по  количеству знаков
     в записи, максимальному числу  полей и т.д. смотрите  в
     данном приложении в таблице "Системные возможности".

                                 Структура файла типа memo (.FPT)

     Файл  типа  memo  содержит  одну  запись  заголовка   и
произвольное  число  блочных  структур.  В  записи заголовка
располагается указатель на следующий свободный блок и размер
блока  в   байтах.  Размер   устанавливается  командой   SET
BLOCKSIZE при создании файла. Запись заголовка начинается  с
нулевой позиции файла и занимает 512 байтов.

     За  записью   заголовка  следуют   блоки,  в    которых
содержатся заголовок блока и текст memo. В файл базы  данных
включены номера блоков,  которые используются для  ссылки на
блоки   memo.   Расположение   блока   в   файле  типа  memo
определяется  умножением  номера   блока  на  размер   блока

								3

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

 г==========================================================¬
 ¦              Запись заголовка файла типа memo            ¦
 ¦-------T--------------------------------------------------¦
 ¦ Байты ¦                Описание                          ¦
 ¦=======+==================================================¦
 ¦ 00-03 ¦Расположение следующего свободного блока*         ¦
 ¦-------+--------------------------------------------------¦
 ¦ 04-05 ¦Не используются                                   ¦
 ¦-------+--------------------------------------------------¦
 ¦ 06-07 ¦Размер блока (число байтов в блоке)               ¦
 ¦-------+--------------------------------------------------¦
 ¦ 08-511¦Не используются                                   ¦
 ¦=======¦==================================================¦
 ¦          Заголовок блока memo и текст memo               ¦
 ¦=======T==================================================¦
 ¦ 00-03 ¦Сигнатура блока* (указывает тип данных в блоке):  ¦
 ¦       ¦ а. 0 - шаблон (поле типа шаблон);                ¦
 ¦       ¦ б. 1 - текст (поле типа memo)                    ¦
 ¦-------+--------------------------------------------------¦
 ¦ 04-07 ¦Длина* memo (в байтах)                            ¦
 ¦-------+--------------------------------------------------¦
 ¦ 08-n  ¦Текст memo (n=длина)                              ¦
 L=======¦==================================================-

              Структура файла memo в системе FoxBASE+ (типа .DBT)

     Файлы   memo   в    системе   FoxBASE+   не    обладают
многосторонностью файлов  memo системы  FoxPro. В  них могут
содержаться только текстовые данные в коде ASCII.

     В данный файл записи выводятся блоками, каждый размером
512 байтов.  В блок,  начинающийся с  нулевой позиции файла,
включен  номер  блока,   соответствующий  первой   свободной
позиции в  файле. Этот  номер блока  хранится в  первых двух
байтах в  обратном порядке  (формат Intel  8086). Для  того,
чтобы  найти  адрес  первого  свободного  блока, надо размер
одного блока (512 байтов) умножить на номер блока.

     Блоки, которые следуют за первым блоком, содержат текст
полей memo  из связанной  базы данных.  В поле  memo в файле
базы  данных  содержится  номер  блока  в  файле  типа memo,
который содержит настоящий текст. Все блоки memo  начинаются
с адресов, границы которых кратны 512 байтам.

                                Структура индексного файла (.IDX)

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

вывести  на  печать,  и  выражения  FOR.  Запись   заголовка
начинается с нулевой позиции файла.

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

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

 г==========================================================¬
 ¦              Запись заголовка индексного файла           ¦
 ¦-------T--------------------------------------------------¦
 ¦ Байты ¦                Описание                          ¦
 ¦=======+==================================================¦
 ¦ 00-03 ¦Указатель на корневую вершину                     ¦
 ¦-------+--------------------------------------------------¦
 ¦ 04-07 ¦Указатель на свободную в списке вершину (-1, если ¦
 ¦       ¦таковая отсутствует)                              ¦
 ¦-------+--------------------------------------------------¦
 ¦ 08-11 ¦Указатель на конец файла (размер файла)           ¦
 ¦-------+--------------------------------------------------¦
 ¦ 12-13 ¦Длина ключа                                       ¦
 ¦-------+--------------------------------------------------¦
 ¦ 14    ¦Особенности индекса (любое из нижеследующих       ¦
 ¦       ¦числовых значений либо их сумма):                 ¦
 ¦       ¦ а. 1 - уникальный индекс;                        ¦
 ¦       ¦ б. 8 - индекс имеет дополнительный оператор FOR. ¦
 ¦-------+--------------------------------------------------¦
 ¦ 15    ¦Сигнатура индекса(для использования в будущем)    ¦
 ¦-------+--------------------------------------------------¦
 ¦ 16-235¦Ключевое выражение (не компилируется; до 220      ¦
 ¦       ¦символов)*,***                                    ¦
 ¦-------+--------------------------------------------------¦
 ¦236-455¦Выражение FOR (не компилируется; до 220 символов, ¦
 ¦       ¦оканчивающееся пустым символом)                   ¦
 ¦-------+--------------------------------------------------¦
 ¦456-511¦Не используются                                   ¦
 L=======¦==================================================-

								5

 г==========================================================¬
 ¦              Запись вершины индекса                      ¦
 ¦-------T--------------------------------------------------¦
 ¦ Байты ¦                Описание                          ¦
 ¦=======+==================================================¦
 ¦ 00-01 ¦Атрибуты вершины (любое из нижеследующих          ¦
 ¦       ¦числовых значений либо их сумма):                 ¦
 ¦       ¦ а. 0 - вершина индекса;                          ¦
 ¦       ¦ б. 1 - корневая вершина;                         ¦
 ¦       ¦ в. 2 - лист.                                     ¦
 ¦-------+--------------------------------------------------¦
 ¦ 02-03 ¦Количество существующих ключей (0, 1 или больше)  ¦
 ¦-------+--------------------------------------------------¦
 ¦ 04-07 ¦Указатель на вершину, расположенную               ¦
 ¦       ¦непосредственно слева от данной вершины (на том   ¦
 ¦       ¦же уровне; -1, если отсутствует)                  ¦
 ¦-------+--------------------------------------------------¦
 ¦ 08-11 ¦Указатель на вершину, расположенную               ¦
 ¦       ¦непосредственно справа от данной вершины (на том  ¦
 ¦       ¦же уровне; -1, если отсутствует)                  ¦
 ¦-------+--------------------------------------------------¦
 ¦ 12-511¦До 500 символов, включающих в себя значение ключа ¦
 ¦       ¦для длины ключа с четырехбайтовым                 ¦
 ¦       ¦шестнадцатиричным числом (хранящемся в обычном    ¦
 ¦       ¦формате слева направо):                           ¦
 ¦       ¦ Если вершина является листом (атрибут = 02 или   ¦
 ¦       ¦ 03), тогда четыре байта содержат подлинный номер ¦
 ¦       ¦ номер в базе данных в шестнадцатиричном формате -¦
 ¦       ¦ иначе 4 байта содержат внутрииндексный           ¦
 ¦       ¦ указатель.**                                     ¦
 L=======¦==================================================-

     Примечания по структуре индексного файла:

       *  Тип  ключа  не  запоминается  в индексе. Он должен
     определяться индексным выражением.

       **  В  вершине-листе  все,  что отлично от символьных
     строк, числа, используемые в качестве значений ключей и
     четырехбайтовые номера представляются в байтах, порядок
     которых  изменен  на  противоположный  (в формате Intel
     8086).

       *** Если числа используются в качестве ключей, то они
     подвергаются      специальной      обработке.       Они
     преобразовываются согласно нижеследующему способу таким
     образом, чтобы  их можно  было отсортировать  с помощью
     такой  же  схемы  упорядочения  в  коде  ASCII,  что  и
     символы:

       а. Преобразовать  число в  формат с  плавающей точкой
          IEEE.

       б. Изменить   на  противоположный  порядок  байтов  с
          порядка Intel на порядок слева направо.

								6

       в. Если   число  отрицательное,   взять    логическое
	  дополнение числа (изменить на противоположные  все
	  64 бита,  1 на  0 и  0 на  1), иначе инвертировать
	  только самый левый бит.

                            Пример упорядоченной структуры дерева

     Поиск  ключа  в  приведенной  ниже  структуре потребует
просмотра  единственного  пути  между  корневой  вершиной  и
листом.   Вершины   на   самом   нижнем   уровне    являются
вершинами-листьями.  Так  как  ключи  отсортированы,  то все
ключи в поддереве меньше либо равны родительской вершине.

                   Корневая вершина
                          ¦
                    ---T--+---T--¬
                    ¦  ¦      ¦  ¦
   Указатель на --- ¦-1¦  F,H ¦-1¦ --- Указатель на
   левую вершину    ¦  ¦      ¦  ¦     правую вершину
                    L--+-T--T-+---
                         ¦  ¦
                 ---------  L------¬
                 ¦                 ¦
                 v                 v
          ---T------T--¬    ---T------T--¬
          ¦  ¦      ¦  +--->¦  ¦      ¦  ¦
          ¦-1¦  C,F ¦  ¦    ¦  ¦   H  ¦-1¦ --- Индексная
          ¦  ¦      ¦  ¦<---+  ¦      ¦  ¦     вершина
          L--+-T--T-+---    L--+--T--T+---
               ¦  ¦               ¦  ¦
       ---------  L------¬---------  L------¬
       ¦                 ¦¦                 ¦
       v                 vv                 v
 ---T------T--¬     ---T------T--¬    ---T------T--¬
 ¦  ¦      ¦  +---->¦  ¦      ¦  +--->¦  ¦      ¦  ¦
 ¦-1¦A,B,C ¦  ¦     ¦  ¦D,E,F ¦  ¦    ¦  ¦  G,H ¦-1¦
 ¦  ¦      ¦  ¦<----+  ¦      ¦  ¦<---+  ¦      ¦  ¦
 L--+---T--+---     L--+---T--+---    L--+-T----+---
        ¦                  ¦               ¦
        L------------------+----------------
                           ¦
                   Вершины-листья

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

     Байты  12-511  в  записях  индексных  вершин  могли  бы
выглядеть следующим образом:

								7

         Длина ключа (в байтах)     4 байта
                    ¦                  ¦
             -------+-------¬ ---------+--------¬
             ¦              ¦ ¦                 ¦
                             -+-----------------+¬
              Значение ключа ¦ шестнадцатиричный ¦
 Байт 12 --->¦               ¦      номер        ¦
 записи      L---------------+--------------------
                             --------------------¬
              Значение ключа ¦ шестнадцатиричный ¦
             ¦               ¦      номер        ¦
             L---------------+--------------------
                             --------------------¬
              Значение ключа ¦ шестнадцатиричный ¦
             ¦               ¦      номер        ¦
             L---------------+--------------------

     Комбинация  из  значения  ключа  и   шестнадцатиричного
номера будет заноситься в байты 12-511 n раз, где n -  число
существующих ключей.

								8

               Структура компактного индексного файла (типа .IDX)

 г==========================================================¬
 ¦      Запись заголовка компактного индексного файла       ¦
 ¦--------T-------------------------------------------------¦
 ¦ Байты  ¦                Описание                         ¦
 ¦========+=================================================¦
 ¦ 00-03  ¦Указатель на корневую вершину                    ¦
 ¦--------+-------------------------------------------------¦
 ¦ 04-07  ¦Указатель на свободную в списке вершину (-1,     ¦
 ¦        ¦если таковая отсутствует)                        ¦
 ¦--------+-------------------------------------------------¦
 ¦ 08-11  ¦Резервируются для внутреннего использования      ¦
 ¦--------+-------------------------------------------------¦
 ¦ 12-13  ¦Длина ключа                                      ¦
 ¦--------+-------------------------------------------------¦
 ¦ 14     ¦Особенности индекса (любое из нижеследующих      ¦
 ¦        ¦значений либо их сумма):                         ¦
 ¦        ¦ а. 1 - уникальный индекс;                       ¦
 ¦        ¦ б. 8 - индекс имеет дополнительный оператор     ¦
 ¦        ¦        FOR;                                     ¦
 ¦        ¦ в. 32 - формат компактного индекса;             ¦
 ¦        ¦ г. 64 - заголовок составного индекса.           ¦
 ¦--------+-------------------------------------------------¦
 ¦ 15     ¦Сигнатура индекса                                ¦
 ¦--------+-------------------------------------------------¦
 ¦ 16-19  ¦Зарезервированы для внутреннего использования    ¦
 ¦--------+-------------------------------------------------¦
 ¦ 20-23  ¦Зарезервированы для внутреннего использования    ¦
 ¦--------+-------------------------------------------------¦
 ¦ 24-27  ¦Зарезервированы для внутреннего использования    ¦
 ¦--------+-------------------------------------------------¦
 ¦ 28-31  ¦Зарезервированы для внутреннего использования    ¦
 ¦--------+-------------------------------------------------¦
 ¦ 32-35  ¦Зарезервированы для внутреннего использования    ¦
 ¦--------+-------------------------------------------------¦
 ¦ 36-501 ¦Зарезервированы для внутреннего использования    ¦
 ¦--------+-------------------------------------------------¦
 ¦502-503 ¦По возрастанию или убыванию:                     ¦
 ¦        ¦ а. 0=возрастание;                               ¦
 ¦        ¦ б. 1=убывание.                                  ¦
 ¦--------+-------------------------------------------------¦
 ¦504-505 ¦Зарезервированы для внутреннего использования    ¦
 ¦--------+-------------------------------------------------¦
 ¦506-507 ¦Длина пула выражения FOR*                        ¦
 ¦--------+-------------------------------------------------¦
 ¦508-509 ¦Зарезервированы для внутреннего использования    ¦
 ¦--------+-------------------------------------------------¦
 ¦510-511 ¦Длина пула выражения FOR*                        ¦
 ¦--------+-------------------------------------------------¦
 ¦510-1023¦Пул выражения ключа (не компилируется)           ¦
 L========¦=================================================-

     * В этой информации отслеживается область, используемая
в пуле выражения ключа.

								9

 г==========================================================¬
 ¦      Запись внутренней вершины для компактного индекса   ¦
 ¦-------T--------------------------------------------------¦
 ¦ Байты ¦                Описание                          ¦
 ¦=======+==================================================¦
 ¦ 00-01 ¦Атрибуты вершины (любое из нижеследующих числовых ¦
 ¦       ¦значений либо их сумма):                          ¦
 ¦       ¦ а. 0 - индексная вершина;                        ¦
 ¦       ¦ б. 1 - корневая вершина;                         ¦
 ¦       ¦ в. 2 - вершина-лист.                             ¦
 ¦-------+--------------------------------------------------¦
 ¦ 02-03 ¦Число существующих ключей (0, 1 или больше)       ¦
 ¦-------+--------------------------------------------------¦
 ¦ 04-07 ¦Указатель на вершину, расположенную               ¦
 ¦       ¦непосредственно слева от данной вершины (на том   ¦
 ¦       ¦же уровне; -1 - если отсутствует)                 ¦
 ¦-------+--------------------------------------------------¦
 ¦ 08-11 ¦Указатель на вершину, расположенную               ¦
 ¦       ¦непосредственно справа от данной вершины (на том  ¦
 ¦       ¦же уровне; -1 - если отсутствует)                 ¦
 ¦-------+--------------------------------------------------¦
 ¦ 12-511¦До 500 символов, включающих в себя значение ключа ¦
 ¦       ¦для длины ключа с четырехбайтовым                 ¦
 ¦       ¦шестнадцатиричным числом (хранящемся в обычном    ¦
 ¦       ¦формате слева направо):                           ¦
 ¦       ¦ Эта вершина всегда содержит ключ индекса, номер  ¦
 ¦       ¦ записи и внутрииндексный указатель.**            ¦
 ¦       ¦Комбинация из значения ключа и четырехбайтового   ¦
 ¦       ¦шестнадцатиричного числа будет повторена столько  ¦
 ¦       ¦раз, количество которых задается в байтах 02-03.  ¦
 L=======¦==================================================-

								10

 г==========================================================¬
 ¦       Запись внешней вершины для компактного индекса     ¦
 ¦-------T--------------------------------------------------¦
 ¦ Байты ¦                Описание                          ¦
 ¦=======+==================================================¦
 ¦ 00-01 ¦Атрибуты вершины (любое из нижеследующих числовых ¦
 ¦       ¦значений либо их сумма):                          ¦
 ¦       ¦ а. 0 - индексная вершина;                        ¦
 ¦       ¦ б. 1 - корневая вершина;                         ¦
 ¦       ¦ в. 2 - вершина-лист.                             ¦
 ¦-------+--------------------------------------------------¦
 ¦ 02-03 ¦Число существующих ключей (0, 1 или больше)       ¦
 ¦-------+--------------------------------------------------¦
 ¦ 04-07 ¦Указатель на вершину, расположенную               ¦
 ¦       ¦непосредственно слева от данной вершины (на том   ¦
 ¦       ¦же уровне; -1 - если отсутствует)                 ¦
 ¦-------+--------------------------------------------------¦
 ¦ 08-11 ¦Указатель на вершину, расположенную               ¦
 ¦       ¦непосредственно справа от данной вершины (на том  ¦
 ¦       ¦же уровне; -1 - если отсутствует)                 ¦
 ¦-------+--------------------------------------------------¦
 ¦ 12-13 ¦Свободное для распределения пространство в        ¦
 ¦       ¦вершине                                           ¦
 ¦-------+--------------------------------------------------¦
 ¦ 14-17 ¦Маска номера записи                               ¦
 ¦-------+--------------------------------------------------¦
 ¦ 18    ¦Маска запасного байтового счетчика                ¦
 ¦-------+--------------------------------------------------¦
 ¦ 19    ¦Маска хвостового байтового счетчика               ¦
 ¦-------+--------------------------------------------------¦
 ¦ 20    ¦Количество битов, используемых для номера записи  ¦
 ¦-------+--------------------------------------------------¦
 ¦ 21    ¦Количество битов, используемых для запасного      ¦
 ¦       ¦счетчика                                          ¦
 ¦-------+--------------------------------------------------¦
 ¦ 22    ¦Количество битов, используемых для хвостового     ¦
 ¦       ¦счетчика                                          ¦
 ¦-------+--------------------------------------------------¦
 ¦ 23    ¦Количество байтов, содержащих номер записи,       ¦
 ¦       ¦запасной счетчик и хвостовой счетчик              ¦
 ¦-------+--------------------------------------------------¦
 ¦ 24-511¦Ключи индексов и информация**                     ¦
 L=======¦==================================================-

     ** Каждый элемент  состоит из номера  записи, запасного
байтового счетчика  и хвостового  байтового счетчика,  все в
сжатом  виде.  Текст  ключа  помещается  в  логический конец
вершины,  обрабатывается  он  в  обратном  направлении,  что
позволяет находить элементы предшествующих ключей.

								11

                Структура составного индексного файла (типа .CDX)

     Все составные индексы являются компактными.
     Для того, чтобы отслеживать в файле типа .CDX все теги,
применяется  единая   файловая  структура.   Эта   структура
идентична структуре  компактного индексного  файла за  одним
исключением - вершины-листья  на самом нижнем  уровне данной
структуры ссылаются на один из тегов в составном индексе.

     Все теги в  индексе имеют свою  собственную завершенную
структуру,   которая   тождественна   структуре  компактного
индекса для файла .IDX.


                                            Системные возможности

 г==========================================================¬
 ¦                  Системные возможности                   ¦
 ¦=====================================T=========T==========¦
 ¦                                     ¦ FoxPro  ¦ Усоверш. ¦
 ¦                                     ¦         ¦  FoxPo   ¦
 ¦=====================================¦=========¦==========¦
 ¦                  Файлы индексные и баз данных            ¦
 ¦====================================T==========T==========¦
 ¦Максимальное число записей в файле  ¦          ¦          ¦
 ¦базы данных                         ¦1миллиард*¦ 1миллирд*¦
 ¦Максимальное число символов в записи¦      4000¦      4000¦
 ¦Максимальное число полей в записи   ¦       255¦       255¦
 ¦Максимальное число одновременно     ¦          ¦          ¦
 ¦открытых баз данных                 ¦        25¦        25¦
 ¦Максимальное число символов в       ¦          ¦          ¦
 ¦поле базы данных                    ¦       254¦       254¦
 ¦Максимальное число символов в       ¦          ¦          ¦
 ¦индексном ключе (.IDX)              ¦       100¦       100¦
 ¦Максимальное число символов в       ¦          ¦          ¦
 ¦индексном ключе (.CDX)              ¦       254¦       254¦
 ¦Максимальное число открытых         ¦без огра- ¦без огра- ¦
 ¦индексных файлов в базе данных      ¦ничения** ¦ничения** ¦
 ¦Максимальное число открытых         ¦без огра- ¦без огра- ¦
 ¦индексов во всех рабочих областях   ¦ничения** ¦ничения** ¦
 ¦====================================¦==========¦==========¦
 ¦                    Характеристики полей                  ¦
 ¦====================================T==========T==========¦
 ¦Максимальный размер символьных полей¦       254¦       254¦
 ¦Максимальный размер числовых (и с   ¦          ¦          ¦
 ¦плавающей точкой) полей             ¦        20¦        20¦
 ¦Максимальное число символов в       ¦          ¦          ¦
 ¦названиях полей                     ¦        10¦        10¦
 ¦Точность цифр при числовых          ¦          ¦          ¦
 ¦вычислениях                         ¦        16¦        16¦
 L====================================¦==========¦==========-
 Формат DBF/FPT/DBT/IDX/CDX - файлов.
Лента новостей


2006 (c) Copyright Hardline.ru