Мир InterBase. Архитектура, администрирование и разработка приложений баз данных в InterBase/FireBird/Yaffil
Шрифт:
В нашей книге подробно рассмотрено применение наиболее прогрессивной, по мнению авторов, библиотеки доступа - Devrace™ FIBPlus™, которая поддерживает все версии InterBase, начиная с 4.x, а также все клоны InterBase: Firebird и Yaffil.
Несомненно, нельзя забывать про использование баз данных в приложениях, ориентированных на Интернет. Прежде всего это работа с базами данных в Java, а также в CGl-приложениях. Этим вопросам в книге посвящены две главы, рассматривающие простые примеры работы с базами данных InterBase.
Для популярных языков Perl, Python и РНР также существуют свои собственные библиотеки доступа к базам данных InterBase, с помощью которых можно легко построить динамический сайт с поддержкой базы данных. Эги библиотеки перечислены ниже в таблице 1.6, содержащей общий список всех библиотек доступа к InterBase.
Завершая этот обзор, необходимо добавить, что большинство библиотек доступа поддерживают возможность разработки кросс-платформенных клиентских приложений, которые можно легко переносить с Windows на Linux или другие
Список библиотек доступа к InterBase
Широкое распространение InterBase и его клонов по всему миру и использование в самых различных ипостасях привело к тому, что было создано множество библиотек доступа к InterBase/Firebird, ориентированных на самые различные среды программирования. Ниже, в таблице 1.6, приведен список наиболее популярных продуктов:
Библиотека | Краткое описание | Где взять |
Free IB Components (FIBC) | Четыре компонента, написанные в 1998 г. Грегори Детцем. Идеи, заложенные в FIBC, послужили основой для создания библиотек FIBPlus и IBX | ftp.ibphoenix.com /download |
FIBPlus | Библиотека прямого доступа, оформленная в виде компонентов, применяется в Delphi 3-6, C++ Builder 3-6, Kylix. Поддерживает интеграцию со стандартными data-aware-компонентами. Основана на коде Free IB Components | www.fibplus.net |
IBObjects | Набор компонентов для прямого доступа, включающий также визуальные компоненты для работы с базой данных | www.ibobjects.com |
InterBase Express (IBX) | Набор компонентов для работы с базами данных InterBase, позволяющий использовать data-aware- компоненты для представления данных. Продукт основан на коде FreelBComponents и входит в стандартную поставку Borland Delphi/C++ Builder Enterprise Edition | codecentral.borland.com/ codecentral/ccweb.exe/ author?authorid=102 |
Zeos Database Objects | Набор компонентов для работы с различными серверами баз данных, в том числе и InterBase. Позволяет использовать стандартные data- aware-компоненты для представления данных, а также содержит свои собственные визуальные компоненты | www.zeoslib.org |
SQLAPI++ | Библиотека классов для C++, позволяющая работать со многими SQL- серверами, в том числе и InterBase | www.sqlapi.com |
Open Source Firebird and InterBase ODBC Driver | ODBC-драйвер для InterBase/Firebird. Существует в виде открытых кодов. Также поддерживает возможность организации "моста" ODBC-JDBC | www.ibphoenix.com /ibp_60_odbc.html |
Gemini InterBase ODBC Driver | ODBC-драйвер, поддерживает все версии InterBase, начиная с 4.x, а также предоставляет поддержку всех возможностей InterBase 6.5 и Firebird 1.0 | www.ibdatabase.com |
IBProvider | OLE DB-провайдер для доступа к базам данных InterBase. Полностью поддерживает все свойства InterBase б.х/Firebird 1.0 | WWW. lbprovider.com |
SIBProvider | OLE DB-провайдер для доступа к базам данных InterBase | www.sibprovider.com |
IBPerl | Объектно-ориентированная библиотека для PerlS для работы с базами данных InterBase | www.karwin.com/ibperl |
DBD .InterBase | DBI-драйвер для InterBase | dbi-lnterBase.sourceforge.net |
PHPLib for InterBase | Библиотека доступа к InterBase для языка РНР | www.intelicom.si |
ADODB - InterBase PHP4 Database Wrapper | Библиотека доступа к InterBase для языка РНР | php.weblogs.com/adodb |
Zope Driver for InterBase | Библиотека доступа к InterBase для языка Python | www.zope.org/Members /mcdonc/RS/lnterBaseStorage |
InterClient | JDBC-драйвер | Включен в стандартную поставку Borland InterBase |
Самый полный и "свежий" список библиотек доступа всегда можно найти на сайте поддержки данной книги www.InterBase-world.com, а также на сайте www.ibase.ru
Разработка приложений баз данных InterBase на Borland Delphi/C++ Builder/Kylix
Что такое InterBase Express?
Пользователи Borland Delphi 5-7 и Borland C++ Builder 5-6 редакций Professional и Enteiprise наверняка уже обратили внимание на закладку InterBase в палитре компонентов. Именно эта закладка и представляет собой набор компонент под общим названием InterBase Express или IBX. Это компоненты для работы с базами данных InterBase, которые используют прямое InterBase API, т. е. обращаются к серверу непосредственно, без каких-то промежуточных (middle-ware) средств.
Фактически если разрабатывать приложения баз данных с использованием IBX, то для работы таких приложений нужно лишь наличие GDS32.DLL на диске в доступном месте.
Официально разработка IBX ведется в рамках IPL - InterBase Public License, т. е. компоненты доступны в полных исходных текстах и вы можете использовать их совершенно бесплатно. Однако фактически данные компоненты разрабатываются только сотрудниками корпорации Borland, совместимы только с определенными версиями и редакциями Delphi и C++ Builder и недоступны для публичной разработки, как это принято в обычных Open Source-проектах.
Компоненты IBX позволяют разрабатывать приложения, ориентированные на идеологию и архитектуру InterBase. К особенностям IBX можно отнести:
* явное управление транзакциями;
* поддержке расширений InterBase 6.0-7.0;
* поддержку event-alerters;
* использование генераторов для значений ключевых полей;
* управление сервером через Services API;
* поддержку стандартных и сторонних визуальных компонентов отображения данных;
* поддержку встроенных и сторонних генераторов отчета;
* совместимость с Delphi 5-7, C++ Builder 5-6 и Kylix
Основой кода IBХ является библиотека FreelBComponents, написанная Грегори Дилтцом в 1998 году. Основные изменения, сделанные в Borland, касались поддержки нового стандарта идентификаторов в SQLDialect 3, а также приведение компонентов к виду, аналогичному существовавшим компонентам (мы поясним суть этой аналогии позднее). Теперь с выходом каждой очередной версии Delphi или C++ Builder IBX включается в поставку, однако все равно желательно проверять наличие исправлений или дополнительных сборок на сайте http://codecentral.borland.com.
Общее описание основных компонентов, включенных в состав IBX
TIBDatabase - предназначен для подключения к базе данных. Основные методы: Open, Close.
TIBTransaction - предназначен для явного управления транзакцией. Основные методы: StartTransaction, Commit, Rollback, CommitRetaining, RollbackRetaining.
TIBTable - аналог стандартного TTable. Компонент предназначен для получения данных из одной таблицы или представления базы данных. Основное свойство - TableName. Основные методы: Open, Close. Набор данных, полученных при помощи TIBTable, является редактируемым, если речь идет о таблице базы данных или обновляемом представлении. Компонент совместим с визуальными компонентами.
TIBQuery - аналог стандартного TQuery. Компонент предназначен для получения данных на основе SQL-запроса. Этот набор данных не всегда будет редактируемым, зачастую необходимо использовать дополнительный компонент TIBUpdateSQL, чтобы иметь возможность редактировать полученные сведения. Основное свойство - SQL. Основные методы: Open, Close, ExecSQL. Компонент совместим с визуальными компонентами.
TIBDataSet - предназначен для получения и редактирования данных, является потомком стандартного класса TDataSet и полностью совместим со всеми визуальными компонентами. Основные методы: Prepare, Open, Close, Insert, Append, Edit, Delete, Refresh.