Скачиваний:
45
Добавлен:
02.05.2014
Размер:
72.19 Кб
Скачать

Поиск информации в файле данных

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

USE EMPLOY

LIST NAME, DEPT FOR DEPT=“ENG”

На экране появится список сотрудников.

Поиск осуществляется сравнением содержимого поля DEPTкаждой записи и информации, определяющей условие поиска. Указывая имена интересующих полей в тексте командыLIST илиDISPLAY, можно избежать переполнения экрана лишней информацией.

Одним из способов задания информации, используемой при поиске путем сравнения, является формирование строки символов. Примером может служить “ENG”. Двойные кавычки указывают на эту строку символов. Можно также заключать строку символов в апострофы или в прямоугольные скобки. Если строка символов содержит апостроф, то для окаймления нужно пользоваться кавычками. Строка символов может содержать до 254 знаков из любых символов клавиатуры.

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

Числовые литералы содержат цифры от 0 до 9, знаки + или – , десятичную точку. Их нельзя заключать в кавычки, так как тогда они превратятся в строку символов.

Логические литералы, обозначаемые .T. и.F., имеют значения “истинно” и “ложно”. Наличие окаймляющих точек обязательно.

Команда SET EXACT OFF устанавливает приближенное равенство сравниваемых строк. Т.е.

LIST NAME, DEPT FOR DEPT=”E”

даст тот же самый результат, что и в случае

DEPT=“ENG”.

Для указания на необходимость точного совпадения сравниваемых строк используется команда

SET EXACT ON.

Знаки операций отношения

Знак равенства (=), используемый в приведенном ранее примере, является знаком операции отношения, используемой для определения эквивалентности двух данных одного типа. Результатом подобной операции отношения является логическая величина “истинно” или “ложно”. В системе реализуются шесть операций отношения:

<меньше = равно<= меньше или равно

>больше<>неравно>=больше или равно

Для получения списка служащих, годовой заработок которых не превышает 15 млн., нужно ввести команды:

USE EMPLOY

LIST NAME< ANN_SAL FOR ANN_SAL<=15000000

На экране появятся соответствующие фамилии и годовой заработок.

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

Для получения списка сотрудников, не являющихся сотрудниками отдела АСС, нужно задать команду:

LIST NAME, DEPT FOR DEPT <>’АСС’

Параметр FORи знаки операций отношения можно применять также в командахDELETE иRECALL.

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

Для этого есть несколько альтернативных возможностей:

USE EMPLOY

SET FILTER TO DEPT=’A’

GOTO TOP

LIST NAME, DEPT

Установка фильтра на содержимое поля DEPTприведет к тому, что все последующие команды будут работать только с записями, содержимое которых будет удовлетворять условию в командеSET FILTER.

То же самое можно достичь командой

LIST NAME, DEPT FOR DEPT=’A’

Для изменения этого условия достаточно подать команду SET FILTERс новым условием. Для отмены всех условий достаточно ввести командуSET FILTER TO, ничего не указывая послеTO.

Пусть нужно во всех записях изменить код отдела “PER” на“HUR” (отдел переименовали). Это делается следующим образом:

LIST NAME, DEPT FOR DEPT=’PER’

REPLACE ALL DEPT WITH ‘HUR’ FOR DEPT=’PER’

LIST NAME, DEPT FOR DEPT=’HUR’

Система откликнется сообщением, сколько записей заменено.

Соседние файлы в папке Лекции по информационным технологиям