Лабораторна робота № 8.Сортіровка і індексування БД.
Мета: навчитися впорядковувати записи в БД; знайомство з командою сортіровкі.Понятіе індексу БД.
Команда SORT (сортування) вимагає для свого виконання в три рази більше місця на диску, ніж займає БД: проміжні файли і результат сортування переписується в нову базу. на нове місце на діске.Формат команди сортування:
SORT TO ON<>[/ A] [/ C] [/ D] [, [/ A] [/ C] [/ D] ...]
[FOR] [WHILE [FIELDS]
Відсортувати файл БД по полю прізвища.
SORT TO FAMST ON FAMIL
2. Подивитися результат сортування.
3.Отсортіровать файл БД по двох полях спеціальність і місто, в порядку убування.
SORT TO SPGORST ON SPEC, GOROD / D
Подивитися результат сортування.
USE SPGORST
Індексування бази - це теж її упорядкування по заданому полю БД, яке називають ще ключем або індексом. Тільки переписування бази на нове місце не проводиться.
Cоздаётся індекс-файл. має розширення .IDX. в якому запам'ятовуються номери записів і значення ключа в тому порядку, в якому вони повинні бути після упорядкування по даному полю - ключу.
Надалі, якщо створений індексний файл відкритий. команди працюють з базою. вважаючи її впорядкованої (проіндексованої) по заданому ключу.
Формат команди INDEX:
IINDEX ON TO [UNIQUE]
Де - це ключ або конкатенація ключів, тобто символьних полів БД.
Приклад індексування БД:
1. Відкрити вихідну БД.
2.Проіндексіровать БД по полю прізвище.
INDEX ON FAMIL TO FA
3. Подивитися результат (Вивести записи бази на екран).
Приклад індексування полями різних типів:
1. проіндексованих БД по полю спеціальність і вік.
INDEX ON SPEC + STR (WOZR) TO SPWZ
.Звернути увагу при подачі команди, що
тип поляWOZR- числове.
Функції перетворення полів інших типів в символьні:
STR () -для числових; DTOC () - для поля дати.
Приклад індексування з FOR - умовою (створення усіченого індексу)
1. проіндексованих базу по полю прізвища за умови, що поле POL = "M".
INDEX ON FAMIL FOR POL = "M"
Подивитися результат такої індексації.
При використанні БД, проіндексованої з FOR-умовою ми маємо справу лише з записами бази, що задовольняють заданій умові.
Такий індекс називають неповним.
Відкрити існуючий індексний файл можна однією з команд:
Для вже відкритої БД:
SET INDEX TO
Виконати самостійно.
1.Создать для БД KOLLEK.DBF неповний індекс по двох полях: FAMIL і PLATA, включивши в нього тільки москвичів.
2.Создать індекс по двох полях: FAMIL і DATEZ (дата заїзду)Контрольні питання:
Чим незручна команда сортування SORT.
Що таке індексний файл або індекс?
Що таке - КЛЮЧ сортування або індексування?