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

Лабораторна робота №4 (4г)

Тема роботи: Індексування файлів.

Мета роботи: одержати навички створення індексних файлів.

Теоретичні відомості

Одна з основних переваг використання комп'ютера для збереження інформації полягає в тому, що з його допомогою всі записи ( у відмінності від записів на папері) можна швидко і точно розташовувати у визначеному порядку. Це дозволяє легко узагальнювати й аналізувати інформацію. Навіть при невеликому обсязі діловодства комп'ютеризація дає відчутні результати.

У FOXPRO можна застосовувати два способи упорядкування файлів: сортування й індексування.

Сортування файлів.

При сортуванні файлу записи упорядковуються у відповідності зі значеннями якого-небудь конкретного поля, а потім копіюються в цій зміненій послідовності. Така обробка даних може зажадати значного часу. У процесі сортування створюється абсолютно новий файл.

Команда сортування в загальної формі:

  1. Sort on ім'я_полю to ім'я_нового_файлу

Як ключ може бути використане будь-яке поле. Після завершення сортування видається повідомлення про кількість оброблених записів і завершення сортування.

Наприклад, для БД «Витрати»

DATA

WHOM

WHAT

SUMMA

1

15.09.99

Меблевий магазин

письмовий стіл

220.57

2

25.09.99

Електрокомпанії

Включення електроен.

45.87

3

27.09.99

Телекомсервіс

Встановлення телефону

870.67

4

29.09.99

Друкарні

Бланки

156.89

можна зробити сортування по полю WHAT:

SORT ON WHAT TO SORTRASH

У цьому випадку після завантаження файлу SORTRASH операція LIST видасть наступну таблицю

БД «SORTRASH»

DATA

WHOM

WHAT

SUMMA

1

29.09.99

Друкарні

Бланки

156.89

2

25.09.99

Електрокомпанії

Включення електроен.

45.87

3

27.09.99

Телекомсервіс

Встановлення телефону

870.67

870.67

4

15.09.99

Меблевий магазин

письмовий стіл

220.57

Можна відсортований файл видалити командою

  1. DELETE FILE SORTRASH

або командою

  1. ERASE SORTRASH

Сортування можливе не тільки по зростанню, але і по убуванню - додати у команду параметр DISCENDING:

SORT ON WHAT TO SORTRASH1 DISCENDING

Просте додавання записів у відсортований файл порушує порядок сортування записів. Для оптимізації роботи варто використовувати не сортування, а індексування.

Фільтрація даних.

FOXPRO дозволяє накладати фільтри на дані. Після накладення фільтра доступними стають тільки зазначені в умові команди дані.

SET FILTER TO [<умова>] дозволяє установити умови для усіх без винятку команд обробки даних.

Зняти обмеження можна командою

SET FILTER TO

(без параметрів)

Установлення фільтра починає діяти після команди SET , якщо зроблено хоч яке-небудь переміщення покажчика записів у файлі бази даних.

Приклад:

use kadr

set filter to fio= ’ІВ’

go top

list

Після виконання перерахованих команд доступними стають ті записи, у яких прізвище починається з Ів.

Цей блок команд аналогічний такому:

use kadr

list for fio=’Ів’

Послідовний пошук

При роботі з базою даних основною операцією є пошук запису, який має деяке значення. У СУКБД FOXPRO є команда, яка виконує послідовний перегляд файлу до необхідного запису. Після перебування такого запису робота команди припиняється і видається повідомлення про номер знайденого запису. Якщо такий запис не один, для подальшого пошуку використовують команду CONTINUE.

  1. LOCATE FOR<умова>[<границі>][WHILE<умова>]

Наприклад:

USE Kadr

LOCATE FOR pol='ж'

CONTINUE

Корисно також використовувати стандартну функцію LOOKUP:

  1. LOOKUP (<поле1>,<вир>,<поле2>)- шукає перше входження шуканого вираження в зазначеному полі 2 активної бази даних і повертає значення полю 1 з тієї ж бази

Наприклад:

USE Kadr

? LOOKUP (tab, ‘П', fam ), fam, RECNO()

98 ПОТАПОВ Д.П. 2

де <поле1>= tab =98, <вир>= П,<поле2>= fam= ПОТАПОВ Д.П., RECNO()=2

Послідовний пошук неефективний, тому краще використовувати швидкий пошук, в основі якого лежить двійковий пошук.

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