Создание приложений для работы с базами данных в сети_____________559

индекс будет использоваться, а запрос

Select ... ORDER BY pl,p3

будет обрабатываться без использования индекса.

Создание нового индекса осуществляется оператором Create Index:

CREATE INDEX <имя индекса> ON <имя таблицы > <список полей>
Например:

CREATE INDEX depyear ON Pers Dep, Year_b

Удаление существующего индекса осуществляется оператором Drop Index:

DROP INDEX <имя таблицы >.<имя индекса>
Например:

DROP Index Pers.depyear

Если в таблица многократно изменяется и в нее вносится много новых запи-
сей, индексы могут оказаться разбалансированы и их эффективность при выполне-
нии запросов уменьшается. В этом случае полезно проводить повторное создание и
балансировку индекса последовательным применением операторов деактивации и
активации:

ALTER INDEX <ИМЯ ИНдекса> DEACTIVATE
ALTER INDEX <имя индекса> ACTIVATE

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

10.1.6 Компонент Query

10.1.6.1 Общие сведения

Мы рассмотрели основные операторы SQL. Теперь посмотрим, как этот язык
можно использовать в приложениях. Для этого существует компонент набора дан-
ных класса TQuery. Он имеет большинство свойств и методов, совпадающих с Tab-
le, и компонент Query может во многих случаях включаться в приложения вместо
Table. Дополнительные преимущества Query — возможность формировать запро-
сы на языке SQL.

Чтобы ознакомиться с Query, откройте в C++Builder новое приложение и поме-
стите на форму компоненты Query, DataSource, DBGrid. В свойстве DataSet компо-
нента DataSourcel задайте Queryl, а в свойстве DataSource компонента DBGridI
задайте DataSourcel. Таким образом, мы создали обычную цепочку: набор данных
(Queryl), источник данных (DataSourcel), компонент визуализации и управления
данными (DBGridI). А теперь займемся интересующим нас компонентом Query.

Основное свойство компонента Query — SQL, имеющее тип TString. Это спи-
сок строк, содержащих запросы SQL. В процессе проектирования приложения
обычно необходимо, как будет показано ниже, сформировать в этом свойстве неко-
торый предварительный запрос SQL, который показал бы, с какой таблицей или
таблицами будет проводиться работа. Но далее во время выполнения приложения
свойство SQL может формироваться программно методами, обычными для класса
TString: Clear — очистка, Add — добавление строки и т.д.

Настройку компонента Query в процессе проектирования можно производить
вручную, как это делается со всеми компонентами, или с помощью специального
Визуального Построителя Запросов. Начнем с ручного варианта.

10.1.6.2 Ручная настройка Query

В свойстве DataBaseName компонента Query надо задать, как это делается и
для компонентов Table, базу данных, с которой будет осуществляться связь. База