
- •1. Создание таблиц базы данных
- •1.1. Описание полей
- •1.2. Задание индексов
- •1.3. Задание ограничений на значения полей
- •1.4. Задание ссылочной целостности
- •1.5. Задание паролей
- •1.6. Задание языкового драйвера
- •1.7. Задание таблицы для выбора значений
- •1.8. Просмотр списка подчиненных таблиц
- •1.5. Изменение структуры таблицы
- •2. Создание приложения
- •2.1. Приложение с одной формой
- •2.2. Использование в приложениях модуля данных
1.2. Задание индексов
Задание индекса сводится к определению
состава полей;
параметров;
имени.
Эти элементы устанавливаются или изменяются при выполнении операций создания, изменения и удаления индекса.
Для выполнения операций, связанных с заданием индексов, необходимо выбрать пункт Secondary Indexes (Вторичные индексы) комбинированного списка, при этом под списком появляются кнопки Define (Определить) и Modify (Изменить), список индексов и кнопка Erase (Удалить). В списке индексов выводятся имена созданных индексов, на рис. 5.2 это индекс indName.
Напомним, что для таблиц Paradox индекс также называют вторичным индексом.
Создание нового индекса начинается с нажатия кнопки Define, являющейся всегда доступной. Это приводит к появлению окна Define Secondary Index (Задание вторичного индекса), в котором задаются состав полей и параметры индекса (рис. 5.5).
В списке Fields окна выводятся имена всех полей таблицы, включая и те, которые нельзя включать в состав индекса, например, графическое поле или поле комментария. В списке Indexed Fields (Индексные поля) содержатся поля, которые включаются в состав создаваемого индекса. Перемещение полей между списками выполняется выделением нужного поля (полей) и нажатием расположенных между списками кнопок с изображением горизонтальных стрелок. Имена полей, которые нельзя включать в состав индекса, выделяются в левом списке серым цветом. Поле не может быть повторно включено в состав индекса, если оно уже выбрано и находится в правом списке.
Замечание
При работе с записями индексные поля обрабатываются в порядке следования этих полей в составе индекса. Это нужно учитывать при указании порядка полей в индексе.
Рис. 5.5. Окно задания индекса
Изменить порядок следования полей в индексе можно с помощью кнопок с изображением вертикальных стрелок, имеющих общее название Change order (Изменение порядка). Для перемещения поля (полей) необходимо его (их) выделить и нажать нужную кнопку.
Переключатели, расположенные в нижней части окна задания индекса, позволяют указать следующие параметры индекса:
Unique — индекс требует для составляющих его полей уникальных значений;
Maintained — если таблица открыта, индекс автоматически не модифицируется;
Case sensitive — для полей строкового типа учитывается регистр символов;
Descending — сортировка выполняется в порядке убывания значений.
Так как для таблиц dBase нет ключей, то для них использование параметра Unique является единственной возможностью обеспечить уникальность записей на физическом уровне (уровне организации таблицы), не прибегая к программированию.
После задания состава индексных полей и нажатия кнопки ОК появляется окно Save Index As, в котором указывается имя индекса (рис. 5.6). Для удобства обращения к индексу в его имя можно включить имена полей, указав какой-нибудь префикс, например ind. Нежелательно образовывать имя индекса только из имен полей, т. к. для таблиц Paradox подобная система именования используется при автоматическом образовании имен для обозначения ссылочной целостности между таблицами. После повторного нажатия ОК сформированный индекс добавляется к таблице, и его имя появляется в списке индексов.
Рис. 5.6. Задание имени индекса
Созданный индекс можно изменить, определив новый состав полей, параметров и имени индекса. Изменение индекса не отличается от процесса его создания. После выделения индекса в списке и нажатия кнопки Modify снова открывается окно задания индекса (рис. 5.5). При нажатии кнопки ОК появляется окно сохранения индекса (рис. 5.6), содержащее имя изменяемого индекса, которое можно исправить или оставить прежним.
Для удаления индекса его нужно выделить в списке индексов и нажать кнопку Erase. В результате индекс удаляется без предупреждающих сообщений.
Кнопки Modify и Erase доступны, только если индекс выбран в списке.