≪
≫

ТЕХНОЛОГИЯ ДОСТУПА К ДАННЫМ INTERBASE EXPRESS (IBX)

IBX является технологией прямого доступа к данным БД.

На странице InterBase Палитры компонентов содержатся компоненты доступа к данным, адаптированные для работы с сервером InterBase и объединенные названием InterBase eXpress. Их преимущество заключается в реализации всех функций за счет прямого обращения к API серверу InterBase. Благодаря этому существенно повысилась скорость работы компонентов.

Компоненты IBX позволяют разрабатывать приложения, ориентированные на архитектуру InterBase. К особенностям IBX можно отнести:

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

Рассмотрим иерархию компонентов IBX и определим, как

они связаны. Затем можно будет более полно представить, как именно их использовать (рис. 15).

Рассмотрев эту схему, можно сделать несколько выводов.

Во-первых, очевидно, что компонент TIBSQL не унаследован от класса TDataSet, поэтому невозможно использовать его с визуальными компонентами, вроде TDBGrid или TDBEdit, т. к. все стандартные визуальные компоненты работают только с потомками класса TDataSet.

Во-вторых, из данной схемы видно, что в IBX есть компоненты, совместимые с визуальными компонентами

(TDBGrid, TDBEdit и т. д.). Это потомки внутреннего класса TIBCustomDataSet — TIBDataSet, TIBTable, TIBQuery и TIBStoreProc. Почти вся данная ветка классов по своему назначению близка к аналогичной ветке компонентов для работы с BDE — TTable, TQuery и TStoreProc — предназначена для быстрой миграции старых приложений с BDE на IBX.

Иерархия компонентов IBX

Рис. 15. Иерархия компонентов IBX

Для компонентов IBX соединение с сервером БД осуществляет компонент TIBDataBase.

Механизм доступа к данным IBX использует для обращений к серверу возможности клиентского программного обеспечения InterBase, которое должно быть инсталлировано на компьютере. При этом не требуется использовать BDE или любой другой механизм доступа к данным. Но в результате все компоненты IBX, инкапсулирующие набор данных, должны обращаться к БД только через компонент соединения TIBDataBase. Он позволяет выполнять некоторые операции с метаданными БД. Его основные методы: Open, Close.

В компоненте TIBDataBase отсутствуют средства управления транзакциями, которые вынесены в отдельный компонент TIBTransaction.

TIBTransaction предназначен для явного управления транзакцией. Основные методы: StartTransaction, Commit, Rollback, CommitRetaining, RollbackRetaining.

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

TIBDataSet предназначен для получения и редактирования данных, является потомком стандартного класса TDataSet и полностью совместим со всеми визуальными компонентами. Основные методы: Prepare, Open, Close, Insert, Append, Edit, Delete, Refresh.

Возможности компонентов TIBTable, TIBQuery, TIBStoredProc, TIBUpdateSQL мало чем отличаются от стандартных.

TIBTable — аналог стандартного ТТаЫе. Компонент предназначен для получения данных из одной таблицы или представления БД. Основное свойство — TableName. Основные методы: Open, Close. Набор данных, полученных при помощи TIBTable, является редактируемым, если речь идет о таблице БД, или обновляемом представлении. Компонент совместим с визуальными компонентами.

TIBQuery — аналог стандартного TQuery. Компонент предназначен для получения данных на основе SQL-запроса. Этот набор данных не всегда будет редактируемым, зачастую необходимо использовать дополнительный компонент TIBUpdateSQL, чтобы иметь возможность редактировать полученные сведения. Основное свойство - SQL. Основные методы: Open, Close, ExecSQL. Компонент совместим с визуальными компонентами.

TIBStoredProc предназначен для выполнения хранимых процедур и получения набора данных на основе результатов выполнения процедуры. Получаемый набор данных является нередактируемым. TIBStoredProc совместим с визуальными компонентами. Основное свойство — StoredProcName. Основной метод — ЕхесРгос.

Компонент TIBSQL предназначен для быстрого выполнения запросов SQL, поэтому не обеспечивает связи с компонентами представления данных.

TIBUpdateSQL — аналог TUpdateSQL. Используется в паре с TIBQuery и предназначен для создания модифицируемых наборов данных. Основные свойства: DeleteSQL, InsertSQL, ModifySQL и RefreshSQL.

TIBDataBaselnfo позволяет получить системную информацию о некоторых свойствах БД, соединения и сервера. Например, UserNames — список пользователей, подключенных к БД; PageSize - размер страницы БД.

TIBSQLMonitor предназначен для перехвата и отслеживания всех запросов, которые выполняют приложения, использующие IBX.

TIBEvents предназначен для получения пользовательских событий InterBase. Основное свойство — Events. Основные методы: RegisterEvents, UnregisterEvents.

Используя данную технологию, можно добиться минимального количества «прослоек» между непосредственно кодом клиентского приложения и вызовами InterBase API. Это позволяет получить в приложениях максимальную производительность, полную поддержку всех возможностей InterBase, а также минимальный объем конечного продукта, т. к. для работы приложений на базе прямого доступа необходима лишь минимальная установка клиента InterBase.

  • Ш ВОПРОСЫ ДЛЯ САМОКОНТРОЛЯ
  • 1. Опишите технологию доступа к данным IBX.
  • 2. Опишите иерархию компонентов технологии IBX.
  • 3. Перечислите основные компоненты технологии IBX для подключения БД и опишите их.
  • 4. Перечислите основные компоненты технологии IBX для работы с наборами данных и опишите их.
  • 5. Перечислите основные компоненты технологии IBX для получения информации о БД и операциях, выполняемых над ней.
  • 6. Выделите преимущества и недостатки использования технологии IBX.
 
Посмотреть оригинал