Создание структуры файлов базы данных
Рассмотрим теперь,как создать структуру файла БД с помощью УЦ. Для этого надо выбрать позицию <Create> окна Data на панели УЦ. На экране появится таблица, состоящая из шести колонок с именами: порядковый номер поля (Num), имя поля (Field Name), тип поля (Field Type), ширина поля (Width), количество дробных десятичных знаков числа (Dec), признак индексирования поля (Index). Каждая строка этой таблицы содержит информацию об одном поле записи файла БД. Имя поля может включать до 10 буквенно-цифровых символов, но должно начинаться обязательно с буквы. Тип поля (символьный - Character, числовой с фиксированной точкой - Numeric, числовой с плавающей точкой - Float, текстовый - Memo, логический - Logical и типа даты - Date) можно выбрать клавишей ПРОБЕЛ или набрать непосредственно с клавиатуры.
После того как введено описание для всех полей файла БД, созданную структуру следует сохранить на диске. Для этого надо сначала клавишей F10 вызвать меню экрана создания/модификации структуры БД и затем выбрать позицию <Save this database file structure> (сохранить структуру файла БД) меню Layout.
Ввод новых и обновление существующих записей выполняется в одних и тех же стандартных экранных формах Browse и Edit. Предварительно надо файл БД открыть. Факт открытия файла отмечается на панели УЦ тем, что его имя перемещается выше черты под слово <Create>. Находясь на экране разработки структуры файла БД, после ее окончания можно сразу перейти к вводу данных посредством выбора позиции <Enter records from keyboard> меню Append.
Кроме того, ввод данных в стандартные экранные формы можно выполнитьизУЦ. Для этого после установки курсора на имя файла в окне Data надо нажать клавишу ENTER и затем выбрать позицию <Display data>. После этого высветится одна из стандартных экранных форм: Browse или Edit.
В форме Browse данные высвечиваются в табличном виде (строка таблицы - запись файла), при этом не все поля могут одновременно разместиться на экране.
В форме Edit поля одной записи размещаются одно под другим на одной или нескольких страницах экрана (в зависимости от количества полей). Раскрытие последующих страниц выполняется клавишей PgDn.
После того как создана структура файла БД и введена информация, обычно требуется отбирать и выводить на экран или на печать те данные, которые отвечают поставленной задаче. Для этого формируются запросы на отбор необходимых данных.
Запросы можно создавать с помощью шаблона файла (запросы по образцу) и в специальном окне, которое размещается в окне Queries панели УЦ.
Формирование шаблона вывода целесообразно выполнятьв два этапа: сначалавводить сразу все поля файла и затем удалять ненужные.
Кроме обычных полей в шаблон вывода можно помещать вычисляемые поля.
В пустую графу шаблона вычисляемых полей вводится с клавиатуры вычисляемое выражение, которое включает одно или несколько имен полей файла БД, и операторы выполнения действий с ним. В число этих операторов входят арифметические и логические операторы, а также функции dBASE.
Имеется возможность разрабатывать собственные формы ввода и вывода данных на экран. В этих формах поля файлов БД можно размещать в любом месте экрана, сопровождая их пояснительными надписями, обводить в рамки и вводить другие оформительские элементы.
Разработанные формы представляют собой программные файлы, которые можно записать на диск и затем использовать многократно для просмотра и обновления информации на экране в удобном для пользователя виде.
Разработка экранной формы начинается с выбора позиции <Create> окна Forms панели УЦ. После этого высвечивается горизонтальное меню, включающее позиции <Layout>, <Fields>, <Words>, <Goto>. Выбор этих позиций приводит к открытию различных меню, позволяющих выполнять определенный круг действий по созданию экранной формы.
Так, меню Layout предназначено для общего оформления экранной формы, реализации короткого способа ввода всех полей на экран и назначения файла БД, если он не был открыт ранее.
Добавление полей в экранную форму по одному осуществляется с помощью позиции <Add field> меню Fields.
Разработка отчетов является завершающим этапом технологии обработки информации. При выдаче отчетов могут использоваться выборки данных, полученные в результате выполнения запросов, и исходные файлы БД.
Разработка отчетов выполняется в окне Reports УЦ. Форма отчетов создается на экране. В нее можно включать следующие элементы: поля из текущего файла БД или выборки, вычисляемые поля, которые создаются специально для отчетов, текстовый материал, рамки и линии. Текст длинных символьных полей можно размещать и разворачивать в колонках заданной ширины.
В число стандартных частей отчета входят: заголовок страницы, введение (заголовок) отчета, собственно отчет (тело отчета), итоги (заключение) отчета и подножие страницы.
Описанный УЦ позволяет выполнять многие операции без знания командного языка dBASE IV с помощью режима управляемого меню, однако основной режим работы СУБД основан на использовании командного языка.
Командный язык СУБД
Операции СУБД реализованы в виде команд, которые, как правило, можно использовать независимо, вводя их с помощью клавиатуры - это, так называемый, командный режим СУБД. Из этих команд можно составлять прикладные программы, создавая таким образом системы «под ключ», ориентированные на неподготовленного пользователя. Это, так называемый, программный (пакетный) режим работы в СУБД.
В состав элементов командного языка входят команды, SET-команды, функции, переменные и массивы.
Команда записывается в виде строки слов, в которую входит глагол - основное слово, определяющее содержание операции, выполняемой командой, список выражений и ключевые слова с аргументами. Структура командной строки называется синтаксисом команды. Многие команды обработки файлов строятся по следующей форме:
<глагол> [<список выражений:»] [<границы>]
[FOR<условие>] [WHILE<\условие>]
[ТО FILE <имя файла> /TO PRINTER
/TО ARRAY <имя массива>
/ТО <переменные>
[ALL [LIKE/EXCEPT <шаблон>]] [IN <алиас>]
Квадратные скобки означают использование заключенных в них элементов синтаксиса по выбору. В угловых скобках, следующих после ключевого слова, записываются его аргументы. Косая черта, наклоненная влево (/), обозначает, что может быть записано только одно из разделенных этим знаком ключевых слов. Угловые, квадратные скобки и косая черта в записи команды для ее выполнения не указываются и служат только для пояснения синтаксиса.
<Список выражений> представляет собой комбинацию имен полей файлов БД, переменных, элементов массивов, констант, функций, системных переменных и операторов. Все данные в выражении должны быть одного типа. Если в выражении требуется использовать данные разных типов, их надо преобразовать в один тип специальными функциями. Выражения в списке могут быть различного типа.
Операторы в выражениях обозначают операции с данными и обозначаются специальными символами. В dBASE используются четыре типа операторов: математические, операторы отношений, логические и строковые.
Границы в приведенном выше синтаксисе команды указывают те записи файла БД, которые будут доступны при его обработке. В качестве ключевых слов границ могут быть: RECORD <n> - доступна только одна запись с заданным номером; NEXT <n> - доступны все записи, начиная с номера n; ALL - доступны все записи файла БД; REST - доступны записи, начиная с текущей до конца файла.
Опции FOR и WHILE определяют условия отбора записей для обработки. Эти опции имеют приоритет перед границами при определении доступа к записям. Опция FOR определяет доступ к обработке, начиная с первой записи и до конца файла БД, a WHILE - начиная с текущей записи и до тех пор, пока условие имеет логическое значение «Истина» (True или .Т.).
Опция ТО управляет выводом информации, обработанной командой. В ряде команд выходной поток можно направить в файл на диске, на принтер, в массив (или переменную).
Опция ALL LIKE позволяет отобрать или, наоборот, исключить среди имен файлов, полей файлов БД и переменных те, которые соответствуют заданному шаблону.
Особой разновидностью команд являются SET-команды, устанавливающие параметры среды, в которой выполняются обычные команды. Применяются две формы этих команд:
SET <параметр> ТО <выражение> и
SET <параметр> ON/OFF
Первая форма устанавливает значение параметра, а вторая включает (ON) или выключает (OFF) его действие, т.е. устанавливает состояние. Эти команды можно выполнять в программах, в командном режиме, можно также занести их в специальный файл с именем Config.db, определяющий параметры среды на весь сеанс работы с пакетом dBASE.
Создание файла БД осуществляется командой CREATE <имя файла>. Для модификации созданной структуры файла используется команда MODIFY STRUCTURE.
Для открытия файла БД используется команда
USE [<имя файла БД>/?] [IN <номер рабочей области>]
[INDEX <список .ndx и .mdx файлов>]
[ORDER [TAG] <имя .ndx файла>/<указатель .mdx файла>
[OF <имя .mdx файла>]]
[ALIAS<aлиac>] [EXCLUSIVE] [NOUPDATE],
которая открывает существующий файл БД и связанные с ним файлы .mdx и .ndx в текущей рабочей области.
Для создания индексных файлов типа .ndx и .mdx используется команда
INDEX ON <индексное выражение>
ТО <имя .ndx файла>/
TAG <имя указателя индекса .mdx файла>
[OF <имя .mdx файла>] [UNIQUE] [DESCENDING]
Для открытия индексных файлов используется команда
SET INDEX TO [/?<список имен файлов>
[ORDER [TAG] <нмя .ndx файла>/
<имя указателя индекса>
[OF <имя .mdx файла>]]]
Помимо широкого набора команд типичный язык СУБД типа dBASE персонального компьютера включает несколько десятков или даже сотен встроенных функций. Функции могут использоваться на месте переменных и констант в командах. После указания имени функции обязательно идут круглые скобки, даже если функция не требует никаких параметров. В табл. 6.2 приведены некоторые функции, часто используемые при разработке программ.
Таблица 6.2