Методические указания к лабораторным работам для студентов специальности 210100 "Автоматика и информатика в технических системах"

Вид материалаМетодические указания
Лабораторная работа № 4 ИЗУЧЕНИЕ ВОЗМОЖНОСТЕЙ КОМАНДЫ BROWSE
1.Общие сведения
2. Задание на работу
Подобный материал:
1   2   3   4   5   6   7   8

Лабораторная работа № 4

ИЗУЧЕНИЕ ВОЗМОЖНОСТЕЙ КОМАНДЫ BROWSE


Цель работы: изучить полный формат команды BROWSE языка манипулирования данными СУБД реляционного типа FoxPro и приобрести навыки по использованию этой команды для ввода, просмотра, редактирования и удаления данных в одном заданном отношении.

1.ОБЩИЕ СВЕДЕНИЯ


Команда BROWSE является мощным универсальным средством для ввода, редактирования и просмотра баз данных в стандартном окне команды или в окне, определенном пользователем. По существу это не просто команда – это целая среда доступа и управления данными.

Записи из базы (по умолчанию) предъявляются горизонтально или внутри предварительно описанного окна. Записи можно редактировать, дополнять и помечать к удалению. Формат отображения полей в BROWSE-окне может настраиваться пользователем.

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

Команда позволяет работать с несколькими базами данных, связанными по ключам. При поддержке SET SKIP предоставляется возможность устанавливать связь типа "одна ко многим" между несколькими базами данных.

В этом разделе обращается внимание на некоторые возможности команды в FoxPro версии 2.0 и выше. Ниже приводятся формат команды, описание ее ключевых слов и параметров.

BROWSE
[FIELDS<список полей>] [FOR <условие>]
[FORMAT] [FREEZE<поле>]
[KEY <выр.1>[,<выр.2>]] [LAST]
[LEDIT/REDIT] [LOCK<выр.N1>]
[LPARTITION] [NOAPPEND]
[NOCLEAR] [NODELETE]
[NOEDIT/NOMODIFY] [NOLGRID/NORGRID]
[NOLINK] [NOMENU]
[NOOPTIMIZE] [NORMAL]
[NOWAIT] [PARTITION <выр.N2>]
[REST] [PREFERENCE <выр.C1>]
[TIMEOUT<выр.N3>] [TITLE<выр.C2>]
[NOOPTIMIZE] [WHEN <условие3>]
[WINDOW <окно>]
[VALID [F:]<условие2>[ERROR <выр.C3>]]
[COLOR SCHEME <выр.N5>/COLOR<список цвет. пар>]

FIELDS <список полей>.

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

Формат списка полей:

поле1 [:R] [:ширина колонки]
[:V=выр.L1 [:F] [:E=выр.C1]]
[:P=выр.C2]
[:B=выр.1,выр.2[:F]]
[:H=выр.C3]
[:W=выр.L2]

[,поле2[:R]...]

[Вычисляемые поля]

Формат команды создания вычисляемого поля:
<имя вычисляемого поля>=<выр.>.

Множество опций фразы FIELDS предоставляет большие возможности для специальной обработки полей BROWSE.

Этим опциям должны предшествовать символы ":" или "/".

Опция Обработка

R Поле доступно только для чтения;

<ширина колонки> Размер поля для высветки в окне;

V Контроль данных после ввода(не используется для текстовых полей);

F Определяет необходимость контроля данных, даже если поле не подвергалось изменению(не используется для текстовых полей);

E Сообщение об ошибках, определяемое пользователем;

P PICTURE для поля;

B Диапазон чисел для ввода;

H Заголовок поля в окне команды;

W Разрешение/запрет корректировки или ввода данных (не используется для текстовых полей).Если опция возвращает значение "ложь", то курсор не устанавливается в данном поле.

В опциях :V и :W допускается использование функций, определенных пользователем.

KEY<выр1>[<выр.2>]

Ограничивает диапазон записей в окне команды по заданному индексному ключу. Скорость поиска записей практически не зависит от размеров баз данных.

FOR<условие1>

Отфильтровывает записи по заданному условию. При больших объемах баз данных рекомендуем использовать фразу KEY при условии наличия индекса по ключу условия.

REST

Используется совместно с фразой FOR команды BROWSE для предотвращения установки указателя записи в начало файла базы данных.

WHEN <условие3>

Данная фраза позволяет или запрещает корректировку записи. При ее наличии осуществляется проверка заданного условия перед установкой указателя на запись. Если опция WHEN возвращает 0, то выбранная запись становится доступной только для чтения. Условие3 может являться определяемой пользователем функцией.

VALID [F:] <условие2> [ERROR<выр.C3>]

Фраза определяет возможность перехода от текущей записи к другой записи. Если фраза VALID возвращает значение логической истины (.T.), можно осуществлять переход на другую запись.

Если опция VALID возвращает логическую ложь, то курсор остается в текущем поле текущей записи и появляется системное сообщение "Неверный ввод"("Invalid input"). Используя опцию ERROR вырC3, можно вывести собственное сообщение об ошибке, символьное выражение вырC3 отображается в системном окне. Если опция VALID возвращает "0", то курсор остается в текущем поле текущей записи, но сообщения об ошибке не выдается.Условие2 может являться определяемой пользователем функцией.

Если после ключевого слова VALID поставить: F, то фраза выполняется, даже если запись не подвергалась изменению.

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

LOCK <выр.N1>

BROWSE-окно делится на две части, где первые <вырN1> полей всей базы или из списка FIELDS дублируются в левой части окна. Перебрасывается курсор в другую половину окна нажатием клавиш< Ctrl-h>.

PARTITION<вырN2>

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

LEDIT/REDIT

При выводе окна BROWSE левая или правая части выводятся в режиме редактирования.

LPARTITION

Помещает курсор в левой половине разделенного окна (по умолчанию в правой половине).

NOLINK

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

FORMAT

Предполагает использование форматного файла, который описывает форму предъявления данных (форматные файлы будут рассмотрены в одной из лабораторных работ ниже).

NOCLEAR

После выхода из BROWSE-окна оно не удаляется и остается на экране, хотя и не является активным. Затем оно может быть стерто командой CLEAR.

NOAPPEND

Дополнение базы с помощью клавиш невозможно.

NOEDIT/NOMODIFY

Редактирование невозможно. Разрешены пометка к удалению и дополнение базы данных.

NODELETE

Пометка к удалению записей базы данных с помощью клавиш невозможна.

FREEZE <поле>

Указывает единственное <поле>, значение которого разрешается редактировать. Остальные поля только отображаются.

LAST

Конфигурация BROWSE-окна сохраняется в специальном так называемом ресурсном файле FOXUSER.DBF (если установлено SET RESOURSE ON) по завершению команды для использования в следующем сеансе. Если выход был сделан по , то конфигурация не сохраняется.

PREFERENCE <вырС1>

Работает аналогично опции LAST, но дает возможность сохранить под определенным именем <вырС1> параметры BROWSE-окна в файле FOXUSER.DBF для последующего использования.

NOLGRID/NORGRID

Удаляет вертикальные линии-разделители полей в левой/правой части разделенного окна. По умолчанию разделители есть. Если окно не разделено, вертикальные линии удаляются опцией NORGID.

NOMENU

Подавляет вызов системного BROWSE-меню. Такое меню может быть вызвано нажатием клавиши . Подавление системного меню одновременно исключает возможность пометки записи к удалению (по ) и дополнение базы данных (по ) и используется в случае, если все клавиши должны быть обработаны программно.

TIMEOUT <выр.N3>

Указывает время в секундах, в течение которого система ожидает ввода данных. Если ввод не произошел, BROWSE-окно закрывается.

TITLE <выр.С2>

Задает заголовок (выр.С2) BROWSE-окна.

WINDOW <окно>

Позволяет открыть BROWSE-окно внутри другого <окна>, которое предварительно определено командой DEFINE WINDOW. Окно может быть и неактивным в данный момент.

NOWAIT

Открытие BROWSE-окна не прерывает выполнения программы. Оно продолжается с команды, следующей за командой BROWSE.

Опция COLOR имеет аналогичные функции, которые она выполняет в команде @...SAY.

2. ЗАДАНИЕ НА РАБОТУ


2.1. Используя учебные пособия [4–15], материал первого раздела данной лабораторной работы, системную документацию по СУБД или информационную подсистему по языкам СУБД в автоматизированной справочной системе NG, изучить формат и функциональные возможности команды BROWSE.

2.2. Разработать командный файл, обеспечивающий следующие функции:

–возможность только просмотра данных в одном из отношений, полученных в лабораторной работе № 3;

–возможность только ввода данных в том же отношении;

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

–возможность только редактирования только одного ключевого поля в данной базе;

–возможность только удаления записей в данном отношении;

–возможность несинхронного просмотра данных в разделенном BROWSE-окне.

2.3. Полученный файл включить в командный файл, из лабораторной работы 2 (включить в двухуровневую систему меню).

2.4.Оформить отчет.