скрыть

скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Google  
 

Размеры полей таблицы Paradox



Автор: John B Moore

Данная общая информация могла бы быть полезной при вычислении максимального размера записи для установки размера каждого блока.

Требования к предельным размерам типов полей таблицы Paradox

Данный список указывает количество байт каждого типа поля таблицы Paradox, занимаемое в структуре записи. Имейте в виду, что указанный размер занимает каждое поля в самом файле .DB, не во вспомогательных файлах типа .MB.

   Тип данных           Байт
   -----------------------------------------------------------
   Alphanumeric          1 байт на символ, до 255
   AutoIncrement         4 байта
   Binary (BLOB)        10 байт + 1 на символ. В пределе
                           (0 - 240) [1]
   Bytes                 1 на символ, максимально до 255.
   BCD                  17
   Currency (Денежный)   8
   Date                  4
   Formatted Memo       10 байт + 1 на символ. В пределе 
                           (0 - 240)
   Graphic              10 байт + 1 на символ. В пределе 
                           (0 - 240)
   Memo                 10 байт + 1 на символ. В пределе 
                           (1 - 240) [2]
   Logical               1
   LongInt               4
   Numeric (Числовой)    8
   OLE                  10 байт + 1 на символ. В пределе
                           (0 - 240)
   SmallInt              2
   Time                  4
   TimeStamp             8

Пределы:
   Maximum Field Count      :  255 полей
   (максимальное количество
    полей)
   Maximum Blocks per table :  64К
   (максимальное количество
    блоков в таблице)
   Maximum Block Size       :  32К символов
   (максимальный размер 
    блока)
   Max Record Size, unkeyed :  Текущий размер блока - 6 байта [3]
   (максимальный размер 
    записи, неключевой)
   Max Record Size, keyed   :  (BlockSize - 6) / 3, округляется в меньшую сторону 
   (максимальный размер        до ближайшего размера блока. [4]    
    записи, ключевой)
Сноски:

[1] Все blob-поля содержат 10-байтовые указатели на .MB-файл, которые указывают где могут быть найдены "остальные" значения поля.

[2] В отличие от данных "blob"-типа, Memo-поле требует по крайней мере один "Memo"-символ, сохраненный в .DB-файле, для обеспечения совместимости с Paradox for DOS.

[3] Размер блока по умолчанию хранится в IDAPI.CFG. Для изменения значения по умолчанию, запустите Configuration Utility и измените установку Tables, Paradox, Block Size. Значение по умолчанию 2048 и может изменяться в диапазоне от 1024 до 32К. 6 байтов в данном значении резервируются для внутренних указателей.

[4] Это следствие наличия значений ключа записей Paradox, которые передаются в .PX файл, очень похожий на табличный файл. Размер ключа не может превышать 1/3 размера блока таблицы; в противном случае Paradox будет пытаться увеличить размер блока. При выполнении вычислений не забывайте брать в расчет 6-байтные указатели.






Copyright © 2004-2016 "Delphi Sources". Delphi World FAQ




Группа ВКонтакте   Ссылка на Twitter   Группа на Facebook