Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Базы данных / lab4OBDIndexuv.doc
Скачиваний:
9
Добавлен:
07.02.2016
Размер:
91.65 Кб
Скачать

Прискорений пошук.

SEEK<вир>- прискорений пошук.

Спочатку пошук ведеться в індексі, що дозволяє швидко локалізувати номер потрібного запису. Після цього покажчик записів установлюється на шуканий запис в основної

базі даних.

USE kadr INDEX kadrtab

SEEK 234

DISPLAY tab, fam

Для індексованих баз існує модифікація функції вказівки номеру запису з аргументом нуль - RECNO(0), що у випадку невдалого пошуку повертає номер запису, який має найближче наступне значення до ключа пошуку, заданому в команді SEEK. Установка SET NEAR ON - не в кінець інд файлу, а на потрібний запис.

Аналогічний результат дає використання команди BROWSE з FOR умовою.

Приклад :

USE kadr

INDEX ON det TO kadrdet COMPACT

IF SEEK(3)

LIST fam. det WHILE det=3

ENDIF

Індексний ключ може бути складним (+). При цьому поля повинні мати один тип (або повинні бути приведеними до того самого типу )

USE kadr

INDEX ON pol+fam TO polram COMPACT

LIST pol, fam

3 ж Кулакова

5 ж Романова

6 м Миронов

4 м Попов

2 м Потапов

1 м Сидоров

7 м Яковлев

По команді SEEK знаходиться перший запис. Наступна в індексі запис знаходиться безпосередньо за нею.

COPY INDEXES <IDX.файли> TO <CDX.файл > - команда копіює всі перераховані через кому IDX.файли, які відкриті, в структурний або мультиіндексный CDX.файл. Кожен такий файл стає тегом у CDX.файлі з тим же ім'ям, що і IDX.файл. Якщо CDX.файлу немає, тоді він створюється.

COPY TAG <ім'я тега> OF <CDX.файлу> TO <IDX.файл > - команда створює IDX.файл із пойменованого тега, який знаходиться в зазначеному CDX.файлі. Файл повинний бути відкритим.

Наступна функція видає повне ім'я індексного файлу, відкритого в поточній або зазначеній робочій області:

NDX(<вырN>, <область>), де выр – номер файлу в команді відкриття. Оскільки це функція, її значення повинне бути привласнене якийсь перемінної.

Функція CDX (<вырN>, <область>) повертає ім'я відкритого CDX.файлу.

Еще раз самое главное:

COPY INDEXES <IDX.файлы> TO <CDX.файл > - команда копирует все перечисленные через запятую открытые IDX.файлы в структурный или мультииндексный CDX.файл. Каждый такой файл становится тегом в CDX.файле с тем же именем, что и IDX.файл. Если CDX.файла нет, то он создается.

COPY TAG <имя тега> OF <CDX.файла> TO <IDX.файл > - команда создает IDX.файл из поименованного тега, находящегося в указанном CDX.файле. Файл должен быть открыт.

Следующая функция выдает полное имя индексного файла, открытого в текущей или указанной рабочей области:

SET INDEX <список інд ф> ORDER TAG <ім'я тега> OF <CDX-файл> - команда открывает все индекы из мультииндексного файла и назначает главный индекс.

ІІ. Порядок виконання роботи

  1. Вивчити теоретичний матеріал.

  2. Відповісти на запитання.

  3. Виконати задачу відповідно до свого номера варіанта.

  4. Скласти звіт, в якому викласти коротко теоретичний матеріал, дати відповіді на запитання, показати розв,язок задачі.

ІІІ. Індивідуальні завдання

Для створеного в лабораторній роботі №2 файлу створити індексний файл і мультііндексний файл. Ключі вибирати відповідно логіці бази даних. Зробити послідовний і швидкий пошук. Використовувати фільтри. За допомогою головного меню додасть в індексний файл індекс, переіндексувати файл даних, відсортувати файл даних по зростанню і по убуванню.

ІV. Контрольні запитання

  1. Опишіть формат і принцип дії команди SORT.

  2. Що таке фільтрація даних і як вона виконується?

  3. Чим індексний файл відрізняється від файлу, отриманого в результаті сортування?

  4. Що таке швидкий пошук і як він виробляється?

  5. Що таке мультиіндексний файл?

  6. Що таке головний індекс?

  7. Як змінити головний індекс?

Соседние файлы в папке Базы данных