Система управления базами данных Visual FoxPro5.0 - от начальных навыков к профессиональной работе. Крушель Е.Г - 45 стр.

UptoLike

Составители: 

91
вставка некоторого элемента между имеющимися в таблице.
В СУБД именно такие операции являются основными. Поэтому первые СУБД (в
том числе dBASEIII, FoxBase) работали настолько медленно, что раздражали и
программиста, и пользователя. В Visual FoxPro 5.0 массовые операции многократно
ускорены не только благодаря прогрессу технического обеспечения, но и благодаря
новым способам программной реализации операторов
языка (широкое использование
кэш-памяти, использование быстрых логических операций и др.).
Основные особенности стиля программирования в СУБД связаны с
использованием приемов ускорения массовых операций.
1.1 Перечень особенностей стиля программирования в СУБД:
а) Ускорение массовых операций:
Старайтесь «делать невидимой» часть базы данных, которая не нужна для конкретного
аспекта данного фрагмента программы. При
этом будет достигнуто ускорение за счет
замены «длинных» операций с записями базы данных на «короткие» операции анализа
соответствующих признаков «невидимости». Ускорение массовых операций достигается
при использовании описанных в Части 1 приемов:
удаления лишнего;
фильтрации полей и записей;
индексирования.
Используйте эти приемы в своих программах.
б) Не следует
широко использовать привычный аппарат переменных как средств
для хранения и управления данными.
Visual FoxPro 5.0 имеет такой аппарат. Чтобы подчеркнуть его «медлительность»,
эти переменные называются переменными памяти (memo-variables). Работа с ними в
Visual FoxPro 5.0 требует обращения к диску. Поэтому, если можно, управляйте данными
внутренними средствами Visual FoxPro 5.0, например:
при циклическом просмотре записей вместо цикловой переменной (типа
i:=i+1)
используйте перемещение файлового указателя командой SKIP;
вместо известного алгоритма поиска наибольшего (или наименьшего) значения и
(тем более) упорядочивания элементов данных используйте сортировку и
индексирование.
в) Всюду, где можно, избегайте команд и функций, требующих сведений о
параметрах и характеристиках конкретной таблицы данных. Программу с такой
конкретизацией трудно перестраивать при
неизбежных (по самому смыслу и назначению
СУБД) корректировках файлов таблиц данных.
Перечень некоторых функций, при записи которых
не используются конкретные сведения
о базе данных:
EOF( ), BOF( ) - признак конца и начала файла.
DBF( ) - имя или псевдоним (alias) базы данных в рабочей области.
FCOUNT( ) - число полей файла базы данных.
FIELD(<exprN>) - имя поля (по его номеру).
FILTER( ) - выражение, использованное в фильтре.
FSIZE( ) - размер конкретного поля в байтах.
NDX( ) - имя индексного файла, открытого в
данной рабочей области.
RECCOUNT( ) - число записей в файле базы данных.
RECNO( ) - номер записи, на которой находится указатель.
SYS(14) - ключ индексного файла.
TYPE(<exprC) - тип поля (по его имени).
В программах, использующих эти функции, легко реализовать выполнение
запросов пользователя в диалоге: все процедуры и подпрограммы будут
                                             91

      •вставка некоторого элемента между имеющимися в таблице.
      В СУБД именно такие операции являются основными. Поэтому первые СУБД (в
том числе dBASEIII, FoxBase) работали настолько медленно, что раздражали и
программиста, и пользователя. В Visual FoxPro 5.0 массовые операции многократно
ускорены не только благодаря прогрессу технического обеспечения, но и благодаря
новым способам программной реализации операторов языка (широкое использование
кэш-памяти, использование быстрых логических операций и др.).
      Основные особенности стиля программирования в СУБД связаны с
использованием приемов ускорения массовых операций.

      1.1 Перечень особенностей стиля программирования в СУБД:
      а) Ускорение массовых операций:
Старайтесь «делать невидимой» часть базы данных, которая не нужна для конкретного
аспекта данного фрагмента программы. При этом будет достигнуто ускорение за счет
замены «длинных» операций с записями базы данных на «короткие» операции анализа
соответствующих признаков «невидимости». Ускорение массовых операций достигается
при использовании описанных в Части 1 приемов:
      • удаления лишнего;
      • фильтрации полей и записей;
               • индексирования.
Используйте эти приемы в своих программах.

       б) Не следует широко использовать привычный аппарат переменных как средств
для хранения и управления данными.
       Visual FoxPro 5.0 имеет такой аппарат. Чтобы подчеркнуть его «медлительность»,
эти переменные называются переменными памяти (memo-variables). Работа с ними в
Visual FoxPro 5.0 требует обращения к диску. Поэтому, если можно, управляйте данными
внутренними средствами Visual FoxPro 5.0, например:
       •при циклическом просмотре записей вместо цикловой переменной (типа i:=i+1)
используйте перемещение файлового указателя командой SKIP;
       •вместо известного алгоритма поиска наибольшего (или наименьшего) значения и
(тем      более) упорядочивания элементов данных используйте сортировку и
индексирование.

      в) Всюду, где можно, избегайте команд и функций, требующих сведений о
параметрах и характеристиках конкретной таблицы данных. Программу с такой
конкретизацией трудно перестраивать при неизбежных (по самому смыслу и назначению
СУБД) корректировках файлов таблиц данных.
                        Перечень некоторых функций, при записи которых
                       не используются конкретные сведения о базе данных:
EOF( ), BOF( ) - признак конца и начала файла.
DBF( )       - имя или псевдоним (alias) базы данных в рабочей области.
FCOUNT( ) - число полей файла базы данных.
FIELD() - имя поля (по его номеру).
FILTER( )           - выражение, использованное в фильтре.
FSIZE( )            - размер конкретного поля в байтах.
NDX( )              - имя индексного файла, открытого в данной рабочей области.
RECCOUNT( )        - число записей в файле базы данных.
RECNO( )           - номер записи, на которой находится указатель.
SYS(14)           - ключ индексного файла.
TYPE(