Основы современных компьютерных технологий


Индексирование таблиц


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

Под индексом понимается поле таблицы или выражение, включающее совокупность полей, по которым упорядочена таблица.

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

В Visual FoxPro имеются различные варианты индексных файлов, в том числе и для поддержки предыдущих версий FoxPro. Будем использовать структурный индексный файл, который эффективен и прост в применении. Структурный индексный файл обеспечивает реализацию всех индексов одной таблицы и имеет имя, совпадающее с именем самой таблицы, и расширение cdx. Структурные индексные файлы открываются и закрываются одновременно с таблицами, что упрощает работу с ними.

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

260

В Visual FoxPro тип индексов задается при их создании с помощью Конструктора таблиц. Рассмотрим процедуру создания индекса. В диалоговом окне Table Designer (конструктор таблиц) выберем вкладку Indexes (индексы) (рис. 21.3).


Рис. 21.3. Вкладка Indexes




Начало  Назад  Вперед