записеориентированная
СУБД
Clarion
Clarion
ОписаниеР-Т
Система Clarion [50,52] разработана фирмой Clarion
Software. С нашей точки зрения, ее следует квалифицировать
как комфортный и мощный генератор интерактивных приложений
для конечного пользователя, обеспечивающих решение совокуп-
ностей задач обработки данных. Для непосредственного обслу-
живания конечного пользователя Clarion не предназначен.
Система не только позволяет конструировать в высокой
степени дружественные для пользователя приложения, но и об-
ладает весьма дружественным характером для их разработчика.
Clarion предоставляет пользователю системы проекти-
ровщику приложений два уровня инструментальных средств.
Средства более высокого уровня интегрированы в компоненте
системы, называемом дизайнером. Средства низкого уровня
представлены в языке программирования системы [10].
На уровне дизайнера проектировщик оперирует категория-
ми, естественными с точки зрения пользователя разрабатывае-
мой системы и материализуемыми в форме таких типовых компо-
нентов приложения, как структура обрабатываемых данных, ме-
ню, экранные формы ввода-вывода и окна, таблицы и отчеты.
Функции языка программирования системы чрезвычайно мно-
гоаспектны. Он служит для поддержки объектов, с которыми
имеет дело дизайнер, и для выполнения над ними предусмотрен-
ных операций. Представляется, что этот язык обладает значи-
тельным запасом возможностей по сравнению с текущими потреб-
ностями дизайнера.
Хотя теоретически вполне возможно непосредственное
программирование полного приложения на языке Clarion, разра-
ботчики системы, несомненно, не рассчитывали на такое его ис-
пользование, поскольку это занятие было бы довольно трудоем-
ким и кропотливым.
Предполагается иная технология разработки приложения. С
помощью высокоуровневых средств дизайнера проектировщик в
режиме WYSIWYG создает прототип приложения, по которому ге-
нерируются файлы, содержащие хорошо документированные исход-
ные тексты модулей приложения на языке программирования.
Высококвалифицированный проектировщик может на этой
стадии вмешаться в процесс генерации приложения с тем, чтобы
при необходимости "вручную" внести дополнения и изменения в
исходный текст программы. Он должен для этого, однако, дос-
таточно хорошо владеть языком Clarion.
Далее сгенерированные исходные тексты программных моду-
лей приложения обрабатываются компилятором языка Clarion и
порождают объектные программные модули стандартного для опе-
рационной системы формата. Следовательно, в конечном счете с
помощью традиционной технологии компиляции и сборки может
быть собран полностью самостоятельный загрузочный .exe-мо-
дуль приложения. При необходимости он может иметь оверлейную
структуру.
Для защиты генерируемых файлов с исходными текстами
программ от недозволенного доступа система поддерживает ме-
ханизмы доступа к ним по паролям, которыми проектировщик мо-
жет при желании воспользоваться.
Обрабатываемые системой пользовательские данные могут
быть организованы в виде ее собственных файлов данных,
ASCII-файлов операционной системы, а также образуемых на
стадии исполнения двунаправленных списковых структур, разме-
щенных в оперативной памяти, называемых таблицами.
Здесь мы сознательно не употребляем термин "база дан-
ных". Причина здесь не только в том, что этот термин не ис-
пользуется в документации. И это вполне справедливо, так как
концепция единой базы данных системой Clarion не поддержива-
ется. По существу, совокупность файлов и таблиц, с которой
работает система, не представляет собой единого целого. Все
они существуют автономно, а если и взаимосвязаны каким-либо
образом, то только в мысленном представлении проектировщика.
Файлы данных системы состоят из записей фиксированного
формата. Каждая запись представляет собой совокупность ска-
лярных элементов данных любого допустимого в системе типа,
векторов таких элементов, а также простых и повторяющихся
групп. Можно использовать матрицы групп вплоть до четырех-
мерных. Повторяющиеся группы могут быть вложенными. Важное
ограничение состоит в том, что число повторений группы по
любой размерности должно быть константой.
При спецификации файла данных могут быть заданы первич-
ные и вторичные ключи индексирования его записей. Для таких
ключей в системе могут создаваться динамические и статичес-
кие индексы. Динамический индекс (в документации "Key") пос-
ле его создания автоматически модифицируется при вставке,
модификации и удалении записей в файле данных. Статический
индекс (в документации "Index") соответствует некоторому
состоянию файла данных и не актуализируется при изменении
файла данных. Индексы файлов данных используются для поддер-
жания порядка записей файла в процессе их обработки, а также
для прямого доступа к записям файла по значению ключа индек-
сирования.
С каждой записью файла данных может ассоциироваться не-
которое тектовое значение. Совокупность таких значений хра-
нится в мемо-файле, связанном с этим файлом данных.
Обработка системных файлов данных осуществляется только
в позаписном режиме ("record-by-record"). Предусматривается
набор примитивов манипулирования данными в таких файлах. Они
являются сравнительно мелкими по объему выполняемых функций,
и всякая более или менее содержательная операция нуждается в
написании серии команд.
При обработке данных может использоваться последова-
тельный и прямой доступ к записям файла. Последовательная
обработка осуществляется либо в порядке "физического" разме-
щения записей в файле, либо в соответствии с индексом в по-
рядке возрастания или убывания значения ключа. В случае пря-
мого доступа для идентификации требуемой записи служат ее
относительный порядковый номер в файле или значение ключа
индексирования.
Помимо операций навигации во множестве записей файла,
предусматриваются операции создания, открытия и закрытия
файла, очистки файла, сброса содержимого буфера в файл, ус-
тановки указателя текущей записи, чтения и запоминания запи-
си в позиции, заданной указателем, чтения следующей записи в
буфер, добавления записи в конец файла или на место послед-
ней удаленной записи, удаления текущей записи и другие опе-
рации.
Предусматривается прямая обработка ASCII-файлов опера-
ционной системы. Такие файлы рассматриваются как совокупнос-
ти структуризованных записей, аналогичных по своей "логичес-
кой" структуре файлам данных. Их можно создавать и удалять,
копировать, переименовывать, очищать, помещать в них записи
и читать записи из них, удалять существующие записи и встав-
лять новые. Записи файлов операционной системы не могут быть
индексированы.
Во время функционирования системы допускается создание
в оперативной памяти двунаправленных списков записей, кото-
рые называются таблицами. Записи-элементы таких списков мо-
гут иметь переменную длину. Таблицы размещаются только в
свободной памяти.
Элементы списков в памяти могут снабжаться ключами. Это
позволяет не только осуществлять навигацию в такой структу-
ре, последовательно перемещаясь по ее элементам в любом из
двух направлений, но и использовать прямой доступ по значе-
нию ключа.
Набор базисных типов данных в системе ограничивается
целыми числами в однобайтовом (Byte), двухбайтовом (Short) и
четырехбайтовом (Long) форматах, упакованными десятичными
числами с фиксированной точкой (Decimal), числами с плаваю-
щей точкой (Real), литерными строками (String). Предусмотре-
ны способы представления дат и денежных сумм, представленных
валютами разных стран. Все преобразования типов система про-
изводит автоматически по умолчанию. Поддерживаются скалярные
величины и массивы.
Две особенности роднят Clarion с dBase-совместимыми
системами. Как и все системы такого типа, Clarion не поддер-
живает концепцию базы данных, оперируя отдельными файлами.
Не поддерживается также концепция неопределенного значения
(Null-value).
Несмотря на то что язык Clarion [10] является языком
довольно низкого уровня, он обладает весьма развитыми воз-
можностями. Это язык ключевых слов операторного типа с
развитыми структурами управления логикой программы, снабжен-
ный большим набором стандартных элементарных и строковых
функций. На уровне "физики" он позволяет управлять клавиату-
рой и видеопамятью монитора, файлами операционной системы,
буферизацией обменов с файлами и использовать кэш-память. На
"логическом" уровне объектами языка являются файлы данных
системы и механизмы их индексирования, экранные окна и формы
с возможностями управления атрибутами цвета, меню и отчеты,
таблицы и списки в памяти.
В языке Clarion предусмотрены средства организации ра-
боты приложения в мультипользовательском режиме. Имеются ме-
ханизмы блокирования ресурсов данных на уровне файлов и от-
дельных записей, методы предотвращения тупиковых ситуаций,
средства управления обработкой транзакций. Целостность дан-
ных обеспечивается средствами журнализации транзакций и от-
ката незавершившихся транзакций.
Предусмотрен экспорт-импорт данных из файлов в формате
DBF, языка Basic, DIF.
В последней версии системы Clarion Professional
Developer 2.1 [8,63] значительно усовершенствованы генера-
тор отчетов, а также средства управления генератором прог-
раммного кода.
Генератор отчетов системы Clarion это управляемый ме-
ню автономный инструмент для обработки запросов и формирова-
ния отчетов на основе файлов системы Clarion, dBase, DIF и
ASCII-файлов с запятой в качестве разделителей. Он генериру-
ет отчеты табличной формы. С помощью меню можно создавать
фильтры и вычисляемые значения, сортировать строки, отбирать
записи по критерию. Перед печатью отчет может быть выведен в
текстовый файл или предварительно просмотрен на экране дисп-
лея с "пролистыванием" его в обоих направлениях.
Генератор кода в Professional Developer для ускорения
работы игнорирует модули, которые не изменились с последней
генерации. Он поддерживает 2 Гбайта виртуальной памяти. Бу-
феры кэш-памяти используют расширение оперативной памяти.
В Professional Developer 2.1 предусмотрены программные
интерфейсы для языка "C" и ассемблера.
Система исполняется на IBM PC, PS/2 и требует 512 Кбайт
оперативной памяти.ПУБЛИКАЦИИ
Byte. 1990. August. P.200.
Ссылка
Byte. 1990. August. P.200.
Clarion Professional Developer 2.0. Language Reference. Clarion software Corp., Second edition. 1988.
Ссылка
Clarion Professional Developer 2.0. Language Reference. Clarion software Corp., Second edition. 1988.
ЛИТЕРАТУРА
ОС
ПолявЗап=не огр.
ЗапвТаб=не огр.
ОперативПамять=512KB
SQL=н
Стоимость=$845
Особенности-Т
Мощная среда разработки для профессиональных программистов.
Для менее опытных утилита "проектировщик": создание несложных прикладных
систем в режиме диалога с генерацией исходного кода программ.
Импорт-экспорт данных форматов dBASE, DIF, BASIC.
Типы данных: BYTE (1 байт), SHORT (2), LONG (4), REAL (8), DECIMAL (8)
и STRING (до 255). Нет логических и даты.
Язык Clarion весьма сложный, документация недостаточно продуманная.
Сложно обеспечить связь с другими языками не более 64 К в двоичном виде...
Необходимо описать структуру базы в тексте программ.
Нет представительства фирмы в стране. Нет русскоязычной версии.КОМПАНИИ