Каррабис Дж.-Д. 21 Программирование в dBASE III Plus: Пер. с англ./ Предисл. А. А. Александрова. — М.: Финансы и статистика, 1991. — 240 с: ил. ISBN 5-279-00445-6. Пособие для профессионального освоения продвинутых методов программирования в среде dBASE III Plus — наиболее распространенной СУБД для ПК- Использована концепция модельного программирования Дейкстры. Описаны применение новых типов файлов, ряд команд «для профессионалов». Даны полезные советы по разработке и сопровождению программных систем для заказчика.
Для профессиональных пользователей и разработчиков персональных баз данных.
Предисловие к русскому изданию
- ¦ ¦ • " dBASE III Plus — популярная система управления базами данных, для 16-разрядных ПЭВМ, разработанная фирмой Ashton-Tate в 1985— 1986 гг. и ставшая сегодня уже неофициальным стандартом для программных средств такого класса. Выпуск книги Дж. Каррабиса издательством «Финансы и статистика» представляется тем более отрадным событием, что до последнего времени литературой по этой распространенной персональной СУБД советский читатель не был избалован. К тому же именно работа Каррабиса запол-| няет нишу, не занятую еще ни одной i из выпущенных по dBASE книг1, по-1 скольку посвящена проблемам использования «профессиональных» возможностей системы с помощью специально написанных программ. Автор более 15 лет занимается проектированием информационных систем и в свое время подготовил учебные курсы по системам Wordstar, Lotus 1-2-3 и dBASE III. Настоящая книга предназначена в первую очередь для профессиональных программистов, самостоятельно изучающих систему dBASE III PLus с точки зрения прикладного программирования и проектирования баз данных. Материал книги разделен на три части. В первой части речь идет об основных приемах профессионального программирования с учетом особенностей реализации dBASE III Plus. Автор привлекает здесь внимание читателя к малоизвестным и потому малоиспользуемым средствам. Во второй части освещаются специальные вопросы, связанные с разработкой систем «под ключ»: методы контроля данных, эксплуатация комплекса программ в условиях
локальной сети, взаимодействие с другими пакетами прикладных программ и обеспечение безопасности баз данных. В третьей части приводятся примеры типовых программ dBASE III Plus и рассматриваются программные средства окружения системы, расширяющие ее возможности.
За время существования системы dBASE III PLus на рынке было представлено (независимыми разработчиками) множество специализированных программ, дополняющих систему и облегчающих решение специфических задач обработки информации. Фирма же Ashton-Tate наряду с пакетами сервисных программ разработала новую версию системы — dBASE IV, которая поставляется в двух вариантах: стандартном и расширенном, и включает многие из функций, реализуемых программами независимых разработчиков. Успешно конкурируют с системой dBASE еще две программы-близнецы — FOXBASE и dBXL.
Сейчас различают следующие основные классы программ окружения dBASE III PLus.
Компиляторы. Основное назначение компилятора — обеспечить более высокую по сравнению с интерпретатором dBASE III Plus скорость выполнения программ и возможность создания так называемых «отчуждаемых» приложений, для работы которых не обязательно наличие самой системы dBASE. Часто компиляторы поддерживают некоторое расширение базового языка, предоставляющее дополнительные средства для структурирования баз данных, использования окон и массивов, построения меню и т. д. Из наиболее известных компиляторов языков, подобных языку dBASE, следует назвать Clipper, Quick Silver и dBFAST.
Среди указанных продуктов на рынке, безусловно, лидирует Clipper, фирма-разработчик которого объявила о поставке в 1990 г. его новой версии — Clipper 5.O. Программа официально распространяется в СССР московским филиалом фирмы Nantucket. Нельзя не упомянуть и о программах dBX и dBC: первая представляет собой транслятор с языка dBASE на язык Си, вторая — библиотеку модулей, написанных на этом языке и реализующих функции команд языка dBASE III Plus. Благодаря наличию указанных средств профессиональный разработчик может получать исходный текст программы обработки баз данных dBASE на стандартном языке Си, вносить в него любые изменения, а затем компилировать с помощью обычного компилятора языка Си.
Генераторы программ. Назначение средств этой категории — автоматизация труда программиста. Исходный текст программы генерируется по типовой модели, ориентированной на решение задач обработки информации определенного класса (ведение иерархических файлов, запросы к базам данных и т. п.). В режиме управляемого программой диалога разработчик составляет описание структур данных, форматов экранов для ввода и корректировки информации и выходных документов. Далее по соответствующей модели генерируется исходный текст законченной программы, насчитывающий сотни и тысячи команд, который структурно оформлен и снабжен исчерпывающими комментариями. Среди наиболее известных программ такого класса можно выделить программы GENIFER, UI Programmer и компоненты dBVIEW и dBCODE системы FOXBASE. Отличительной особенностью dBCODE и UI Programmer является наличие инструментального языка конструирования моделей программ.
Генераторы выходных документов (отчетов) по базам данных. Здесь необходимо отметить популярную систему Relational Report Writer, разработанную фирмой Concentric Data Systems (ее ранняя версия рассматривается в гл. 12 настоящей книги). Современная версия программы Relational Report Writer обеспечивает как описание и форми-
рование выходных документов в режиме диалога с пользователем, так и получение исходного текста программы на языке dBASE III Plus. Основные элементы описания выходного документа: структура обрабатываемой информации, критерии селекции записей, порядок сортировки данных, итоги и вычисляемые по формулам данные, формат результирующего документа, который может выводиться на печать или записываться в файл на диске. Описание преобразуется в упакованную форму и сохраняется в библиотеке форматов выходных документов, откуда может быть извлечено либо по указанию пользователя, либо внешней прикладной программой. К достоинствам генератора следует отнести и самые разнообразные варианты оформления документов: многоуровневые заголовки и итоги, включающие неограниченное число строк, использование различных шрифтов и поддержка печатающих устройств разных фирм, включая лазерные.
Средства документирования программ. Системы, относящиеся к средствам документирования, автоматизируют процесс подготовки технической документации на программы и информационные системы, включающей структурные листинги программ, описание баз данных и индексов, блок-схемы, отражающие взаимодействие отдельных модулей и таблицы перекрестных ссылок, по которым нетрудно проследить за использованием переменных и файлов. Наиболее удачные программы документирования — The Documentor и компонент dBDOC системы FOXBASE.
Перечень программ, расширяющих возможности системы dBASE, завершают пакеты специализированных- программ-утилит, позволяющие строить графики по информации, хранящейся в базах данных, и реали-зовывать специфические функции обслуживания БД: защиту и восстановление информации, копирование- и удаление файлов и каталогов на диске, сохранение фрагментов изображения на экране и т. д. Библиотеки программ-утилит рассматриваются в гл. 12 книги.
Книга может служить полноценным учебным пособием при изучении системы dBASE III Plus, а для опытного программиста — и исчерпывающим справочным руководством. Автор иллюстрирует теоретические положения множеством примеров, которые помогут читателю глубже понять существо тех или иных предлагаемых методов.
При переводе книги были устранены некоторые неточности, вкравшиеся в текст, а также русифицированы сообщения, выдаваемые отдельными программами.
Не сомневаюсь, что книга Дж. Каррабиса будет полезна самой широкой аудитории читателей.
А. Александров
Оглавление
Предисловие к русскому изданию.................. 5
Предисловие.......................... 8
Введение...............,.......... ю
ЧАСТЬ 1
Техника программирования.............. 13
Глава 1. КОМПАКТНЫЙ ТЕКСТ ПРОГРАММ........ . 15
Методы документирования.............. 15
Улучшение временных характеристик........... 17
Глава 2. ЭФФЕКТИВНОЕ ПРОГРАММИРОВАНИЕ...... . . 21
Блок-схема.................... 22
Задачи и функции................. 25
" Текст программы.................. 25
Ввод-вывод, персональный компьютер и dBASE III Plus .... 30
Глава 3. ПОДПРОГРАММЫ И ФАЙЛЫ ПРОЦЕДУР dBASE III Plus . . 44
Создание файлов процедур .............. 44
Команда RUN/!.................. 50
Команда CALL и специализированные подпрограммы..... 52
Глава 4. МОДУЛЬНОЕ ПРОГРАММИРОВАНИЕ........ 54
Практические методы структурного программирования..... 54
Компоновка подпрограмм............... 61
Создание библиотек модулей ............. 64
Глава 5. ПРЕИМУЩЕСТВА СИСТЕМЫ dBASE III Prus...... 67
Файлы с ключами и связанные поля........... 68
Применение "пустых" записей............. 70
Хранение шаблонов вместе с данными........... 71
:,. Главные базы данных и их подмножества.......... 72
...1 Прототипы базы данных............... 76
Индексы и распределение вероятностей.......... 78
Операции над индексными файлами........... 79
Исключение записей-дубликатов............ 88
Использование переменных.............. 93
Заключение.................... 99
Глава 6. МЕНЕЕ ИЗВЕСТНЫЕ. НО МОЩНЫЕ СРЕДСТВА dBASE III Plus 101
Управление консолью (SET CONSOLE).......... 101
Команда REPLACE................. 102
Замена логических операторов строковыми......... 103
Арифметические действия над датами........... 104
Связанные файлы.................. 105
Сходство и различия между командами FIND и SEEK ..... 107
Проверка диапазонов значений (спецификация RANGE) .... 109
Функция IIP ( ) в условных выражениях......... 109
Одна команда CASE вместо двух............ 110
Определение свободного пространства на диске ....... 111
Глава 7. РАСШИРЕНИЕ ВОЗМОЖНОСТЕЙ СИСТЕМЫ...... 112
Перекрестные ссылки................ 112
"Очистка" файлов БД (команды ZAP и PACK)....... ИЗ
Создание подмножеств файла БД (команды COPY и SET
FILTER)..................... 113
Поиск записей (команда SET UNIQUE).......... 114
Поиск записей по индексу с применением фильтра...... 116
Цвет и разделители в экранных формах.......... 117
Поиск по частичному и полному значениям ключа индекса .... 118
Получение отчетов по связанным файлам.......... 118
Анализ информации по кодам вводимых символов....... 120
Функция IIP ( ) в описаниях отчетов или почтовых наклеек . . . 122
Уточнители области действия команд—FOR и WHILE..... 125
Глава 8.
ПАРАМЕТРЫ И ГЛОБАЛЬНЫЕ ПЕРЕМЕННЫЕ
Глобальные переменные .........
Локальные переменные..........
Неявные циклы в программах dBASE III Plus
129 130
ЧАСТЬ 2 Разработка систем "под ключ" в среде dBASE III Plus
Глава 9. ПАРАМЕТРЫ ОПЕРАЦИОННОЙ ОБСТАНОВКИ .
Файл CONFIG .SYS.............
Файл AUTOEXEC .BAT............
Другие файлы типа .ВАТ...........
Роль файла CONFIG. DB в системах, разрабатываен
ключ"..................
Глава 10. СОЗДАНИЕ ПОЛЬЗОВАТЕЛЬСКОГО ИНТЕРФЕЙСА
С чего начинать ..............
Использование функциональной клавиатуры ....
Организация кадров помощи..........
Заключение................
Глава П. dBASE III Plus В УЧРЕЖДЕНЧЕСКИХ СИСТЕМАХ
Проверка корректности данных.........
Контроль ошибок в сетевых системах ....
Запуск внешних программ........
dBASE III Plus в качестве программы-оболочки
Работа с внешним текстовым редактором
Защита информации..........
Программа PROTECT.EXE .......
Применение псевдокомпилятора DBC ....
ЧАСТЬ 3 Функционально полные системы в среде dBASE 111 Plus .
Г л а в а 12. ПРОГРАММНЫЕ СРЕДСТВА ОКРУЖЕНИЯ dBASE III Plus .
Исполнительная подсистема Rum Time ""¦"........
. Исполнительная подсистема dBRUN...........
Компилятор Clipper фирмы Nantucket.........
Расширенные функции dBASE на языке Си (библиотека програм
миста)....................
Библиотека графических функций...........
Утилиты программиста dBASE............
Генератор отчетов dB Report Writer (Concentric Data Systems) "Реляционный" генератор отчетов (Concentric Data Systems)
Система REFLEX фирмы Borland International......
ПРИМЕРЫ ПРОГРАММ ДЛЯ dBASE III Plus......
Прототип обобщенного модуля доступа к БД.......
Прототип программы печати почтовых наклеек.......
Прототип программы для модуля Wordstar MAILMERGE . . .
Прототип модуля учета результатов рассылки рукописей . . .
Прототип программы главного меню..........
Глава 13.
Заключение
Приложения:
1. Таблица кодов ASCII .......
2. Сводка команд dBASE 111 Plus ....
3. Встроенные функции.........
4. Примеры программ FRAMER и GETTER
5. Структура файлов БД (к гл. 13 и приложению 4)
6. Коды функциональных клавиш......
Глоссарий ............
Предметный указатель......


Hosted by uCoz