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

UptoLike

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

80
4.3.2. Создание и использование многоиндексных файлов и тегов.
Причины, по которым желательно использовать многоиндексные файлы:
программисту легче запомнить имя одного многоиндексного файла, чем имена
многих одноиндексных файлов;
многоиндексный файл создается средствами Visual FoxPro 5.0 ВСЕГДА как
компактный (а для того, чтобы создать одноиндексный файл компактным, необходима
специальная опция).
Для понимания назначения многоиндексного файла
можно использовать грубую
аналогию: один двумерный массив - как альтернатива многим одномерным массивам.
Каждый «столбец» многоиндексного файла называется ТЕГом (tag - в переводе:
этикетка). Тегу присваивается имя (по правилам, принятым для переменных памяти в
Visual FoxPro 5.0: до 254 символов, может любые буквы, цифры, нижнее подчеркивание,
начинается с буквы).
Многоиндексный файл создается двумя путями:
как
объединение уже существующих одноиндексных файлов, если Вы пользовались
при создании индексных файлов командой SET INDEX;
как первично образуемый многоиндексный файл (при этом не нужно предварительно
создавать одноиндексные файлы).
По умолчанию многоиндексный файл имеет расширение *.cdx
Многоиндексный файл без использования одноиндексных файлов создается
командами:
INDEX ON <key> TAG <tagname>
OF <имя_многоинд_файла>
- проводится индексирование файла, открытого в одной из рабочих областей, по ключу
<key>; результаты записываются в многоиндексный файл с указанным именем; «столбцу»
(тегу) этого файла, содержащему результаты индексирования по ключу <key>,
присваивается указанное в команде имя. При использовании дизайнера таблицы Table
Designer для создания индексов, многоиндексный файл
создается автоматически с именем
активной таблицы и расширением .cdx. Например, индексы, созданные в пункте 4.3.1.
являются тегами с именами ФИО и Год_поступ многоиндексного файла students.cdx.
USE <имя_*.dbf-файла> INDEX <имя_многоинд_файла>ORDER TAG <имя_тега>
- в рабочей области открывается *.dbf-файл в режиме с индексированием, ключ которого
«запомнен» в теге;
Аналогичными действиями являются открытие индексного файла через системное меню
File/Open с расширением *.cdx и выбор тега в поле Index Order диалога Work Area
Properties (см. п.4.3.1.1)
SET ORDER TO TAG <tag_list> OF <имя_многоинд_файла>
- аналогично команде SET ORDER TO, описанной в п.4.2.2.
USE <имя_*.dbf-файла> INDEX <имя
_многоинд_файла> ORDER <exprN>
- в рабочей области открывается *.dbf-файл в режиме с индексированием, ключ которого
определяется по номеру тега, перечисленного в команде SET ORDER
Примеры
:
USE students
INDEX ON ФИО TAG t1 OF multiind
&& создается многоиндексный файл multiind.cdx, в который в
&& «столбец» (тег) записывается результат индексирования
&& по алфавиту фамилий
INDEX ONБалл_сес01 TAG t2 OF multiind
&& «заполняется второй столбец (тегt2 результатами
&& индексирования по убыванию баллов за первую сессию.
USE students INDEX
multiind ORDER TAG t1
BROWSE && на экране - записи по алфавиту.
USE students INDEX multiind ORDER TAG t2
                                         80

               4.3.2. Создание и использование многоиндексных файлов и тегов.
Причины, по которым желательно использовать многоиндексные файлы:
       •программисту легче запомнить имя одного многоиндексного файла, чем имена
многих одноиндексных файлов;
       •многоиндексный файл создается средствами Visual FoxPro 5.0 ВСЕГДА как
компактный (а для того, чтобы создать одноиндексный файл компактным, необходима
специальная опция).
       Для понимания назначения многоиндексного файла можно использовать грубую
аналогию: один двумерный массив - как альтернатива многим одномерным массивам.
       Каждый «столбец» многоиндексного файла называется ТЕГом (tag - в переводе:
этикетка). Тегу присваивается имя (по правилам, принятым для переменных памяти в
Visual FoxPro 5.0: до 254 символов, может любые буквы, цифры, нижнее подчеркивание,
начинается с буквы).
       Многоиндексный файл создается двумя путями:
• как объединение уже существующих одноиндексных файлов, если Вы пользовались
   при создании индексных файлов командой SET INDEX;
• как первично образуемый многоиндексный файл (при этом не нужно предварительно
   создавать одноиндексные файлы).
По умолчанию многоиндексный файл имеет расширение *.cdx

       Многоиндексный файл без использования одноиндексных файлов создается
командами:
              INDEX ON  TAG  OF <имя_многоинд_файла>
- проводится индексирование файла, открытого в одной из рабочих областей, по ключу
; результаты записываются в многоиндексный файл с указанным именем; «столбцу»
(тегу) этого файла, содержащему результаты индексирования по ключу ,
присваивается указанное в команде имя. При использовании дизайнера таблицы Table
Designer для создания индексов, многоиндексный файл создается автоматически с именем
активной таблицы и расширением .cdx. Например, индексы, созданные в пункте 4.3.1.
являются тегами с именами ФИО и Год_поступ многоиндексного файла students.cdx.
    USE <имя_*.dbf-файла> INDEX <имя_многоинд_файла>ORDER TAG <имя_тега>
- в рабочей области открывается *.dbf-файл в режиме с индексированием, ключ которого
«запомнен» в теге;
Аналогичными действиями являются открытие индексного файла через системное меню
File/Open с расширением *.cdx и выбор тега в поле Index Order диалога Work Area
Properties (см. п.4.3.1.1)
               SET ORDER TO TAG  OF <имя_многоинд_файла>
- аналогично команде SET ORDER TO, описанной в п.4.2.2.
        USE <имя_*.dbf-файла> INDEX <имя_многоинд_файла> ORDER 
- в рабочей области открывается *.dbf-файл в режиме с индексированием, ключ которого
определяется по номеру тега, перечисленного в команде SET ORDER
                                       Примеры:
USE students
INDEX ON ФИО TAG t1 OF multiind
       && создается многоиндексный файл multiind.cdx, в который в
       && «столбец» (тег) записывается результат индексирования
       && по алфавиту фамилий
INDEX ON –Балл_сес01 TAG t2 OF multiind
       && «заполняется второй столбец (тег)» t2 результатами
       && индексирования по убыванию баллов за первую сессию.
USE students INDEX multiind ORDER TAG t1
BROWSE                       && на экране - записи по алфавиту.
USE students INDEX multiind ORDER TAG t2