FoxPro8


Индексы


Среди требований, предъявляемых к СУБД, основное место занимает возможность быстрого поиска необходимой информации. Прекрасным средством, позволяющим решить эту проблему, является применение индексов, которые, в зависимости от количества полей, используемых при их создании, делятся на простые и составные.

Замечание

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

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

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

Для создания индекса таблицы используется вкладка Indexes (Индексы) (рис. 4.17) окна конструктора таблиц Table Designer (Конструктор таблицы).

Все индексы в Visual FoxPro имеют имена, задаваемые в поле Name (Имя).

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




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