Нагадаємо, що індекс забезпечує швидкий доступ до даних, збереженим у полі, для якого він створений. Для прискорення операцій з таблицею індексними варто робити поля, по яких часто виробляється пошук і відбір записів. Індекс створюється оператором create index наступного формату:
CREATE INDEX <Ім'я індексу> ON <Ім'я таблиці> (<Ім'я поля >, ..., [<Ім'я поля >]);
Одним оператором можна-створити один індекс, при цьому одному полі може входити до складу декількох індексів. Крім того, не потрібно, щоб значення складових індекс полів були унікальними. При сортуванні по індексі запису упорядковуються в порядку зростання значень індексних полів.
За допомогою оператора create index для таблиць dBase створюються індекси, а для таблиць Paradox — вторинні індекси. Нагадаємо, що первинним індексом таблиць Paradox є ключ, описуваний безпосередньо при створенні таблиці. Використання оператора create index є єдиним способом визначення індексу для таблиць dBase.
Так можна створити індекс по одному полю:
CREATE INDEX indName ON Personnel.db (Name)
А так по двох:
CREATE INDEX indNamePosition ON Personnel.db (Name, Position)
Для видалення індексу використовується оператор drop index формату
DROP INDEX <Ім'я таблиці>.<Ім'я індексу >
або DROP INDEX <Ім'я таблиці >.PRIMARY
Під час видалення індексу таблиця не повинна використовуватися іншими додатками. При виконанні оператора drop index можна видалити один індекс, позначивши його складеним ім'ям, що складається з імені таблиці і власне імені індексу. Якщо видаляється первинний індекс (ключ) таблиці Paradox, то замість імені індексу вказується описувач primary, оскільки головний ключ не має імені. Наприклад, в операторі
DROP INDEX
"Personnel.db".indNamePosition
з таблиці Personnel віддаляється індекс indNamePost, створений по полях Name и Position.
Первинний ключ віддаляється так:
DROP INDEX
"Personnel.db".PRIMARY
Якщо індекс, що видаляється, відсутній чи таблиця використовується іншим додатком, то генерується виняткова ситуація.