ПРОЕКТИРОВАНИЕ И РАЗРАБОТКА ИНФОРМАЦИОННЫХ СИСТЕМ

         

Библиотеки доступа к базам данных


Библиотеки доступа к серверам приложений удобно применять для адаптации файл-серверных приложений, построенных на системах программирования типа Clipper или Clarion.

Система управления записями Clarion достаточно легко связывается с сервером баз данных Btrieve через библиотеку доступа. Нужно только заметить, что Btrieve не является SQL-сервером БД, что затрудняет программирование с использованием этого средства.

Приложения, построенные на Clipper, можно адаптировать с помощью программного интерфейса с выбранным сервером БД. Для примера рассмотрим библиотеку интерфейса Clipper-Oracle.

Интерфейс реализован в виде библиотеки функций, доступных для их использования в прикладных программах, написанных на языке Clipper, и выполняющих все необходимые операции над базой данных Oracle. Функции написаны на языках Clipper и Си.

С помощью функций этой библиотеки можно выполнять следующие операции над таблицами базы данных системы Oracle:

  • подключиться к системе Oracle;
  • вставить в базу данных новую строку;
  • удалить существующую строку;
  • произвести модификацию содержимого полей существующей строки;
  • выполнить поиск строк по заданному точному значению полей;
  • выполнить поиск строк по заданному шаблону значений полей;
  • выполнить поиск строк по их относительному номеру в заданной группе;
  • блокировать и разблокировать таблицы;
  • обрабатывать транзакции, в том числе с возможностью установки контрольных точек внутри одной транзакции.

В то же время для всех этих операций (кроме обработки транзакций) имеются соответствующие аналоги в системе Clipper, и все операции с базой данных системы Clipper могут быть реализованы с помощью функций предлагаемой библиотеки.

Кроме того, существует возможность прямого использования языка SQL, который является основным языком обработки данных не только в системе Oracle, но и в большинстве других развитых СУБД.

Версия языка SQL, реализованная в Oracle, ориентирована на стандарт этого языка и содержит ряд ограничений. Например, оператор Fetch позволяет перемещаться по результирующей таблице только в одном направлении, исключая возвраты назад.
Функции библиотеки снимают эти ограничения.

С помощью функций библиотеки можно обрабатывать таблицы Oracle всех типов, в том числе виртуальные таблицы, кластеризованные таблицы, таблицы с индексами и без индексов. При этом обеспечивается преобразование форматов данных Oracle в форматы данных Clipper и наоборот.

Единицей обмена между прикладной программой и базой данных является строка таблицы, которая с точки зрения Clipper является массивом. Каждый элемент массива соответствует одному полю таблицы. Аналогично представляются ключи и поля поиска.

В состав библиотеки входят следующие функции:

INIT () подключение к Oracle; OPEN () открытие таблицы; INSERT () добавление строки; UPDATE () корректировка строки; DELETE () удаление строки; SELECT () поиск строки; NEXT () чтение следующей строки; SET () чтение строки по относительному номеру; SKIP () пропуск строк; FILTER () выбор строк по условию; GETIND () сохранение индекса; SETIND () установка индекса; COMMIT () конец транзакции; SAVE () установка контрольной точки; ROLL () откат транзакции; LOCK () блокировка таблицы; SQL () выполнение оператора SQL; CLOSE () закрытие таблицы; STOP () отключение от Oracle.

Предлагаемые функции не препятствуют использованию собственных средств управления данными Clipper, что позволяет совместно обрабатывать разнородные базы данных. Так, в качестве центральной может использоваться база данных Oracle на большой, мини- или персональной ЭВМ, а в качестве локальной может использоваться база данных Clipper на персональном компьютере пользователя.

В состав интерфейсных средств включен специальный модуль для автономной отладки прикладных программ без системы Oracle. Этот модуль выполняет все функции интерфейса на DBF-файлах, что позволяет разрабатывать и полностью отлаживать программы, используя только систему Clipper на обычном персональном компьютере. Кроме того, эта возможность позволяет разрабатывать прикладные программы сразу в двух вариантах - сетевом и автономном.

Такой подход позволяет сохранить ранее разработанное и внедренное программное обеспечение, обеспечить преемственность при разработке новых прикладных систем, поддержать единую технологию программирования.


Содержание раздела