Создание индексов при помощи Дизайнера таблиц
Когда мы рассматривали создание таблиц при помощи Дизайнера таблиц(Table Designer), мы уделяли максимум внимания вкладке Fields (Поля) и минимум вкладкам Indexes (Индексы) и Table (Таблица). Настало время исправить'эту несправедливость. Вкладка Indexes (Индексы) для таблицы Persons из нашего примера показана на рис. 2.20. Увидеть окно Дизайнера таблиц (TableDesigner) вновь после процесса создания таблицы можно, выполнив следующие действия:
1. Откройте таблицу.
2. Выполните последовательность команд Window > Data Session (Окно >Сессия работы с данными) или щелкните по кнопкена стандартнойпанели инструментов.
3. В появившемся окне Data Session (Сессия работы с данными) щелкнитемышью по кнопке Properties (Свойства).
4. В открывшемся окне Work Area Properties (Свойства рабочей области)щелкните по кнопке Modify (Изменить).
На этой вкладке перечисляются существующие индексы для таблицы. Стоит обратить внимание, что, если вы хотите добавлять новые индексы или менять что-либо в структуре таблицы, надо открывать таблицу в эксклюзивномрежиме. Для этого нужно:
> либо открыть таблицу, используя команду USE Persons EXCLUSIVE;
> либо в окне открытия таблицы установить флажок Open exclusive.
Кнопка Delete (Удалить) позволяет удалить выделенную запись.
Кнопка Insert (Вставить) помогает вставить пустую запись перед выделенной.
Кнопка со стрелкой слева от имени индекса позволяет задать направлениесортировки записей. Если стрелка направлена вверх, то сортировка производится по возрастанию, если вниз - по убыванию. Изменить направление сортировки можно с помощью щелчка мышью по этой кнопке.
Имя индекса можно задавать произвольное. В столбце Expression (Выражение) указывается индексное выражение, в качестве которого может выступатьполе, комбинация полей или какие-либо функции от поля. Можно ввести этовыражение вручную или воспользоваться окном, появляющимся при щелчкепо кнопке с многоточием справа от поля для ввода выражения.
Что представляет собой тип индекса (столбец Туре)? Возможны следующиеварианты:
> Regular - все записи с одинаковым значением индексного выраженияучитываются и будут отображаться в порядке их ввода;
> Unique - будет учитываться только первая из записей с одинаковым значением индексного выражения, и только она будет отображаться;
> Candidate - уникальный индекс, не содержащий полей с пустыми значениями. Этот индекс - кандидат на роль первичного ключа, то есть онудовлетворяет всем требованиям к первичным ключам, но не являетсяим, потому что первичный ключ для таблицы может быть только один;
> Primary - первичный ключ. Он может быть только один для таблицы.Предназначен для связывания таблиц между собой и проверки условийцелостности базы данных;
> Binary - двоичный индекс, основанный на логических выражениях. Непозволяет использовать фильтр для записей.
Индекс типа Primary имеет смысл только при использовании таблиц в составе базы данных. Если вывести таблицу из состава базы данных и сделать еесвободной, индекс типа Primary удаляется.
Индексы в базе данных при работе с Дизайнером базы данных (DatabaseDesigner) в окнах таблиц выделяются, как показано на рис. 2.21. Индекс типаPrimary отмечается значком с обозначением ключа (рис. 2.22).
Столбец Filter (Фильтр) аналогичен условию после ключевого слова FOR вкоманде INDEX.