Смекни!
smekni.com

Система рейтингового контроля знаний (стр. 2 из 6)

ßçûê ïðîãðàììèðîâàíèÿ Ñè++ ïðåäñòàâëÿåò ñîáîé ðàñøèðåíèå ÿçûêà Ñè äëÿ ïðîãðàììèðîâàíèÿ îáúåêòîâ è èõ êëàññîâ. Ïðè ýòîì èñïîëüçîâàíèå êëàññîâ ýêâèâàëåíòíî âïëîòü äî ñèíòàêñèñà èñïîëüçîâàíèþ áàçîâûõ òèïîâ äàííûõ.

Глава I

Системы поддержки принятия решений

1. Система 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 (в том числе