Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Индексация_новая.doc
Скачиваний:
1
Добавлен:
17.11.2019
Размер:
192 Кб
Скачать

Лабораторная работа №6

5.1 Индексация

Индексация ТБД

Создание индексов

В ДО Table Designer выбрать вкладку Index (как показано на рис.5.1). В зоне Name рабочей области ввести имя индексного файла (например, nomp_i). В зоне Type – тип индекса (например, Primery). В зоне Expression вводится имя поля, по которому будет проиндексирована таблица (например, nomp).

Перейдите на вкладку

Зона Name

Зона Type

Зона Expression

Рис.5.1 Создание простых индексов

Аналогично создаются индексные файлы:

Stat_i (по полю stat, тип индекса Regular);

Stat_il (по полю stat, фильтр stat>10, тип индекса Regular);

Gf_i (по полям gord+famp, тип индекса Regular);

Gf_in (по полю gord, тип индекса Regular);

Gf_in1 (по полям famp+gord, тип индекса Regular)

При индексации таблиц по нескольким полям (разных типов!), нужно:

  • Войти в построитель выражений Expression Builder с помощью кнопки с тремя точками, расположенной справа от поля Expression и возникающей после набора первого символа в поле Name (как показано на рис.5.2)

Рис.5.2 Кнопка для входа в ДО Expression Builder

  • При помощи функций построителя надо преобразовать поля к одному типу. Например, поле типа “Date” можно преобразовать к типу “Character” при помощи функции dtoc(expD) (ее можно найти в раскрывающемся списке строк функции Date, как показано на рис.5.3). Тип “Character” можно также преобразовать в тип “Date” при помощи функции ctod(expC) (ее также можно найти в раскрывающемся списке строк функции Date). Тип “Numeric” можно преобразовать в тип “Character” при помощи функции Str(expN) (ее можно найти в раскрывающемся списке строк функции String). Тип “Character” также можно преобразовать в тип “Numeric” при помощи функции Val(expC) (ее можно найти в раскрывающемся списке строк функции Math). В скобках вместо exp нужно указать имя поля, которое преобразуется к другому типу (для этого надо дважды щелкнуть по имени поля в области Fields).

Рис.5.3 ДО Expression Builder

Набор команд в командном окне для создания индекса:

Alter table <имя таблицы> add <тип индекса> key <имя поля> TAG <имя тэга>

Просмотр индексов с помощью набора команд в командном окне:

  1. use <имя таблицы> order <имя индекса>

  2. list

  3. set order to <номер индекса>

  4. list

Вставка/удаление индексов интерактивным способом:

  1. Вызвать ДО Table Designer

  2. Выбрать вкладку Index

  3. Нажать клавишу Insert для вставки нового индекса в уже имеющийся список индексов, либо выбрать ненужный индекс и удалить его нажатием на клавишу Delete.

Набор команд в командном окне:

Delete TAG <имя тэга>

Пример использования индексов для ограничения целостности на уровне поля

1. Установить индекс по полю nomp.

2. Осуществить попытку ввода в файл poshk записи со значением первичного ключа в диапазоне П1 - П5. Не удается ввести

не уникальный индекс, т.к. после индексации таблицы происходит анализ на уникальность ключа.

Внимание! При копировании таблиц индексы не копируются!