Система Paradox
Paradox представляет из себя реляционную базу данных,
разработанную формой Borland. Данная база даннных предназначена
как для непрофессионалов, которым нужно решать задачи типа
картотеки и пр., так как обладает достаточно развитой и понятной
системой меню и подсказки, так и для профессиональных
программистов, разрабатывающих сложные информационные системы,
используя при этом язык запросов QBE или язык разработки
приложений PAL. Кроме версий под DOS, разработана версия Paradox
for Windows. Требования к техническим средствам и сравнительные
характеристики по быстродействию см. Глава ??.
Поддерживаются следующие типы полей:
- алфавитно-цифровые (строковые);
- числовые;
- денежные;
- дата;
- Memo - поля;
- графические;
- OLE - поля;
- BLOB (Binary Large OBject);
Причем, типы полей от Memo до Blob поддерживаются только в
Paradox for Windows.
Строковые поля позволяют содержать любую последовательность
символов длиной до 255 байт.
Числовые поля могут содержать как целые, так и
действительные числа с числов цифр до 15.
Денежные поля - тоже что и числовые с двумя знаками после
запятой, отдельный тип служит только для определения Paradox-ом
формата вывода данных полей.
Поля даты - соответственно содержат дату и позволяют
проводить над собой соответствующие операции сравнения и
вычитания.
Мемо - поля содержат любой текст неограгиченной длины
(вместе с атрибутами текста - шрифт, начертание, цвет и др.)
В графических полях могут содержаться графика типа bitmat.
В OLE - полях могут содержаться объекты от других
приложений Windows.
В BLOB - полях можно хранить любые данные по выбору
пользователя (на самом деле с точки зрения Paradox, Memo,
Graphic и OLE - поля так-же являются полями типа BLOB). В
настоящий момент возможно хранение объектов MultiMedia, чертежи
и другие приложения.
Достаточно удобным является тот факт, что для всех типов
полей существует значение "пустое поле".
Так-же следует отметить тип данных "BLOB", т.к. в полях
такого типа можно хранить любые данные произвольного размера,
что выгодно отличается от MEMO-полей в dBASE и Clipper, которые
позволяют хранить только текст, да и то ограниченного об'ема
(4K).
Вся работа по созданию и работе с таблицами, подготовке
отчетов и запросов, созданию достаточно сложных приложений, не
требующих каких-либо сложных расчеов проводится в единой
интегрированной среде при помощи системы меню.
Система обладает достаточно широкими возможностями по
манипулированию данными и построению отчетов, некоторыми
полезными статистическими и алгебраическими функциями для
создания расчетных задач.
Функции манипулирования данными можно разделить на
следующие достаточно стандартные группы:
- работа с таблицами;
- работа с отдельными записями;
- подготовки отчетов;
- работа с запросами;
- работа с сетью;
- работа с макросами;
- работы с деловой графикой.
Функии работы с таблицами позволяют создавать таблицы,
переименоввывать, удалять, копировать и, что достаточно важно,
модифицировать структуру таблиц, даже если в них уже находятся
данные. Так-же, что немаловажно, все эти операции производятся
не над отдельными файлами (как, скажем, в dBase), а над всем
семейством таблиц (включая файлы данных, индексов, запросов и
отчетов). Имеются и такие операции реляционной алгебры, как
объединение и вычитание ?таблиц?отношений?.
Функции работы с записями - стандартные (добавить, удалить,
отредактировать.
Удобными средствами обладает генератор отчетов - форму
отчета можно "нарисовать" на экране и получить фактически то,
что вы видите. Генератор отчетов позволяет создавать как отчеты
в "стандартной" (табличной) форме, так и отчет в свободной форме
(в т.ч. наклейки, деловые письма и пр.), производить группировку
отчета по значениям полей (причем нескольких уровней
вложенности), использовать вычисляемые поля.
Функции запросов реализованы на реляционном языке QBE,
причем отчеты можно вормировать и по запросным формам.
В Paradox for Windows построение запросов еще более
упрощено - для связей таблиц дрег с другом достаточно просто
провести линии между соответствующими полями.
Функции работы с сетью позволяют получить доступ к
удаленной БД, заблокировать данные для защиты от доступа других
пользователей на время модификации, установить защиту по паролю
от несанкционированного доступа.
Функции работы с макросами позволяют практически создавать
сценарий работы с пользователем и делать некоторые простые
приложения.
Смстема деловой графики позволяет по таблицам строить до
шести функций в виде различного рода диаграм и графиков.
Если всех перечисленных возможностей недостаточно, то можно
воспользоваться языком построения приложений PAL. Данный язык
позволяет воспользоваться всеми перечисленными выше
возможностями, т.к. из него можно иметь доступ к функциям
основного меню, а так-же обладает дополнительными средствами,
характерными для языков программирования (управляющие структуры
типы if - then - else, циклы, переменные, операторы
ввода-вывода, дополнительные математические и статистические
фунции, возможность создания процедур и библиотек процедур) и
средствами доступа к продукту фирмы Borland - SQL-link.
Средствами Pal можно создавать пользовательские меню, окна и
прочие радости для неискушенного пользователя, для которого
картинка важнее, чем содержание.
В системе имеется отладчик, с помощью которого можно
достаточно удобно отлаживать программы на PAL.
К сожалению, для работы программ на PAL необходима либо
система Paradox, либо соответствующий модуль исполнения, т.е.
проблематичной становится возможность распространения программ
(каждый пользователь должен приобрести соответствующий Run-time
модуль для исполнения программ.
По показателям быстродействия система находится в первых
рядях среди подобных.
Система поддерживает следующие индексы - первичный (не
может быть повторяющихся ключевых полей), вторичный - по одному
полю, и составной - по группе полей. К сожалению, если таблица
имееи несколько индексов, то при работе с записями производится
модификация только одного индекса, а все остальные будут
перестраиваться либо по окончании работы с таблицей, либо по
запросу пользователя. Можно сделать этот процесс "прозрачным"
для пользователя (первая возможность - индексы перестраиваются
при закрытии таблицы), на ясно, что это достаточно сильно
замедляет работу с подобными таблицами и причиняет пользователю
некоторые неудобства (особенно если таблицы больших размеров).
Система поддерживает доступ к БД на сервере по сети типа
Novell, 3Com, Starlan, Banyan, а так-же другими, совместимыми с
NetBios и обеспечивает необходимую блокировку данных как на
уровне таблиц, так и на уровне отдельных записей. Paradox for
Windows позволяет работать со всеми типами сетей, поддерживаемых
Windows. Система имеет и такую полезную особенность, как
возможность определить во время работы , менялись-ли данные в
таблицах, к которым имеют доступ несколько пользователей
одновременно, хотя это и увеличивает нагрузку на сеть и может
создать некоторые проблемы при наличии большого числа
пользователей .
Данные в таблицах хранятся в их естественном виде без
преобразования, а не ввиде символьных строк, как это принято в
формате dBase, что сказывается на ускорении работы и уменьшении
размеров самой базы данных.
Имеются средства экспорта и импорта данных из/в формат
Qattro/Pro, 1-2-3, Symphony, dBase, VisiCalc, а в системе
Paradox for Windows возможно работать с файлами dBase без
преобразования.
Таким образом, система достаточна удобна как для
неподготовленного пользователя, который хочет решить свою мелкую
задачку типа записной книжки - за счет развитой системы меню и
подсказки; и удобна для профессионального программиста, который
решает достаточно сложные задачи - за счет богатых возможностей,
предостваляемых системой, мощного реляционного языка запросов
QBE, развитых средств построения отчетов, наличия языка
построения приложений, имеющего выход на SQL-link; развитые
средства защиты данных от несанкционированного доступа. Все это
позволяет строить сложные приложения, работающие в сети со
многими пользователями. Но отсутствие возможности получить
исполняемый модуль накладывает ограничения на широкое
распространение разработанных программ (хотя Run-Time модуль
стоит достаточно дешево, все-таки психологически лучше купить
одну или несколько программ у одного изготовителя, чем
связываться с несколькими) А работа фактичкски в режиме
интерпретации PAL хоть и практически не сказывается при
построении сложных информационныо-поисковых систем, в которых
время на поиск данных значительно превышает время выполнения
расчетов, но накладывает ограничения на системы, в которых кроме
задач поиска стоят достаточно сложные задачи обработки данных.
Но Paradox for Windows позволяет преодолеть это
ограничение, т.к. в нем возможно иметь доступ к функциям,
написанных на обычных языках программирования и собранные в
динамические библиотеки (DDL). Так что можно пользоваться этой
возможностью, хотя перенос программ в среду Windows (в том числе
и СУБД) работу этих программ явно не ускоряет.
В пользу выбора данной системы для нашей задачи могут
служить следующие факторы (наверхое):
- программирование на языке программирования PAL позволяет
проводить достаточно сложную обработку данных, позволяет
использовать развитые средства диалога с пользователем;
- данные в БД хранятся в их естественном виде, что
позволяет ывеличить скорость обработки и уменьшить необходомое
для хранения данных пространство;
- очень полезные поля типа BLOB - позволяют хранить текст
произвольной длины, например, тексты методичек и пр.;
- возможность сетевого взаимодеяствия позвояет проводить
дальнеяшее расширение системы до уровня института с подключением
других подсистем (скажем, УэО, деканат и пр.) и обеспечивать
необходимую в рамках подобных систем защиту данных;
- богатые возможности по экспорту и импорту данных;
- возможность работы под Windows;
- относительно простые, но мощные средства для построения
запросов к базе данных.
Хотя, конечно, вышеуказанные ограничения (невозможность
получить .ЕХЕ - файл и итерпретатор) - это для нас явные минусы.
ОСНОВНЫЕ ДОСТОИНСТВА СИСТЕМЫ PARADOX:
СКОРОСТЬ РЕАКЦИИ, ПРОСТОТА ФУНКЦИОНИРОВАНИЯ, ПРАКТИЧНОСТЬ
Уже самая первая редакция системы Pаradox рекламировалась как
мощная система управления данными, простая в работе, способная конку-
рировать с системами dBase III Plus фирмы Ashton Tate и R:Base для DOS
фирмы Microrim, но по сравнению с последними как более легкая в освое-
нии для непрограммиста. И хотя система Paradox не предназначалась для
того, чтобы заменить dBase, ее двойственная направленность стала ее
существенным преимуществом. Она получила одобрение со стороны служащих
различных фирм, которые ранее избегали использовать реляционные базы
данных.
Спустя три с половиной года версия системы 2.01 по-прежнему явля-
ется одной из лучших мощных систем управления базами данных. Ее можно
запускать непосредственно из окна на экране дисплея, либо проектиро-
вать, готовить и использовать приложения, работающие с базами данных,
на Языке Приложений системы Paradox (Pal). Персональный Программист
поможет непрограммистам проектировать и готовить приложения.
Наличие такого внешнего интерфейса, который позволяет задавать
запросы путем заполнения анкеты по образцу и, таким образом, легко
строить сложные запросы, сразу же поставило систему Paradox в более
выгодное положение по сравнению с другими известными системами управ-
ления данными. Средство ApGen в версии 1.1 системы дает возможность
непрограммистам составлять из частей и компилировать программный код
для приложений пользователя.
Версия 2.01 является самой последней. Следует отметить, что фирма
Ansa поставляет два взаимосвязанных продукта: систему Paradox 386, оп-
тимизированную для микропроцессора Intel 80386, и систему Paradox для
OS/2, которая еще не была объявлена.
Система Paradox 2.01 базируется на четырех элементах: таблицы ор-
ганизации данных, форматы ввода данных и запросов, форматы отчетов и
сценарии. Каждый из этих элементов система Paradox рассматривает как
объект, над которым можно выполнять задачу, а также использовать его в
процессе выполнения задачи над другим объектом. И в свою очередь, каж-
дый объект может использоваться несколькими функциями.
Например, запрос работает с форматом, аналогичным запрашиваемой
вами таблице. Чтобы сформулировать запрос, необходимо пометить требуе-
мые поля птичкой, либо указать номер строки в цифровом поле. Система
выводит результаты выполнения запроса в форме "таблицы ответов". Нес-
мотря на то, что различные способы организации и представления инфор-
мации используются для различных функций, они все рассматриваются как
объекты системы Paradox. Такая функция объектов обеспечивает простоту
функционирования системы при всем многообразии программистских сред-
ств.
Базовый интерфейс системы Paradox представляет собой незаполнен-
ный экран с рядами элементов предлагаемого меню вверху и подсказкой и
текстами сообщений внизу. Вы создаете, модифицируете, запрашиваете и
порождаете данные на основе таблиц путем выбора альтернатив меню и ре-
агируя на последующие подсказки. Используются также функциональные
клавиши - в системе Paradox описан шаблон значений функциональных кла-
виш, которым можно пользоваться в процессе работы. Например, клавиша
F2 инициирует функцию DO-It системы Paradox - это команда, вызываемая
обычно после сеанса редактирования либо аналогичной операции, по кото-
рой запоминаются все внесенные изменения и выполняется возврат к глав-
ному меню. Клавиша F10 завершает операцию.
______________________________________________________________________
Просмотр таблицы ответов: Запись 1 из 4
===== Cust ID ===== Last Name ===== Init ===== Street =====
ORDERS ===== Order # ===== Cust ID ===== Stock # ===== Quant
519
Answer ===== Last Name ===== Init ===== City ===== State ===== Sto
1 Hanover A Dallas TX ***
2 Natthews J San Fran- CA ***
cisco
3 Mayor K Salt Lake UT ***
City
4 Ranier T Klamath
Falls OR ***
______________________________________________________________________
Рис. Запрос, построенный на основе нескольких таблиц,
позволяет получить доступ к нескольким файлам,
содержащим идентичные поля.
Paradox, версия 2,01
Фирма Ansa - Компания Борленд, Inc.
CA 95066, Scotts Valley, Scotts Valley Dr, 4585
(408) 438-8400
Стоимость: $ 725
Требуемая память: 512 К оперативной памяти
_________________________________________________________________
Главное меню обеспечивает также доступ к утилитам , например,
средству импорта/экспорта, позволяющему работать с файлами в формате
1-2-3, или к имеющимся сценариям. Сценарии могут выполняться и запоми-
наться подобно макрокомандам, введенным с клавиатуры дисплея, кроме
того, они могут использоваться при построении приложений с помощью
Персонального Программиста системы Paradox. Персональный Программист -
это часть системы, наиболее усовершенствованная в версии 2.01.
Персональный Программист - это управляемая с помощью меню прог-
рамма, которая значительно облегчает подготовку программных кодов для
приложений пользователя, работающих с базами данных. Это программистс-
кое средство для построения макетов приложений, упрощающее сложную ра-
боту по подготовке программного кода. Персональный программист управ-
ляет работой по созданию меню, таблиц, запросов, форматов, отчетов,
заголовков приложений. Персональный Программист помогает предствавить
проблему с точки зрения приложения.
В отличие от средствa ApGen Персональный Программист позволяет
строить выходные цепочки данных: цепочки всех записей, связанных или
несвязанных между собой, из одной или нескольких таблиц. Такое средст-
во удобно для демонстрации конкретного аспекта связанных в цепочку
данных. Выходная цепочка содержит все записи таблицы, независимо от
того, могут ли они быть в дальнейшем отсортированы. Например, таблица
ответов системы Paradox, полученная в результате объединения таблицы
книг, находящихся в библиотеке, и таблицы книг, задержанных у читате-
телй, будет содержать наименования книг, которые не были просрочены.
Достоинством системы является то, что построение выходной цепочки
с помощью Персонального Программиста выполняется всего в один шаг:
чтобы указать, что Вы хотите работать в многотабличном режиме, необхо-
димо лишь поставить восклицательный знак в том примере, который содер-
жит интересующие Вас записи. Чтобы выполнить эту задачу внутри самой
системы Paradox, потребуется запустить достаточно сложный процесс,
состоящий из шести повторяющихся шагов.
Еще одним новшеством Персонального Программиста является возмож-
ность выбора версии системы Paradox, которую хочет использовать Ваше
приложение. (Однако Paradox 386 и почти уже готовая версия для OS/2
сюда не включаются; у Вас имеется альтернатива из двух версий: 1.1 или
2.01). Другим дополнение к Персональному Программисту в версии системы
2.01 является возможность строить два различных типа приложений: пред-
назначенные только для выполнения (в которых сценарий не может изме-
няться), и модифицируемые приложения (в которых все сценарии, библио-
теки процедур и объекты могут, в случае необходимости, изменяться).
Оба типа могут запускаться непосредственно из системы Paradox или из
DOS. Для персонального Программиста требуется довольно много оператив-
ной памяти и дискового пространства - 640Кбайт и 2Мбайт, соответствен-
но. Кроме того Персональный Программист ограничивает количество таблиц
в приложении до 15, количество альтернатив в меню до 15 и количество
уровней меню до 10. Однако этого достаточно почти для всех сложных и
вложенных приложений.
Paradox 2.01 обеспечивает почти все возможности систем dBase и
R:Base. Кроме того, как показывают наши тесты и оценки функционирова-
ния, она имеет большую скорость реакции и с ней легче работать. Однако
ее язык проектирования несколько беднее языков указанных систем, и,
соответственно, количество специалистов-проектировщиков, работающих в
системе Paradox, меньше. По всем основным характеристикам система
Pardox получила наивысшие оценки. Это надежная, гибкая система, осо-
бенно полезная для тех пользователей, которые ценять простоту и широ-
кие возможности. Система Paradox имеет хорошую репутацию среди пользо-
вателей. В настоящее время ею заинтересовались и разработчики прило-
жений.
