Составители:
Рубрика:
76
делится пополам оставшаяся часть индексного файла и т.д., до тех пор, пока не будет
найдена запись с нужным значением ключа.
Поиск по такому алгоритму многократно быстрее переборного. Его преимущества
особенно сильно проявляются при работе с файлами баз данных, содержащими большое
число записей (порядка сотен тысяч и более).
4.3.1.1. Схема
использования приема «Упорядочивай записи».
1)продумайте, какие аспекты сортировки базы данных Вас интересуют. Определите
ключи сортировок (т.е. наименования полей, их сочетания, формулы, использующие
действия над полями).
2)создайте нужные индексные файлы.
ЗАПОМНИТЕ: каждому файлу таблицы данных в Visual FoxPro 5.0 может быть поставлено в
соответствие несколько индексных файлов. Их общее количество ограничено памятью ЭВМ.
Если Вы обладаете опытом работы с табличными процессорами, то можете
заметить аналогию с операциями, предусмотренными для баз данных, встроенными в
интегрированную среду.
Для создания индексных файлов в одной из рабочих областей оперативной памяти
(по умолчанию - в первой) должен быть открыт упорядочиваемый (индексируемый) файл
(командой USE). Рассмотрим два пути индексирования:
Команда, создающая индексный файл:
INDEX ON <expr> TO <ind_file> [FOR <exprL>] [UNIQUE]
Здесь: <expr> - ключ индексирования, т.е. выражение с числовыми или с
символьными переменными или с датами, но не с логическими переменными и не с
memo-полями!);
<ind_file> - имя индексного файла без расширения (по умолчанию Visual FoxPro
5.0 присвоит расширение .idx
). Можно не опасаться дать индексному файлу то же имя,
что и индексируемому(Visual FoxPro 5.0 различит их по расширению). Если Вы создаете
не один, а несколько индексных файлов, то у них должны быть различные имена.
Старайтесь давать имена, мнемонически сходные с именем индексируемого файла (будет
легче запомнить).
FOR <exprL> - необязательная, но очень полезная
и мощная опция, позволяющая
эффективно сочетать индексирование и фильтрацию данных: в индексном файле будут
упорядочены записи, для которых соблюдается логическое условие <exprL>.
Разработчики Visual FoxPro 5.0 утверждают, что совместное использование
индексирования и фильтрации эффективнее команды
SET FILTER.(см.п.4.2.).
UNIQUE - необязательная опция; если в индексируемом файле имеется несколько
записей с одинаковым значением ключа, то
при ее использовании в индексный файл
попадет единственная («попавшаяся» при индексировании первой).
Второй способ индексирования производится при помощи Table Designer, который
открывается командой Modify (системное меню Table/Properties, кнопка Modify).
Рассмотрим этот способ на примере:
1. Для этого откройте таблицу Students.dbf, выполните команду Browse.
2. С помощью системного меню Table/Properties, кнопка Modify войдите в
Table
Designer.
3. Выберите вкладку Fields в диалоге Table Designer, переместите курсор на имя
поля, по которому Вы хотите произвести индексирование, например – ФИО.
4. Выберите из списка в колонке Index ключ по возрастанию Ascending (Descending
– ключ по убыванию).
5. Аналогично проиндексируйте по полю Год_поступ.
76
делится пополам оставшаяся часть индексного файла и т.д., до тех пор, пока не будет
найдена запись с нужным значением ключа.
Поиск по такому алгоритму многократно быстрее переборного. Его преимущества
особенно сильно проявляются при работе с файлами баз данных, содержащими большое
число записей (порядка сотен тысяч и более).
4.3.1.1. Схема использования приема «Упорядочивай записи».
1)продумайте, какие аспекты сортировки базы данных Вас интересуют. Определите
ключи сортировок (т.е. наименования полей, их сочетания, формулы, использующие
действия над полями).
2)создайте нужные индексные файлы.
ЗАПОМНИТЕ: каждому файлу таблицы данных в Visual FoxPro 5.0 может быть поставлено в
соответствие несколько индексных файлов. Их общее количество ограничено памятью ЭВМ.
Если Вы обладаете опытом работы с табличными процессорами, то можете
заметить аналогию с операциями, предусмотренными для баз данных, встроенными в
интегрированную среду.
Для создания индексных файлов в одной из рабочих областей оперативной памяти
(по умолчанию - в первой) должен быть открыт упорядочиваемый (индексируемый) файл
(командой USE). Рассмотрим два пути индексирования:
Команда, создающая индексный файл:
INDEX ON TO [FOR ] [UNIQUE]
Здесь: - ключ индексирования, т.е. выражение с числовыми или с
символьными переменными или с датами, но не с логическими переменными и не с
memo-полями!);
- имя индексного файла без расширения (по умолчанию Visual FoxPro
5.0 присвоит расширение .idx). Можно не опасаться дать индексному файлу то же имя,
что и индексируемому(Visual FoxPro 5.0 различит их по расширению). Если Вы создаете
не один, а несколько индексных файлов, то у них должны быть различные имена.
Старайтесь давать имена, мнемонически сходные с именем индексируемого файла (будет
легче запомнить).
FOR - необязательная, но очень полезная и мощная опция, позволяющая
эффективно сочетать индексирование и фильтрацию данных: в индексном файле будут
упорядочены записи, для которых соблюдается логическое условие .
Разработчики Visual FoxPro 5.0 утверждают, что совместное использование
индексирования и фильтрации эффективнее команды
SET FILTER.(см.п.4.2.).
UNIQUE - необязательная опция; если в индексируемом файле имеется несколько
записей с одинаковым значением ключа, то при ее использовании в индексный файл
попадет единственная («попавшаяся» при индексировании первой).
Второй способ индексирования производится при помощи Table Designer, который
открывается командой Modify (системное меню Table/Properties, кнопка Modify).
Рассмотрим этот способ на примере:
1. Для этого откройте таблицу Students.dbf, выполните команду Browse.
2. С помощью системного меню Table/Properties, кнопка Modify войдите в Table
Designer.
3. Выберите вкладку Fields в диалоге Table Designer, переместите курсор на имя
поля, по которому Вы хотите произвести индексирование, например – ФИО.
4. Выберите из списка в колонке Index ключ по возрастанию Ascending (Descending
– ключ по убыванию).
5. Аналогично проиндексируйте по полю Год_поступ.
Страницы
- « первая
- ‹ предыдущая
- …
- 28
- 29
- 30
- 31
- 32
- …
- следующая ›
- последняя »
