
- •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)
- •Примеры реляционных выражений.
Ускоренный поиск
Команда
SEEK <выражение>
производит ускоренный поиск (по двоичному дереву) нужной записи, сравнивая <индексный ключ> = <выражение>. В результате успешного поиска указатель записи устанавливается на найденную запись.
Пример:
USE SCOLA INDEX KLASSFAM.IDX
SEEK '6А ' + 'А'
DISPLAY &&-или BROWSE
USE
выдаст на экран информацию о первом ученике на букву 'А' из 6А класса, а если такого нет (на букву 'А'), то указатель записи выскочит из БД.
Приблизительный поиск
Командой SET NEAR ON можно задать режим приблизительного поиска для команды SEEK. То есть указатель записи устанавливается на запись наиболее близкую к выражению из команды SEEK (либо на первую совпавшую запись).
Пример:
USE SCOLA INDEX klassfam. idx
SET NEAR ON
SEEK '7Б ' + 'К'
CHANGE
SET NEAR OFF &&— отмена режима приблизительного поиска
USE
8.Команда создания новой базы данных.
Имеет вид
CREATE DBF <DBF-файл> (<имя поля> <тип> [(<размер>[,<дробных разрядов>])[,<имя поля>]]) /FROM ARRAY <имя массива>
Команда создает новую базу данных в виде <DBF-файла>. Для каждого поля задается имя, тип (одной из следующих букв C, N, D, M, F, L- по первой букве типа) и если необходимо, то длина и число десятичных разрядов в дробной части.
Параметр FROM ARRAY <массив> означает, что описание полей происходит через двумерный массив, содержащий четыре столбца и такое количество строк, сколько задается полей. Пример:
CREATE DBF SCOLA (FAM C(20), KLASS C(3), DR D, WES N(5,1), ROST N(3))
Здесь создается БД SCOLA.
В стандартном SQL при создании таблицы вместо слова DBF в команде используется слово TABLE.
9 Команда sql по дополнению бд
Команда sql по дополнению бд
Имеет вид:
INSERT INTO <файл БД>[(<поле1>[,<поле2>[,...]])]
VALUES(<Выр1>[,<Выр2>[,...]])
Команда добавляет новую запись в конец существующего файла БД, используя выражения, перечисленные после слова VALUES. Если опущены имена полей, то выражения будут записываться в последовательные поля БД в соответствии со структурой.
Пример: INSERT INTO SCOLA VALUES ('Попов А.А.','7А ',{15.01.94}, 58.3, 159)
В системе FoxPro команде INSERT соответствует пара команд: APPEND BLANK и REPLACE. В стандартном SQL приведенный выше пример запишется в следующем виде:
INSERT INTO SCOLA VALUES ('Попов А.А.','7А ',01/15/94, 58.3, 159)
10 Команда sql по удалению записей (для Visual FoxPro)
Команда sql по удалению записей (для Visual FoxPro)
Имеет вид: DELETE FROM <имя БД> WHERE <условие удаления>
Пример:
DELETE FROM SCOLA WHERE KLASS LIKE '11_'-удаляет из БД все записи об учениках 11-ых классов.
11 Общий вид команды формирования запроса select.
Предварительный вид команды:
SELECT <что выводится>
FROM <откуда выводится> INTO <куда>
WHERE <каким условиям должно удовлетворять>
GROUP BY <колонки по которым выполняется группирование>
HAVING <условия группирования записей в одну строку>
ORDER BY <в каком порядке выводить данные>
Команды SQL сами открывают БД и их индексные файлы. В стандартном SQL символ точка с запятой (;) означает завершение записи любой команды SQL, а в языке FoxPro точка с запятой- символ продолжения записи команды в следующей строке. Именно поэтому при работе вне FoxPro надо не забывать любую команду SQL завершать символом ';'.
Более полный формат команды имеет вид:
SELECT
[DISTINCT] [<псевдоним>.]<выражение> [AS<колонка>]
[, [<псевдоним>.]<выражение> [AS<колонка>]...]
FROM <БД> [<псевдоним>] [, <БД> [<псевдоним>]...]
[[ INTO <получатель>]/[ TO FILE <файл>
[ADDITIVE]/TO PRINTER]]
[NOCONSOLE] [PLAIN] [NOWAIT]
[WHERE <условие связи>
[AND <условие связи>...]
[AND/OR <условие отбора>
[AND/OR <условие отбора>...]]]
[ GROUP BY <колонка>[, <колонка>...]]
[HAVING <условие отбора>]
[ ORDER BY <колонка> [ASC/DESC][, <колонка> [ASC/DESC]...]]
Этот более полный формат рассмотрим по частям: