Реферат: Методические рекомендации и задания для лабораторных работ по дисциплине «Вычислительные системы»
GO TOP -перемещение указателя на первую запись
GO BOTTOM - на последнюю
5 Enter - на пятую запись
Если после этой команды дать команду Display - будет показана пятая запись
SKIP +2 - перемещение указателя на две записи вперед
SKIP -2 - на две записи назад
DISPLAY ALL -выдача всех записей поэкранно
GO 4 Enter DISPLAY REST -выдача записей, начиная с четвертой (текущей)
Выполнение команды LIST может быть инициировано клавишей F3,а команды DISPLAY клавишей F8.
LIST AVT просмотр всех фамилий в поле авторов
LIST AVT,NAZV просмотр фамилий авторов и названий книг
LIST RECORD 2 просмотр второй записи
Чтобы командное окно не мешало просмотру его можно передвинуть нажав клавиши CTRL+F7 и изменить его размеры клавишами CTRL+F8 (можно использовать мышь)
LIST FOR GOD<1992 выводятся все поля для записей, удовлетворяющих условию
LIST NAZV FOR GOD<1992 выводится только поле названий для книг, изданных до 1992 года
Условия могут быть сложными, использующими логические отношения NOT,AND,OR в этой же приоритетности они и исполняются, если используются одновременно в одной команде.
LIST FOR (STEL=112).AND.(VOZVR<D)
выдаются книги, расположенные на стеллаже 112 с просроченным возвратом. Здесь использованы числовое поле стеллажа и поле даты.
При использовании логических операций с полями даты необходимо предварительно определить переменную типа даты следующим образом
D=CTOD('03.11.96') и затем уже работать с этой переменной.
LIST AVT FOR (GOD>1990).OR.(NAL=’ЕСТЬ’)
Здесь использовано символьное поле, оно заключается в кавычки.
Логические условия заключаются в точки.
Символьная запись в кавычках должна быть задана точно теми же символами, которыми эта запись задана в базе. (ПК сравнивает коды символов, поэтому русские и латинские буквы одного написания для ПК разные символы, аналогично различаются строчные и прописные буквы.
LIST FOR POLZOV='Орлов' выдаются книги, выданные Орлову.
LIST AVT,NAZV FOR NAL='ЕСТЬ' выводятся поля авторов и названий для книг, имеющихся в наличии.
Последовательный поиск записи по условию осуществляется командой LOCATE.
LOCATE FOR STEL=114 выдается номер одной первой найденной записи. Просмотр найденной записи осуществляется командой DISPLAY. Следует обратить внимание, что действие команды начинается с перемещения указателя записи на первую запись и в процессе поиска указатель записи перемещается по базе данных. После нахождения заданной записи указатель оказывается на этой записи. Таким образом, команда работает с указателем записи самостоятельно и, задавая после нее другую какую-нибудь команду, нужно это учитывать. В частности, задавая для продолжения поиска команду CONTINUE, нужно понимать, что поиск продолжается с сохранением заданных условий от той записи, на которой остановился поиск. Если заданные условия не найдены, то указатель записи оказывается в конце базы и команда DISPLAY информации не дает.
Если в процессе поиска необходимо сменить условия, то, чтобы не начинать поиск с начала базы, если это не нужно, а база большая, следует использовать команду LOCATE REST FOR STEL=115 - поиск будет продолжен от текущей записи с новыми условиями. Поиск может осуществляться и по сочетанию нескольких условий:
LOCATE FOR STEL=114 .AND. NAL=’ЕСТЬ’, опять выдается только номер первой записи, удоалетворяющей этому условию.
Если мы не располагаем точной информацией о поисковом признаке, т.е. не уверены абсолютно точно как записаны данные, то можно организовать приближенный поиск:
LIST AVT FOR LIKE ('Ka*',AVT) - будут выданы все фамилии авторов, начинающиеся на Ка. При этом, конечно, будет выдана и лишняя информация, но зато и нужная, которую при точном поиске обнаружить бы не удалось. В опции LIKE символы * и ? могут употребляться в любых сочетаниях. Может использоваться также команда типа BROWSE FIELD AVT FOR LIKE (‘Ka*’,AVT)
Корректировка данных.
Для изменения, дополнения или удаления записей используется режим APPEND. После этой команды система переходит в режим редактирования записей, при этом автоматически в конец базы добавляется пустая запись, на которую и устанавливается указатель записей. В эту пустую запись можно вводить новую дополнительную информацию. Для перехода к предыдущим записям - PgUp. Перейдя к нужной записи можно ее отредактировать обычным образом. Для удаления записи ее нужно предварительно пометить. Пометка к удалению - команда CTRL+T. У помеченной записи слева появляются метки в виде точек, однако запись при этом не удаляется. Восстановление помеченной к удалению записи (отмена удаления) осуществляется повторной командой CTRL+T.
Удаление отмеченных записей производится командой PACK после выхода из режима редактирования. Выход из режима APPEND командой CTRL+END. Пометить запись для удаления можно и не входя в режим APPEND командой DELETE RECORD 3 - третья запись оказывается помеченной или просто DELETE, помечена текущая запись.
Завершение удаления командой PACK.
Снятие пометок к удалению - команда RECALL, без параметров действует только на текущую запись.
Пример. RECALL ALL -снятие всех пометок.
USE BD1
GO 5 переход к пятой записи
SKIP-3 возврат ко второй записи
DELETE NEXT 3 пометка к удалению 2,3,4 записей
RECALL RECORD 4 снятие пометки с записи 4
PACK удаление записей с возвратом указателя записей на первую запись.
В больших базах команда PACK работает медленно, поэтому используется редко. Чтобы помеченные записи не мешались, их делают невидимыми командой SET DELETED ON, в этом случае запись будет появляться только при прямом обращении к ней (GO 20) -тогда эта помеченная запись проявится.
Задав последовательность команд
USE BD1
APPEND FROM BDD1
мы к открытой базе BD1 добавим содержимое другой базы BDD1, конечно при этом все базы должны существовать и поля у них должны быть одинаковыми.
Не в режиме редактирования, а в командном, можно вставить новую запись между уже имеющимися. Для этого указатель записи устанавливается на нужную запись и она становится текущей. Для вставки после текущей записи используется команда INSERT BLANK,
для вставки перед текущей записью - команда INSERT BEFORE BLANK.
Изменение записей командой REPLACE
Командой REPLACE осуществляется модификация записей в базе, т.е. замена одного понятия другим, а не дописывание или изменение отдельных символов, как это делается в режиме APPEND.
Команда без параметров действует только на текущую запись.
Пример. 3 ENTER REPLACE NAL WITH 'ЕСТЬ' - установлена третья запись, и в поле наличие сделана запись о том, что книга возвращена.
REPLACE ALL GOD WITH 1880 - все записи в поле GOD заменяются на 1880.
REPLACE STEL WITH 222 FOR STEL=112 - все книги со стеллажа 112 переставлены на стеллаж 222. Изменяются все записи, для которых номер стеллажа 112.
Практически только командой REPLACE в FoxPro можно изменять значения полей файла БД. В этом смысле она эквивалентна знаку равенства в операции присваивания для переменных в алгоритмических языках.
Буквально фраза <поле> with <выражение> соответствует оператору присвоения <поле>=<выражение>.
Пример использования команды.
Бригаде дана премия 20% от выработки каждого, у кого выработка более 100р, а бригадиру еще 500р. Нужно изменить поле выработки (VIR), т.е. начислить премию к зарплате.
У бригадира табельный номер 98.
USE BRIGADA
REPLACE VIR WITH VIR*1.2 FOR VIR>100
REPLACE VIR WITH VIR+500 FOR TAB=98
Можно ввести специальное понятие вычисляемого поля по аналогии с тем, как это делается в электронных таблицах.
Пусть есть в базе поля COST(цена) и QUANT(количество), в этих полях есть записи. Есть пустое поле COST_PART(цена партии).
Заполнить это пустое вычисляемое поле можно так
REPLACE ALL COST_PART WITH COST*QUANT
BROWSE ОКНО
Является мощным средством редактирования, просмотра и управления данными. В режиме Browse записи можно редактировать, дополнять и помечать к удалению. Допускается создавать т.н. вычисляемые поля. Эти поля фактически не являются полями базы данных, но могут быть их функциями и отображаются на экране наравне с настоящими полями.
Такой режим соответствует работе с электронными таблицами.
Вычисляемые поля не могут редактироваться и запоминаться в БД.
Для введения вычисляемого поля при вызове режима BROWSE, указывается какую информацию заносить в это поле. Эта информация будет индицироваться в режиме BROWSE, но после выхода из режима она исчезает и если затем просмотреть записи БД, то вычисляемое поле окажется пустым.
Пример: Пусть в базе есть поля COST - стоимость единицы товара и MINIM - минимальная партия поставки. Сформируем вычисляемое поле Стоимость минимальной партии - MIN_COST.
Входим в режим BROWSE: