Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Образец диплома.doc
Скачиваний:
44
Добавлен:
19.03.2015
Размер:
4.18 Mб
Скачать

3.1. Выбор компонентной базы для доступа к субд FireBird 2.1

Широкое распространение Interbaseи его клонов по всему миру и использование в самых различных ипостасях привело к тому, чтобы было создано множество библиотек доступа кInterBase/FireBird, ориентированных на самые различные среды программирования.

Наиболее популярные из них: IBProvider, InterBase Express (IBX), Devrace FIBPlus.

IBProvider(OLEDBforInterBase) – большой выбор средств разработки, универсальных с точки зрения языка программирования.IBProviderпредоставляет мощный объектно-ориентированный низкоуровневый клиентскийAPIдля работы сInterBase. Встраиваясь в приложения баз данных,OLEDB-провайдер способен взять на себя всю работу по организации взаимодействия с сервером базы данных.OLEDBявляется общепризнанным промышленным стандартом доступа к данным, что позволяет легко разворачивать и управлять приложениями, разработанными с использованиемIBProvider.

Достоинствами компонентов IBPrоviderявляются:

- возможность работы со всей линейкой СУБД InterBase, начиная с версии 4.х и заканчивая клонамиInterBase6 –FireBirdиYaffil. Минимальным условием работы является наличие на компьютере клиента динамической библиотекиgds32.dllотInterBase4;

- поддержка всех типов данных InterBase;

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

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

- полная поддержка синтаксиса SQL, параметризованных запросов;

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

InterBaseExpress(IBX) – набор компонент дляDelphiиC++Builder, позволяющий работать с серверамиInterBase. Продукт основан на кодеFreeIBComponentsи входит в стандартную поставкуBorlabdDelphi/C++BuilderEnterpriseEdition.

К особенностям IBXможно отнести:

- явное управление транзакциями;

- поддержка стандартных и сторонних визуальных компонентов отображения данных;

- поддержка встроенных и сторонних генераторов отчёта;

- использование генераторов для значений ключевых полей.

DevraceFIBPlus– библиотека гибких высокопроизводительных компонентов дляBorlandDelphi5-7,C++Builder5-6,Kylix3, предназначенных для работы сInterBaseиFireBirdс использованием прямогоInterBaseAPI.FIBPlusобъединяет в себе простую архитектуры с удобством разработки, что позволяет создавать мощные и эффективные приложения.

Преимущества FIBPlus:

- поддержка всех версий InterBase, начиная сInterDase4.0 иFireBird 1.0;

- совместимость со всеми стандартными и сторонними визуальными db-компонентами и генераторами отчётов;

- полный контроль транзакций;

- улучшенная производительность в сравнении с аналогами. В частности TpFIBDataSetработает на 30-40% быстрееTIBDataSetвIBX, использует на 60-70% меньше памяти;

- содержит ряд средств для уменьшения сетевого трафика: кэширование метаданных, операция с записями в локальном буфере без обращения к серверу, повторное использование запросов, автомодификация обновляющих запросов.

При использовании Delphi7 можно было бы использовать встроенные компонентыIBX, но серьёзным недостатком является вопрос последующей совместимости с СУБДFireBird. Хотя сегодня многие всё ещё успешно используютIBXвместе сFireBird, вполне возможно, что в будущем всё изменится.IBXне тестируется сFireBirdиBorlandне планирует поддерживать совместимость с будущими версиямиFireBird, т.к. разработчикиFireBirdиInterBaseразвивают продукты в разных направлениях.

Функциональность IBProviderиFIBPlusаналогична, но стоимость первого продукта намного выше другого.

Для работы с базой данных FireBird2.1 логично использоватьDevraceFIBPlus– библиотеку-компонент, обладающую полной совместимостью сDelphi3-7 иFireBirdвсех версий.

Компоненты FIBPlus представлены на двух закладках палитры компонентов. В таблице 1 перечислены все компоненты на закладке FIBPlus. На закладке нет компонентов для миграции с BDE. Нет компонентов со свойствами и методами аналогичными Table или Query. Вместо этого FIBPlus предоставляет только два компонента для доступа к данным - pFIBDataSet и pFIBQuery, оба основанные на работе с SQL.

В таблице 2 перечислены компоненты на закладке FIBPlus Services. Эти компоненты предоставляют доступ к Services API, появившемся в InterBase 6. Используя эти компоненты вы фактически можете реализовывать все функции, которые представлены в утилитах командной строки InterBase и Firebird.

Таблица 1. Компоненты на закладке FibPlus

Компонент

Описание

pFIBDatabase

Подключение к базе данных

pFIBDataSet

dataset в базе данных.

pFIBTransaction

Транзакция.

pFIBQuery

Облегченный компонент для выполнения SQL.

pFIBStoredProc

Вызов неселективных хранимых процедур.

pFIBUpdateObject

Позволяет вам выполнять серии дополнительных SQL-команд при вставке, изменении и удалении записи в pFIBDataSet.

DataSetsContainer

Централизует обработку событий dataset.

pFIBErrorHandler

Централизует обработку ошибок.

pFIBStatistic

Собирает статистику о выполнении запросов в рамках приложения.

SibFIBEventAlerter

Принимает событие с сервера InterBase.

FIBSQLMonitor

Показывает команды SQL-команды, выполненные приложениями.

Таблица 2. Компоненты на закладке FibPlusServices

Компонент

Описание

pFIBServerProperties

Возвращает информацию о конфигурации сервера.

pFIBConfigService

Возвращает наборы параметров сервера, включая sweep-интервал, режим работы базы данных, размер страницы и режим доступа. Позволяет отключать и перезапускать базу данных и тень (shadow).

pFIBLicensingService

Вводит сертификаты лицензий и ключи.

pFIBLogService

Читает лог-файл сервера.

pFIBStatisticalService

Показывает статистику базы данных, включая OIT, OAT, и следующую транзакцию.

pFIBBackupService

Делает резервную копию базы данных .

pFIBRestoreService

Восстанавливает базу данных из резервной копии.

pFIBValidationService

Проверяет или восстанавливает поврежденную базу данных.

pFIBSecurityService

Добавляет, удаляет и модифицирует пользователей.

pFIBInstall

Устанавливает InterBase или Firebird.

pFIBUninstall

Удаляет InterBase или Firebird.

FIBPlus - это прекрасный выбор, если предстоит работать с InterBase и/или Firebird. Компоненты позволяют легко использовать все свойства обеих СУБД в ваших приложениях. FIBPlus делает использование полей-массивов простым делом, рассматривая их как массивы вариантов. Макросы упрощают модификацию SQL-команд в коде. А возможность сортировки результата запроса в памяти без переоткрытия запроса дают вам гибкость в просмотре данных с минимальным сетевым трафиком и загрузкой сервера. FIBPlus делает разработку приложений для InterBase и Firebird проще, чем когда либо.

FIBPlus - набор нативных компонентов Delphi, C++ Builder и Kylix, которые представляют доступ ко всем возможностям InterBase и Firebird. Компоненты FIBPlus используют непосредственные вызовы API для получения максимальной производительности, а pFIBDataSet является потомком стандартного класса TDataSet для совместимости со стандартными и сторонними визуальными компонентами Delphi, C++Builder и Kylix.

Компоненты FIBPlusпостроены таким образом, чтобы их можно было использовать со всеми стандартными визуальнымиdb-компонентами и сторонними продуктами, поддерживающими стандартTDataSet-TDataSourse. Таким образом, разработчик, выбравшийFIBPlusдля доступа к базе данныхFireBird, не ограничен в выборе сторонних компонент для отображения данных или печати отчётов.

Для решения поставленной задачи на дипломное проектирование выбрана среда программирования Delphi7 с установленной библиотекой компонентFIBPlus.