
- •1.Субд FoxPro 2.0. Команды создания, открытия и закрытия бд. Рабочие области.
- •Краткая характеристика foxpro
- •2.Субд FoxPro 2.0.Коменда изменения структуры бд,дополнения и редактирования.
- •3. Команды FoxPro: If и Case.
- •4. Циклы в foxpro while, for, scan
- •5 Структура команд субд FoxPro
- •Команды вывода list и display
- •Команды перемещения по базе данных
- •Функции, связанные с указателем записи
- •Команды удаления данных
- •Команда изменения значения поля бд
- •Ускоренный поиск
- •Приблизительный поиск
- •8.Команда создания новой базы данных.
- •9 Команда sql по дополнению бд
- •Команда sql по дополнению бд
- •10 Команда sql по удалению записей (для Visual FoxPro)
- •Команда sql по удалению записей (для Visual FoxPro)
- •11 Общий вид команды формирования запроса select.
- •Указание результатов выборки и источника данных
- •Указание объекта, куда пересылается выборка:
- •Критерий отбора данных:
- •Группировка данных
- •Сортировка данных
- •12 Нормализация структуры данных.
- •Нормализация данных при реляционном подходе
- •Нормализация структуры данных
- •13 Нормализация отношений.
- •Пример нормализации отношений
- •14 Реляционные операторы.
- •Традиционные операции над множествами. Объединение (union).
- •Пересечение (intersect).
- •Вычитание (minus).
- •Произведение (times).
- •15 Специальные реляционные операторы: выборка, проекция, соединение, деление. Выборка (where)
- •Проекция [ ].
- •Соединение ( join ).
- •Деление (divideby)
- •Примеры реляционных выражений.
Команды перемещения по базе данных
GO TOP - переход к самой первой записи (ТОР - верхняя часть).
GO BOTTOM - переход к самой последней записи (ВОТТОМ - нижняя часть).
GO <ВырN> - переход к записи с номером равным значению <ВырN>.
SKIP <ВырN> - совершить переход от текущей записи вперед или назад на число записей равное <ВырN>. Если ВырN>0, то вперед, иначе назад.
При выполнении команд перехода происходит перемещение указателя текущей записи. Этот указатель по команде открытия базы данных (команде USE) устанавливается на первую запись.
Функции, связанные с указателем записи
RECNO( ) - числовая функция, равная номеру текущей записи.
RECCOUNT( ) - функция, равная числу записей в базе данных.
EOF( ) - логическая функция (end of file), равная истине, если достигнут конец файла БД, иначе ложь.
ВОF( ) - логическая функция (begin of file), равная истине при достижении начала файла, иначе ложь.
Команды удаления данных
ERASE <файл> - удаление любого не открытого в данный момент файла.
ZAP - удаление всех записей в активном файле базы данных с сохранением его структуры.
DELETE [<границы>] [WHILE <условие>] [FOR <условие>] - пометка к удалению записей в указанных границах и отвечающих заданным условиям. DELETE без параметров помечает только текущую запись.
PACK - физическое уничтожение ранее помеченных записей и сжатие файла.
RECALL [<границы>] [WHILE <условие>] [FOR <условие>] - снятие пометок к удалению.
Команда изменения значения поля бд
REPLACE [<границы>][WHILE <условие>][FOR <условие>] <поле1> WITH <Выр1> [,<поле2> WITH <Выр2>, ...]
Здесь REPLACE [ri'pleis] - заменить, WITH - соответствовать.
В записях, входящих в указанные границы и удовлетворяющие заданным условиям, значение <поле1> заменяется на Выр1 и т.д. Если отсутствуют границы и условия, то изменяется только текущая запись.
Пример. Пусть все ученики 5А класса перешли в шестой класс. Требуется подправить значение поля KLASS:
REPLACE FOR KIASS='5A' KLASS WITH '6A'
6. Фильтрация и последовательный поиск данных
Команда SET FILTER TO <условие>
делает доступными для просмотра и редактирования записи, удовлетворяющие <условию>.
Например, программа
USE SCOLA
SET FILTER TO KLASS = '7'
CHANGE
SET FILTER TO &&–отменяет фильтрацию
USE
будет выводить для редактирования записи по ученикам 7-ых классов.
Последовательный поиск
Команда LOCATE FOR <условие> <границы> WHILE условие
находит первую запись, удовлетворяющую условиям (и границам) и устанавливает на неё указатель записи. Для продолжения поиска необходимо исполнить команду CONTINUE. При успешном поиске логическая функция FOUND( ) принимает значение истина, иначе ложь.
Пример: Выведем с помощью DISPLAY без параметров информацию об учениках, чей вес > 70 кг:
USE SCOLA
LOCATE FOR WES >= 70
DO WHILE ! EOF ( )
DISPLAY
CONTINUE
ENDDO
USE
7.Индексирование БД, ускоренный поиск, приблизительный поиск.
Индексирование упорядочивает БД по индексу и позволяет производить ускоренный поиск в ней нужной информации.
Команда индексирования имеет вид
INDEX ON <выр> TO <IDX –файл> COMPACT
Здесь <выр> - индексный ключ – выражение, содержащее имена полей БД.
Примеры <выр>:
а) FAM
б) KLASS + FAM
в) WES
г) ROST
<IDX –файл> - имя индексного файла (с расширением .IDX)
Например, программа
USE SCOLA
INDEX ON klass + fam TO klassfam.idx COMPACT
LIST &&-или BROWSE
USE
индексирует БД по выражению (klass + fam), т. е. упорядочивает ее по классам, а в них по фамилиям, а затем выдает на экран в упорядоченном виде.
Если индексируемый файл уже создан и требуется работать в БД в соответствии с индексным файлом, то этот индексный файл надо открыть командой.
SET INDEX TO <имя индексного файла>
после открытия БД, либо одновременно с БД-ых командой
USE <имя файла БД> INDEX <имя индексного файла>
Например
USE SCOLA USE SCOLA INDEX klassfam.idx
SET INDEX TO klassfam. idx BROWSE
BROWSE USE
USE
Закрытие индексного файла происходит в момент закрытия БД.