Подсчет записей и данных. В FoxPro включены команды, с помощью которых можно получить количественную информацию о данных, содержащихся в файлах:
если нужно найти число записей, удовлетворяющих заданному критерию, то используют команду COUNT:
use <имя файла>
count for <логическое_выражение>
команда SUM предназначена для суммирования содержимого конкретного поля. Она может применяться в сочетании с логическими выражениями для получения суммы определенных записей файла:
use <имя файла>
sum <имя поля> for <логическое_выражение>
Вернемся к нашей базе данных Prsnll. На рис. 3.14 приведены результаты этих команд. Здесь команда размещена в командном окне, количество записей — на статусной строке, результат — в рабочей зоне. Конечно, подсчет суммы годов рождения особей женского пола не более чем шутка (хотя результат может использоваться, например, для определения среднего возраста женщин, представленных в БД). Но это и лишнее напоминание читателю, что машине все равно, что суммировать (поле — числовое) — она не думает. Думать должен программист (или хотя бы пользователь).
Рис. 3.14. Результаты команды count (о), sum (б) и aver (в)
Между прочим, вычисление среднего значения числового поля тоже предусмотрено в FoxPro (рис. 3.14, в).
Сортировка (sort) выполняется не в исходном файле, а в результирующем, который при этом создается. Сортировать можно по убыванию или по возрастанию. При сортировке записи упорядочиваются в соответствии со значениями конкретного поля, а затем копируются в этой измененной последовательности. Итак, в процессе сортировки создается новый файл со своим именем:
sort on <имя поля> то <имя нового файла>
Индексирование (index) служит той же цели, что и сортировка, т. е. упорядочению файла данных. При индексировании тоже создается новый (индексный) файл, но он не содержит всей информации отсортированного файла. Индексный файл включает только перечень номеров записей в той последовательности, какую они имели бы, если бы были отсортированы.
Индексируемый файл по ФИО
001 Иванов
002 Сидоров
003 Петров
Результат
Иванов
Петров
Сидоров
Записывая только порядок записей в индексный файл, мы экономим время и память. Индексирование позволяет для одного файла данных хранить несколько индексных файлов:
index on <имя поля (полей)> то <имя индексного файла>
Достарыңызбен бөлісу: |