DBASe-подобные реляционные языки
СУБД реляционного типа, такие, как dBASe, Paradox, FoxPro, Clipper, Rbase и др., используют языки манипулирования данными, обеспечивающие основные операции обработки реляционных баз данных, образующих класс dBASE-подобных (X-Base).
Рассмотрим данный класс языков на примере СУБД класса dBASe.
С помощью полноэкранных команд, вызываемых через главное меню (Управляющий центр, режим Assist и т.п.), осуществляются создание и редактирование схемы реляционной таблицы (файла), ввод и редактирование данных. Для реализации тех же действий на программном уровне имеются соответствующие команды языка (CREATE, MODIFY, UPDATE, DELETE и др.).
Работа с реляционной таблицей (файлом базы данных) организуется в отдельной рабочем области, которой присваивается имя (алиасное имя или номер). После активизации файла к нему можно перейти, указав номер рабочей области. СУБД запоминает указатель на последней обрабатываемой записи (при первоначальном открытии файла текущий номер записи – 1). Позиционирование в файле на запись выполняется:
непосредственно, указанием номера записи (начало или конец файла, определенный номер записи);
при поиске записи по заданному логическому условию.
Язык обеспечивает выполнение всех рассмотренных типовых операций над отдельным файлом, а именно:
APPEND BLANK, BROWSE, CHANGE, EDIT, INSERT - добавление, редактирование записей (в режиме полноэкранного ввода);
DELETE – удаление записей (в программном режиме);
SEEK, FIND, LOCATE – поиск записи по условию;
COPY – копирование всех или части записей активного файла в новый файл;
CONTINUE - продолжение поиска записи по ранее сформулированному условию и т.п.
Границы области действия команды принимают значения:
RECORD n – определенная запись с номером n;
ALL – все записи файла;
NEXT n – следующие n записей, начиная с текущей;
REST – все записи, начиная с текущей и до конца файла.
Условия выполнения команд задаются с помощью формата ключевых слов FOR и WHILE.
Условие1действует в качестве фильтра (ВЫБОРКА) записей исходного файла: если записи соответствуют условию, они участвуют в операции. Условие формулируется применительно к полям записи, например:
Условие2позволяет прекратить операцию в случае его нарушения, например: WHILE [Дата рождения] < 1.1.80
Многие команды включают список полей, указываемых за ключевым словом FIELDS, на которые распространяется действие операции.