Вид полей БД ФК представлен на рис. 19.
Структура БД ФК включает в себя следующие элементы: “Дата", “Время", “Тип устройства", “Признак” (признак группирования информации), “Вид сообщения" (БС, НСД, ФК, НЛИ, и т.д.), “Текст сообщения”. В поле “Текст сообщения" находится сообщение типа: “НСД снято", или “Нет связи по линии 1", или “разблокировано по ФК", и т.п., т.е. раскрывается конкретное значение поступившего по устройству сообщения. Остальные элементы, перечисленные ранее, являются ключевыми, и служат для поиска последнего элемента “Текст сообщения".
Проектировщику в настоящее время предоставляется достаточно большой выбор СУБД, разработанных для разных конфигураций и типов ЭВМ. Анализ основных параметров этих систем позволяет сразу же отвергнуть ряд СУБД, заведомо непригодных к использованию в разрабатываемой информационной системе, оставив для последующего рассмотрения не более 2-х - 3-х систем - претендентов.
На выбор СУБД - претендентов наибольшее влияние оказывает согласование ряда параметров среды реализации и СУБД. Наиболее значимые параметры перечислены ниже (в скобках указаны характеристики АРМ РД):
тип ЭВМ (IBM PC AT на базе процессора Intel 80386);
операционная система (MS DOS);
объем оперативной памяти (2Мб);
объем дисковой памяти (160 МБ);
выбранная для реализации модель данных (реляционная).
Перечислим СУБД подобного класса: D-Base, Clipper, Paradox. Перед тем как приступить к сравнительному анализу моделей баз данных, и, следовательно, к окончательному выбору СУБД, необходимо выделить набор факторов, которые влияют на окончательный выбор варианта.
Наиболее часто используемые факторы оценки моделей баз данных:
трудоемкость реализации приложений;
стоимость эксплуатации информационной системы;
возможность совмещения разработки БД с ранее выполненными программными реализациями;
прогнозируемые сроки реализации информационной системы;
затраты на обучение персонала.
На этом этапе необходимо несколько детализировать требования к реализуемому ПО АРМ РД.
Как было отмечено в п.3.3.1., обмен информацией в системе происходит при помощи кодограмм, которые содержат информацию о состоянии устройств в двоичном коде, поэтому требования к СУБД, и соответственно к программам-приложениям достаточно жестки - необходимо обеспечить выборку сведений об устройствах, причем с возможностью их представления не в двоичном виде, а в удобной для анализа форме - в виде таблиц и справок.
Следовательно, большие требования предъявляются даже не к СУБД, а к языку программирования, на котором будут создаваться программы-приложения. Реализация программных средств окружения СУБД и приложений достаточно трудоемкий процесс.
При выборе СУБД необходимо учесть и такой фактор, как наличие опыта у разработчиков в создании прикладных программ для данной СУБД, часто он является определяющим.
В качестве программного продукта для создания ПО АРМ РД была выбрана разработка фирмы Borland - язык программирования Турбо Си++ версии 3.0 и библиотека стандартных программ на языке Турбо Си++ Paradox Engine для реализации обслуживания реляционных баз данных.
Paradox Engine является уникальным программным средством, позволяющим программистам языка Си в полном объеме использовать архитектуру системы Paradox.
Engine - библиотека стандартных программ на языке Си, которые можно объединить с любой прикладной программой на языке Си. В большинстве современных систем общий доступ к данным можно осуществить лишь при выполнении дополнительных операций - обычно файлы одной операционной среды переводятся в форматы другой, и наоборот. Если при анализе задачи выясняется, что исходные данные хранятся в разных системах, то проблемы обобщения становятся важной областью решения задачи.
Engine устраняет эту проблему, открывая структуру данных Paradox для программ на языке Си. Таким образом, прикладные программы на языке Си получают возможность обрабатывать данные системы Paradox.
Paradox Engine - это удобное средство для разработчиков программ обслуживания реляционных баз данных на традиционном языке программирования. Разработчики Engine могут использовать данные системы Paradox или разрабатывать приложения, которые в дальнейшем можно развивать на основе Paradox. Разработчики Paradox могут расширить функции системных программ Paradox, дополнив их вспомогательными программами на языке Си.
Основные характеристики системы Paradox.
Таблицы Paradox - это стандартные файлы DOS с расширением ". DB”. Имена таблиц отвечают стандартным соглашениям об идентификации файлов, принятым в ОС MS DOS.
Каждая таблица может содержать до двух биллионов записей, а при ее записи на диск размер таблицы ограничен только размером диска или объемом свободной памяти на диске.
Каждая запись может включать до 255 полей, а каждое поле до 255 символов.
В Paradox используется пять типов полей: алфавитно-цифрового типа, которые позволяют использовать полный набор символов кода ASCII, числовые поля данных, позволяющие использовать до 15-ти значащих цифр, включая место для десятичной точки в интервал значений, а также текущие поля данных, короткие числовые поля и поля даты.
Для упорядочения и поиска ключевых полей таблицы в Paradox Engine предусмотрены специальные функции, использующие индексный метод доступа. Индекс таблицы позволяет ускорить процесс поиска нужной записи. Первичный индекс упорядочивает записи в порядке возрастания ключевых полей. Paradox хранит записи отсортированными по ключу и не позволяет дублировать ключи. Вторичные индексы, как правило, организуются для очередей таблиц и служат для улучшения представления данных.
Для создания оконного интерфейса пользователя используется библиотека СXL - библиотека функций на языке С, что дает возможность ускорить написание программы, так как позволяет уделить больше времени решению основной задачи.
Конечно, нельзя однозначно сказать, что выбранная СУБД идеально соответствует поставленной перед разработчиками задаче. Для иллюстрации сравним Paradox Engine и СУБД Paradox с внутренним языком программирования PAL.
PAL - это внутренний язык программирования системы Paradox. Сравнивая PAL и Си, можно отметить, что и тот и другой обладают рядом преимуществ и недостатков.
Например, PAL обладает обширным встроенным аппаратом для обслуживания баз данных, однако не обладает гибкостью и управляющими возможностями языка Си. С другой стороны, Си, обеспечивая максимально возможный уровень управления программой, и, следовательно, ее гибкость, не обладает возможностью обслуживания баз данных.
PAL считается языком высокого уровня, предельно подогнанным к среде Paradox. Он обеспечивает возможность создания документов, зашитую в интерфейс вместе с процедурными возможностями, а также является идеальным средством для быстрого макетирования или разработки многопользовательских программ обслуживания баз данных.
В свою очередь, т.к Си является традиционным языком программирования, то его нецелесообразно применять для программ обслуживания баз данных - они сложнее аналогичных программ на языке PAL. С другой стороны, программы обслуживания баз данных на языке PAL больше по размеру и хуже по быстродействию, чем те же программы на языке Си, использующие функции Engine.
Преимущества языка PAL заключаются в том, что он обладает обширным встроенным аппаратом и обеспечивает немедленный доступ ко всем областям системы Paradox. PAL позволяет разрабатывать программы с использованием опций меню Paradox.
Преимущества Engine заключаются в следующем: обеспечение высокого уровня управления программами; расширение функциональности системы Paradox (работая в Engine, вы ограничены только возможностями собственной программы и доступностью вспомогательных библиотек); обеспечение максимальной эффективности программ при их минимальном размере.
Из представленных выше рассуждений следует, что при помощи любого программного продукта приблизительно одного класса можно решить поставленную задачу, выбрав различные подходы к проблеме, минимизируя или максисмизируя те или иные характеристики.
Можно сделать вывод, что на выбор СУБД повлияли следующие факторы:
Наличие опыта программирования на языке Турбо Си++, у разработчиков, что позволяет снизить временные и материальные затраты на их переобучение.
Трудоемкость реализации приложений, позволяющая в то же время обеспечить более высокое быстродействие выполнения программ (например, позволяющая минимизировать такую характеристику как время поиска по БД, и, следовательно, уменьшить время реакции на запрос).
Обеспечение гибкости ПО и высокого уровня управления программами.
Си открывает программисту доступ к “внутренностям” компьютера - битам, байтам и регистрам, управляющим работой центрального процессора и внешних устройств. Но Си все-таки представляет собой нечто большее, чем язык ассемблера высокого уровня. Блочная структура программы на Си обеспечивает как защиту данных, так и высокий уровень контроля за областями действия и видимости переменных.
Возможность при реализации ПО АРМ РД для создания оконного интерфейса использовать библиотеку СXL - библиотеку функций на языке Си, что дает возможность уделить больше времени решению основной задачи.
Структура комплекса программ АРМ РД представлена на рис.20 и является логическим продолжением реализации функционального назначения АРМ РД.