FoxBase+
FoxBase+
ОписаниеР-Т
При разработке системы FoxBase+ [24] фирма Fox Software
Inc. преследовала цель создать реляционную СУБД, функцио-
нально совместимую с СУБД dBaseIII PLUS с точностью до языка
программирования и организации файлов базы данных, но обла-
дающую значительно более высокой производительностью.
Система написана на языке "С" и благодаря этому облада-
ет свойством переносимости она может использоваться в обс-
тановке операционных систем как MS-DOS, так и UNIX. Разрабо-
таны монопользовательская и мультипользовательская версии
системы. Она может эксплуатироваться на IBM PC и совместимых
с ними компьютерах, а также на ЭВМ VAX 11/780.
В языке системы FoxBase+ версии 2.0 не были реализованы
предусмотренные в dBaseIII PLUS возможности работы с катало-
гом, а также команды Assist, Import/Export, Create/Modify
Screen, Create/Modify/Set Query. Однако в нем предусмотрен
ряд существенных дополнений. Так, имеются возможности ис-
пользования одномерных и двумерных массивов переменных, ко-
манды их инициализации, а также обмена данными между масси-
вами переменных и записями файлов базы данных. В язык введен
механизм спецификаций функций, определяемых пользователем,
что позволяет строить различные его расширения.
Одним из факторов повышения производительности системы
является более эффективная организация индексных файлов, чем
в системе dBaseIII PLUS. Индексные файлы FoxBase+ несовмес-
тимы с индексными файлами dBaseIII PLUS.
Помимо возможности работы пользователя в интерактивном
режиме с вводом и интерпретацией отдельных команд, система
включает псевдокомпилятор. Исполнение программных файлов
после псевдокомпиляции требует существенно меньше времени.
В настоящее время уже поставляется система FoxBase+
версии 2.11 [4,25]. В ее состав, помимо базового компонента
системы, входят дополнительные модули FoxCentral, FoxView,
FoxCode, FoxDoc и FoxGraph.
Базовый компонент обеспечивает такие новые возможности,
как фильтрованные индексы, позволяющие индексировать подмно-
жества записей файлов базы данных и производить над ними ма-
нипулятивные операции. Предусматриваются средства для прок-
ручивания данных в выделенном окне экрана, для конструирова-
ния меню разнообразного вида, использования расширения памя-
ти. Эта версия системы существенно быстрее предыдущей.
Модуль FoxCentral выполняет функции, аналогичные
ASSIST-интерфейсу системы dBaseIII PLUS или управляющему
центру dBaseIV. Он предоставляет пользователю интерфейс в
стиле меню для запроса требуемых функций системы и избавляет
его тем самым от необходимости знания смысла и синтаксиса
команд языка программирования. Такой интерфейс особенно ва-
жен для начинающих пользователей. Обращение к новым функцио-
нальным модулям системы FoxView, FoxCode, FoxDoc, FoxGraph
также возможно через FoxCentral.
Модуль FoxView сочетает в себе возможности проектирова-
ния экранных форм ввода-вывода данных и генератора програм-
много кода приложений, исполняемых в среде FoxBase+. Разра-
батываемые экранные формы могут определяться над несколькими
файлами базы данных. Тем самым становится возможным формиро-
вание многотабличных представлений.
В процессе генерации приложений FoxView чаще всего дол-
жен использоваться вместе с FoxCode, позволяющим описывать
структуру создаваемого приложения на специально для этого
разработанном языке шаблонов и компилировать такие описания
(шаблоны). Однако FoxView располагает собственным набором
стандартных скомпилированных шаблонов. Если они удовлетворя-
ют разработчика, генерация приложения может осуществляться
только средствами этого модуля.
Генератор приложений в FoxView представляет собой точ-
ную копию этого компонента в модуле FoxCode. Он порождает
исходный код прикладной системы на языке FoxBase+, имея на
входе скомпилированный файл шаблонов и таблицы, описывающие
форматы используемых экранных форм ввода-вывода.
Пользователь работает с FoxView с помощью развитого ме-
ню. В составе модуля имеется специальная "оболочка"
FoxView Shell, позволяющая выполнять многие команды DOS и
языка FoxBase+, не покидая среды модуля. "Оболочка" формиру-
ет также буфер выполненных команд и их результатов, позволя-
ет возвращаться назад, корректировать команды и продолжать
процесс, начиная с точки возврата.
Другой модуль системы FoxCode предназначен главным
образом для опытных разработчиков приложений. С его помощью
можно разрабатывать как конкретные, так и "обобщенные" при-
ложения. Последние представляются в виде описания на языке
шаблонов и компилируются. Их конкретизация может в дальней-
шем осуществляться с помощью FoxView. При этом будут учиты-
ваться структура используемых файлов базы данных и формат
экранных форм, выбранных для конкретного приложения.
FoxCode включает язык шаблонов, компилятор файлов, со-
держащих тексты на этом языке, а также генератор приложений.
В языке шаблонов авторы использовали идеи языков Пас-
каль, "C" и dBase, а также подход, принятый в системе UI
Programmer фирмы WallSoft Systems Inc. Это мощный язык прог-
раммирования высокого уровня, позволяющий компактно описы-
вать структуру конкретных приложений или классов приложений.
Он может использоваться с помощью любого текстового редакто-
ра.
Компилятор файлов шаблонов позволяет строить сжатое
представление файлов шаблонов, обеспечивая тем самым умень-
шение объема дискового пространства, требуемого для их хра-
нения, а также сокращение затрат времени при генерации при-
ложений.
Генератор приложений формирует исходный код приложения,
используя скомпилированный файл шаблонов и построенные
FoxView таблицы описания файлов базы данных и экранных форм.
Модуль FoxDoc представляет собой автоматический доку-
ментатор программ на языке FoxBase+. В состав генерируемой
им системной документации входит целый ряд документов ди-
аграмма взаимосвязей программных модулей прикладной системы,
спецификации всех используемых файлов базы данных и тех мест
в программе, где над ними совершаются операции, описание
всех используемых в прикладной системе форм отчетов и почто-
вых этикеток и т.п.
Наконец, модуль FoxGraph, поставляемый за особую плату,
позволяет транслировать файлы базы данных системы FoxBase+ в
текстовые ASCII-файлы и продуцировать на их основе разнооб-
разные двумерные и трехмерные графические представления дан-
ных. Этот модуль управляется пользователем в интерактивном
режиме.
В состав FoxBase+ 2.10 включен демонстрационный пакет,
позволяющий получить полное представление о функциональных
возможностях FoxGraph.
Отметим в заключение, что компилятор языка FoxBase+
следовало бы более точно квалифицировать как псевдокомпиля-
тор. Он не продуцирует загрузочных программных модулей, а
лишь формирует сжатое объектное представление исходного ко-
да, исключая функцию синтаксического анализа на стадии ис-
полнения. Такие "скомпилированные" программы могут испол-
няться не только в среде самой системы FoxBase+. Для этой
цели фирма поставляет также более дешевую версию системы
RunTime System, для которой, в свою очередь, имеются моно-
пользовательская и мультипользовательская версии.ПУБЛИКАЦИИ
FoxBase+. Relational Database Management System. User Manual. Fox Software Inc. 1987. January.
Ссылка
FoxBase+. Relational Database Management System. User Manual. Fox Software Inc. 1987. January.
СУБД
FoxBase+
Ссылка
FoxBase+
ОписаниеР-Т
При разработке системы FoxBase+ [24] фирма Fox Software
Inc. преследовала цель создать реляционную СУБД, функцио-
нально совместимую с СУБД dBaseIII PLUS с точностью до языка
программирования и организации файлов базы данных, но обла-
дающую значительно более высокой производительностью.
Система написана на языке "С" и благодаря этому облада-
ет свойством переносимости она может использоваться в обс-
тановке операционных систем как MS-DOS, так и UNIX. Разрабо-
таны монопользовательская и мультипользовательская версии
системы. Она может эксплуатироваться на IBM PC и совместимых
с ними компьютерах, а также на ЭВМ VAX 11/780.
В языке системы FoxBase+ версии 2.0 не были реализованы
предусмотренные в dBaseIII PLUS возможности работы с катало-
гом, а также команды Assist, Import/Export, Create/Modify
Screen, Create/Modify/Set Query. Однако в нем предусмотрен
ряд существенных дополнений. Так, имеются возможности ис-
пользования одномерных и двумерных массивов переменных, ко-
манды их инициализации, а также обмена данными между масси-
вами переменных и записями файлов базы данных. В язык введен
механизм спецификаций функций, определяемых пользователем,
что позволяет строить различные его расширения.
Одним из факторов повышения производительности системы
является более эффективная организация индексных файлов, чем
в системе dBaseIII PLUS. Индексные файлы FoxBase+ несовмес-
тимы с индексными файлами dBaseIII PLUS.
Помимо возможности работы пользователя в интерактивном
режиме с вводом и интерпретацией отдельных команд, система
включает псевдокомпилятор. Исполнение программных файлов
после псевдокомпиляции требует существенно меньше времени.
В настоящее время уже поставляется система FoxBase+
версии 2.11 [4,25]. В ее состав, помимо базового компонента
системы, входят дополнительные модули FoxCentral, FoxView,
FoxCode, FoxDoc и FoxGraph.
Базовый компонент обеспечивает такие новые возможности,
как фильтрованные индексы, позволяющие индексировать подмно-
жества записей файлов базы данных и производить над ними ма-
нипулятивные операции. Предусматриваются средства для прок-
ручивания данных в выделенном окне экрана, для конструирова-
ния меню разнообразного вида, использования расширения памя-
ти. Эта версия системы существенно быстрее предыдущей.
Модуль FoxCentral выполняет функции, аналогичные
ASSIST-интерфейсу системы dBaseIII PLUS или управляющему
центру dBaseIV. Он предоставляет пользователю интерфейс в
стиле меню для запроса требуемых функций системы и избавляет
его тем самым от необходимости знания смысла и синтаксиса
команд языка программирования. Такой интерфейс особенно ва-
жен для начинающих пользователей. Обращение к новым функцио-
нальным модулям системы FoxView, FoxCode, FoxDoc, FoxGraph
также возможно через FoxCentral.
Модуль FoxView сочетает в себе возможности проектирова-
ния экранных форм ввода-вывода данных и генератора програм-
много кода приложений, исполняемых в среде FoxBase+. Разра-
батываемые экранные формы могут определяться над несколькими
файлами базы данных. Тем самым становится возможным формиро-
вание многотабличных представлений.
В процессе генерации приложений FoxView чаще всего дол-
жен использоваться вместе с FoxCode, позволяющим описывать
структуру создаваемого приложения на специально для этого
разработанном языке шаблонов и компилировать такие описания
(шаблоны). Однако FoxView располагает собственным набором
стандартных скомпилированных шаблонов. Если они удовлетворя-
ют разработчика, генерация приложения может осуществляться
только средствами этого модуля.
Генератор приложений в FoxView представляет собой точ-
ную копию этого компонента в модуле FoxCode. Он порождает
исходный код прикладной системы на языке FoxBase+, имея на
входе скомпилированный файл шаблонов и таблицы, описывающие
форматы используемых экранных форм ввода-вывода.
Пользователь работает с FoxView с помощью развитого ме-
ню. В составе модуля имеется специальная "оболочка"
FoxView Shell, позволяющая выполнять многие команды DOS и
языка FoxBase+, не покидая среды модуля. "Оболочка" формиру-
ет также буфер выполненных команд и их результатов, позволя-
ет возвращаться назад, корректировать команды и продолжать
процесс, начиная с точки возврата.
Другой модуль системы FoxCode предназначен главным
образом для опытных разработчиков приложений. С его помощью
можно разрабатывать как конкретные, так и "обобщенные" при-
ложения. Последние представляются в виде описания на языке
шаблонов и компилируются. Их конкретизация может в дальней-
шем осуществляться с помощью FoxView. При этом будут учиты-
ваться структура используемых файлов базы данных и формат
экранных форм, выбранных для конкретного приложения.
FoxCode включает язык шаблонов, компилятор файлов, со-
держащих тексты на этом языке, а также генератор приложений.
В языке шаблонов авторы использовали идеи языков Пас-
каль, "C" и dBase, а также подход, принятый в системе UI
Programmer фирмы WallSoft Systems Inc. Это мощный язык прог-
раммирования высокого уровня, позволяющий компактно описы-
вать структуру конкретных приложений или классов приложений.
Он может использоваться с помощью любого текстового редакто-
ра.
Компилятор файлов шаблонов позволяет строить сжатое
представление файлов шаблонов, обеспечивая тем самым умень-
шение объема дискового пространства, требуемого для их хра-
нения, а также сокращение затрат времени при генерации при-
ложений.
Генератор приложений формирует исходный код приложения,
используя скомпилированный файл шаблонов и построенные
FoxView таблицы описания файлов базы данных и экранных форм.
Модуль FoxDoc представляет собой автоматический доку-
ментатор программ на языке FoxBase+. В состав генерируемой
им системной документации входит целый ряд документов ди-
аграмма взаимосвязей программных модулей прикладной системы,
спецификации всех используемых файлов базы данных и тех мест
в программе, где над ними совершаются операции, описание
всех используемых в прикладной системе форм отчетов и почто-
вых этикеток и т.п.
Наконец, модуль FoxGraph, поставляемый за особую плату,
позволяет транслировать файлы базы данных системы FoxBase+ в
текстовые ASCII-файлы и продуцировать на их основе разнооб-
разные двумерные и трехмерные графические представления дан-
ных. Этот модуль управляется пользователем в интерактивном
режиме.
В состав FoxBase+ 2.10 включен демонстрационный пакет,
позволяющий получить полное представление о функциональных
возможностях FoxGraph.
Отметим в заключение, что компилятор языка FoxBase+
следовало бы более точно квалифицировать как псевдокомпиля-
тор. Он не продуцирует загрузочных программных модулей, а
лишь формирует сжатое объектное представление исходного ко-
да, исключая функцию синтаксического анализа на стадии ис-
полнения. Такие "скомпилированные" программы могут испол-
няться не только в среде самой системы FoxBase+. Для этой
цели фирма поставляет также более дешевую версию системы
RunTime System, для которой, в свою очередь, имеются моно-
пользовательская и мультипользовательская версии.ПУБЛИКАЦИИ
ЛИТЕРАТУРА
ЛИТЕРАТУРА
ЛИТЕРАТУРА