Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
БД_Теория(17 ответ).doc
Скачиваний:
12
Добавлен:
21.09.2019
Размер:
509.95 Кб
Скачать
  1. Методы создания и составные части программного файла. Назначение операторов и команд для написания программ

Транзакция и целостность базы данных. Журнал транзакци

Вопрос №12

Методы создания и составные части программного файла.

Назначение операторов и команд для написания программ.

  1. Описать структуру файла (имя полей, тип, длина).

  2. Заполнить эти поля информацией.

  3. Написать программу .

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

Fio –символьное поле длиной 20 знаков. В этом поле будут записаны фамилия и инициалы работника.

OTDEL – цифровое поле 3 знака.

DOL – символьное поле длиной 15 знаков

OKLAD – цифровое поле 5 знаков

Имя поля

Тип

Длина

Десятич.знаков

Fio

OTDEL

DOL

OKLAD

C

N

C

N

20

3

15

7

0

2

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

Чтобы эта структура стала известна СУБД, воспользуемся командой CREATE .

CREATE KADR.DBF

и введем информацию , приведенную на рисунке.

Часто бывает, что во время программирования выясняется, что некоторая информация в базу не включена, или является избыточной. В этом случае существует команда MODIFY STRUCTURE , которая позволяет модифицировать структуру активной в данный момент базы данных. Добавлять записи «Ctrl-N» , удалять «Ctrl-Y», изменять имена полей и т.д.

Для полей типа memo разрешается ввод, редактирование и просмотр. Они могут быть очень большими. Эти поля описательного типа и не используются при поиске .

Для написания маленькой программы нам понадобятся такие команды:

  1. MODIFY COMMAND POISK . Команда создания программного файла с расширением .prg)

  1. Команда USE. USE[<имя.dbf – файла>]

Указывает файл БД, который будет обрабатываться в данной рабочей области всеми последующими командами, пока не будет выдана другая команда USE

Для открытия базы данных в данной рабочей области имеется оператор SELECT.

В программе может быть открыто до 10 рабочих областей. Они могут обозначаться либо цифрами от 1 до 10, либо буквами от А до J.

Например команда SELECT 2 выбирает рабочую область 2 или В, что то же самое.

  1. CLEAR. Очищает экран, т.е. удаляет с него всю выведенную раньше информацию.

  2. LOCATE. Отыскивает нужную запись по заданному условию.

  3. FOR. Определяет условие поиска.

  4. CONTINUE. Команда продолжения поиска следующей записи, удовлетворяющей условию.

  5. DISPLAY. Выводит на экран найденную запись, на которую установлен указатель.

Запуск программы: DO POISK

* Очищаем экран CLEAR * Открываем таблицу из базы данных Use KADR

LOCATE FOR Fio=”П”.AND.OTDEL=121

* Выводим наименование

DISPLAY

CONTINUE

DISPLAY

Затем нужно сохранить файл, нажав CTRL/W.

Запуск программы: DO POISK

  1. Команда BROWSE.

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

BROWSE. Основным преимуществом этой команды является то, что она выводит одну запись из базы данных в одну строку экрана. Таким образом на экране видно сразу до 20 записей.

В команде BROWSE можно корректировать записи:

Добавить новую запись: команда GOTO 6 (установить указатель записи )

INSERT BLANK

Между 6-й и 7-й записями будет вставлена одна пустая запись. Если запись нужно ставить не после некоторой записи в базе, а перед ней, тогда

GOTO TOP

INSERT BEFORE BLANK

GOTO TOP устанавливает указатель записи в начало базы, а операнд GOTO BOTTOM в конец базы.

9. Команда DELETE [(диапазон)][WHILE(условие)][FOR(условие)]

DELETE или DELETE RECORD 5 помечается * на удаление, но не удаляется.

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

DELETE ALL FOR Kod=”17”

Отметку об удалении можно убрать оператором RECALL. Для действительного удаления отмеченных записей из базы нужна команда PACK. При этом база данных сжимается и после закрытия файла место на внешнем носителе, занятое удаленными записями, освобождается.

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

DELETE ALL

PACK

Однако в языке предусмотрена специальная команда

ZAP

выполняющая эту операцию значительно быстрее. Но случайное удаление всех записей из базы данных командой ZAP не может быть исправлено командой RECALL, как это делается для команды DELETE. Пользоваться этой командой нужно осторожно.

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

REPLACE[ <диапазон ><поле> WITH<выражение> [WHILE<условие>] [FOR<условие>]

В команде операнды <поле> и <выражение> должны иметь тот же тип. Если , например, корректируется поле NORMA , то оператор будет иметь вид:

REPLACE ALL Norma WITH 120 FOR Norma=100

Условия WHILE и FOR ограничивают диапазон действия команды в базе