←предыдущая следующая→
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
поддерживать первичный ключ от-
ношений. Дубликаты кортежей включаются в отношение, хотя индекс
по значениям такого ключа с параметром UNIQUE и позволяет "спря-
тать" их от пользователя.
Исключением является система R:base for DOS. В ней не толь-
ко поддерживаются первичные ключи отношений (таблиц), но и
предусмотрены средства спецификации довольно сложных ограничений
целостности, называемых правилами и ассоциируемых с атрибутами
отношений. Их аргументом может быть множество значений атрибутов
в кортежах одного или нескольких отношений. Проверка таких огра-
ничений осуществляется при выполнении всевозможных операций об-
новления данных в базе данных независимо от того, вызваны ли они
процессами ввода данных или внутрисистемными операциями. Анало-
гичные средства предусмотрены в системе ПАЛЬМА-ПК.
Система CLIPPER.
CLIPPER - это созданная фирмой Nantucket Corp. система
программирования приложений в среде БД, включающая в себя быст-
рый компилятор программ, написанных на языке, близком к языку
СУБД dBaseIII PLUS, редактор связей, развитый интерактивный сим-
волический отладчик, обладающий пользовательским интрефейсом в
стиле меню, который можно связать с разрабатываемой программой
для облегчения ее отладки, большую библиотеку объектных модулей
системных функций, а также ряд служебных программ (утилит).
Система Clipper представляет собой, по существу, СУБД ком-
пилирующего типа с автономным (self-contained) языком, в значи-
тельной мере совместимую по входному языку программирования и
организации базы данных с СУБД dBaseIII PLUS. Основная цель раз-
работки этого програмного продукта - достижение более высокой
производительности прикладных систем по сравнению с созданными с
помощью средств dBaseIII PLUS. Эта задача решается благодаря ис-
пользованию на стадии исполнения заранее скомпилированного кода
вместо интерпретации исходных программ, а также за счет более
- 7 -
эффективных механизмов индексирования файлов БД.
Clipper работает в среде операционной системы MS DOS версии
2.0 и выше. В результате компиляции текстов программ на исходном
языке он порождает загрузочные программные модули, не требующие
каких-либо системных средств на стадии исполнения. Тем самым
разработанная прикладная программа полностью "отчуждается" от
инструментальных средств его разработки, может распространяться
независимо от них, и пользователь такой программы избавляется от
необходимости изучать этот инструментарий.
Допускается декомпозиция программных модулей на составные
части, из которых на стадии редактирования можно сформировать
модули оверлейной структуры. Разработка крупных прикладных прог-
рамм значительно облегчается благодаря технологии сепаратной
компиляции их компонентов.
Clipper обеспечивает высокую скорость не только при испол-
нении программ, но и на стадии их компиляции. Система польностью
совместима с системой dBaseIII PLUS по организации файлов БД.
Однако индексные файлы в системе Clipper имеют иную более эффек-
тивную организацию, что наряду с компиляцией способствует су-
щественному повышению производительности программ на стадии ис-
полнения. Индексные файлы dBaseIII PLUS подменяются файлами
системы Clipper аналогичного назначения автоматически на стадии
исполнения либо заблаговременно с помощью специальной утилиты.
В языке программирования системы Clipper отсутствуют такие
полноэкранные команды языка dBase, как ASSIST, BROWSE, EDIT,
имеются ограничения на использование функции макроподстановки
(&). Значением строковой переменной, к которой применяется эта
функция, не может быть, в частности, полная команда или фраза
команды с ключевым словом, а также список имен полей записи фай-
ла БД или других объектов языка с разделителями-запятыми. Вместе
с тем в язык введены многие расширения. К их числу (в летней
версии 1987 г.) относятся возможности работы с массивами пере-
менных, которые могут объявляться при необходитости глобальными
величинами, спецификации функций, определяемых пользователем,
возможности обращения к функциям на языках Си и ассемблере с пе-
редачей им параметров, средства программирования пользователь-
ских интерфейсов, построенных в стиле меню, сохранение и восста-
новление изображений, показанных на экране, большое количество
новых функций различного назначения, в частности, для операций-
над строками.
В языке Clipper предусматриваются средства блокирования
файлов и записей файлов БД, необходимые для использования прог-
рамм на этом языке в мультипользовательской среде сетевых систем
БД. Введены новые синтаксические конструкции, например циклы
FOR...NEXT, новая фраза VALID для верификации данных, вводимых с
помощью команды GET, и ряд других.
К пользовательской программе можно легко подключить проце-
дуру HELP, обеспечивающую глобальную и контекстно-зависимую по-
мощь. Эта процедура вызывается на стадии исполнения традиционным
нажатием функциональной клавиши F1. При этом ей автоматически
передаются необходимые параметры.
Clipper включает, как уже указывалось, весьма богатые сис-
темные библиотеки функций различного характера, существенно обо-
гащающих язык, позволяющих значительно сокращать затраты времени
на прикладное программирование и уменьшать объем исходного кода.
В летней версии 1987 г. предусмотрено около ста различных функ-
ций для анализа состояния системы, операций с массивами, для вы-
числения элементарных математических функций, операций над стро-
ками, редактирования данных, для создания файлов DOS и
- 8 -
выполнения операций над ними, работы со значениями полей типа
Memo в записях фаийлов БД и для других целей.
Кроме того, пользователь имеет возможность создавать и ис-
пользовать собственные библиотеки функций.
Что касается системных библиотек, то Nantucket Corp. посто-
янно расширяет их состав. В 1988 г. был дополнительно включен
ряд новых функций, кроме того, фирма начала поставлять пакет
Clipper, предназначенный для использования совместно с системой
Clipper. Пакет содержит большую новую структуризованную библио-
теку функций и расширенный драйвер экранов и клавиатуры, приз-
ванный заменить имеющийся в системе Clipper драйвер. Эти функции
и драйвер могут вкючаться в программу на стадии редактирования.
Все функции библиотеки обладают высокой производительностью
и предъявляют минимальные требования к оперативной памяти. Они
реализованиы на языке ассемблера и оптимизированы. Библиотека
пакета включает ряд функций для конструирования многооконных
пользовательских интерфейсов
←предыдущая следующая→
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
|