Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
FoxPro.doc
Скачиваний:
3
Добавлен:
19.09.2019
Размер:
1.99 Mб
Скачать

Лабораторная работа 2

РАБОТА С ФАЙЛАМИ СУБД. СОРТИРОВКА И ИНДЕКСИРОВАНИЕ

Целью работы является изучение способов и приобретение практических навыков работы с файлами данных. Рассматриваются основные операции языка СУБД FOXPRO по манипулированию файлами, сортировке и индексированию записей таблиц.

1. Основные положения

1.1. Файлы субд

Файлы СУБД FOXPRO являются стандартными файлами операционной системы MS DOS или Windows.

Имена файлов MS DOS имеют длину до 8 символов, Windows- до 128. Разновидности файлов: файлы данных .DBF , файлы временных переменных .MEM , командные файлы .PRG , файлы отчетов .FRХ , текстовые файлы .TХT , форматные .FMT , индексные .IDX и .CDX, примечаний (memo-поле) .FPT , страховая копя примечаний .TBK , страховые копии .BAK , сгенерированная программа запроса .QPR , откомпилированная программа запроса .QPX, сгенерированная программа меню .MPR, сгенерированная программа меню .MPX и другие.

Основные операции над файлами

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

В данной лабораторной работе рассматриваются некоторые из перечисленных пераций.

Для копирования открытого таблицы используется команда COPY TO.

Синтаксис этой и других команд языка СУБД FOXPRO приведен в Help СУБД.

Структура таблицы может быть скопирована с помощью команды COPY STRUCTURE.

Команда COPY FILE позволяет копировать закрытые файлы любого типа. Имена файлов в этом случае следует указывать с расширением.

Для удаления файлов можно использовать команды DELITE FILE или ERASE. Имя файла должно быть задано с расширением и файл не должен быть открытым.

Переименование файлов проводится с помощью команды RENAME. Имена файлов указываются с расширением.

Информация о файлах, находящихся на диске, может быть получена с помощью команд DIR, DISPLAY/LIST FILES.

Для изменения структуры таблиц БД используется команда MODIFY STRUCTURE. Эта команда позволяет добавлять/удалять поля записей, изменять имена, типы и длины полей.

Следует учитывать, что СУБД обеспечивает изменение типа числового поля в символьное.

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

При использовании команды MODIFY STRUCTURE СУБД создает копии таблицы и примечаний с расширением .DBT и .TBK соответственно.

  1. Сортировка и индексирование записей таблиц

Для упорядочения записей таблицы используется сортировка или индексирование. Команда сортировки SORT TO создает новую таблицу файла базы данных, в котором записи основного таблицы отсортированы в алфавитном, хронологическом или числовом порядке по заданным ключевым полям.

Индексирование таблицы проводится с помощью команды INDEX ON.

Различают простые индексы и мультииндексы.

Выражение ключа индекса может представлять собой одно поле или любое, допустимое в СУБД, выражение, не включающее логические поля, поля примечаний и общие поля.

Если выражение ключа индекса включает несколько полей, требуется приведение значений полей к одному типу.

При создании выражения ключа индекса наиболее часто используются функции STR(), CTOD(), DTOC(), YEAR(), MONTH(), DAY() и VAL().

При выполнении операции индексирования, физического переупорядочивания записей таблицы не происходит. Индексированный файл (индекс) должен использоваться совместно с файлом базы данных для обработки записей в заданном порядке.

Индекс поддерживает заданный порядок записей таблицы до тех пор, пока индекс открыт.

Открыть ранее созданные индексы можно командой SET INDEX TO [<список индексов>].

Первый (главный) индекс в списке определяет порядок обработки записей (если неиспользуется команда SET ORDER TO).

Главный индекс также задает выражение ключа индекса, по которому можно указать значение для поиска с помощью команд FIND и SEEK. С помощью команды SET ORDER можно присвоить функции главного индекса любому другому из открытых индексов. В команде SET ORDER нужно указать целое число , определяющее соответствующий открытый индекс в списке файлов текущей рабочей области.

Командой SET INDEX TO закрываются все открытые индексы в текущей рабочей области. В этих же целях можно использовать команду CLOSE INDEX.

При обновлении таблицы выполняется автоматическое внесение изменений во все индексы этой таблицы (команда REINDEX).

При работе с индексированной таблицей команда INSERT эквивалентна команде APPEND.

Открыть одновременно таблицу и индексы в рабочей области можно командой: USE [<имя файла>] [SET INDEX <список индексов>] . . .

Команда USE без параметров закрывает активную таблицу и связанные с ней индексы в текущей рабочей области.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]