Omnia mea mecum porto.
Bias
Всё своё ношу с собой.
Биант
Однако существует целый ряд доводов, против использования BDE:
Эта задача была настолько очевидной, востребованной и привлекательной, что с выходом первых версий Borland Delphi появились и наборы компонент, открывающие доступ к источникам данных и работающие без участия BDE. Только широко известных наборов компонент такого рода на сегодняшний день насчитывается более 30 (табл. 1). Условно их можно разбить на группы по признаку предоставления доступа к тем или иным источникам данных. Вот некоторые из них.
Компоненты доступа к серверам баз данных
Среди наборов компонент, предоставляющих доступ к серверам баз данных, таких как Informix, MS SQL Server, DB2, InterBase, MySQL, Oracle и Sybase, ваше внимание может привлечь компоненты ZeosDBO. Прежде всего это связано с тем, что он распространяется бесплатно. Но это не единственное его достоинство. В состав ZeosDBO входит несколько библиотек.
Библиотека ZEOS Library включает в себя целый спектр компонентов: прежде всего для быстрого доступа к SQL серверам MySql, PostgreSql, MicrosoftSQL, Oracle и Interbase, минуя посредничество BDE/ADO/ODBC. Библиотека включает:
Библиотека Zeos Controls - управляющие элементы Zeos - включает следующие элементы:
В данную библиотеку входят и утилиты для работы с сервером MySQL - Interactive MySQL и PostgreSQL сервером - Interactive PostgreSQL. Эти программные продукты позволяют создавать и отлаживать SQL-запросы, просматривать и редактировать полученные таблицы, а также blob-поля.
Zeos Database Explorer - инструмент, обладающий всеми преимуществами Interactive MySQL и Interactive PostgreSQL и поддерживающий Interbase SQL и Microsoft SQL. Позволяет администрировать все доступные базы данных с помощью удобного интерфейса. Одно из дополнительных преимуществ - наличие средств резервного архивирования и восстановления базы данных.
Библиотека классов для программирования на C++ для Linux, продолжающая традиции библиотек классов Delphi VCL и Java, содержит абстрактные классы, классы для работы со всевозможными списками, классы для работы с базами данных, потоками, строками, сетевыми протоколами TCP/IP и т.д.
Компоненты доступа к стандартным источникам данных
Среди наборов компонент, предоставляющие доступ к стандартным источникам данных (xBase, Paradox, Access) можно выделить GM Components. На данный момент на сайте фирмы-разработчика этого набора для ознакомления доступны инсталляции для версий Borland Delphi 3,4,5. Все они являются полнофункциональными, однако время работы приложения, использующего эти компоненты, ограничено 15 минутами. Процесс инсталляции автоматизирован и достаточно прост, после запуска интегрированной среды разработчика Borland Delphi 5 появляются 3 новых закладки - GM, GM DB и GM DAO, компоненты GM ADO добавляются на существующую закладку ADO.
На закладке GM размещаются компоненты, относящиеся, по большей части, к разработке интерфейса приложения: индикатор процесса, кнопка, селектор цвета, селектор стиля кисти, меню и т.д. Многие из них являются усовершенствованными потомками стандартных компонент Delphi и, по-моему, особой ценности для разработчика не представляют, поскольку существует масса бесплатных компонент со схожей функциональностью.
Более интересной выглядит закладка GMDB, на которой размещены такие компоненты доступа к данным как:
На закладке ADO размещаются
компоненты, открывающие доступ к данным OLE-DB провайдеров, осуществляющийся без
использования BDE.
И, наконец, на закладке
DAO размещаются четыре компоненты, обеспечивающие доступ к файлам баз данных,
хранимых в формате MS Access, а также к данным посредством ODBC.
Для построения несложного приложения Borland Delphi, использующего для хранения данных базу в формате MS Access, достаточно выполнить несколько простых шагов.
Создать файл базы данных с использованием, например MS Access 2000, в котором построить таблицу, указать ключевые поля и создать индексы.
Создать новый проект в интегрированной среде разработчика Borland Delphi и разместить на нем:
Единственным, но существенным недостатком shareware-версии данной библиотеки компонентов, является ограничение работы приложения пятнадцатью минутами, по истечении которых оно закрывается без сохранения не записанных данных, о чем, впрочем, пользователя честно предупреждают перед каждым запуском программы.
DBISAM: давайте познакомимся…
К наборам компонент, предоставляющих доступ к данным, хранящимся только в собственном формате, относится DBISAM.
На сегодняшний день последняя выпущенная версия Elevate Software DBISAM предназначена для использования как с Borland Delphi 5, так и для Borland C++ Builder 5. В состав этого пакета входит три утилиты - DBISAM Database System Utility, DBISAM BDE Database Transfer Utility, а также Customer Support Transfer Utility. Кроме того, после инсталляции этого продукта, на палитре компонентов Borland Delphi появятся две новые закладки - DBISAM и DBISAM Utilities - всего с девятью компонентами, которых вполне достаточно для построения приложения, взаимодействующего с базой данных. Кстати, процесс инсталляции полностью автоматизирован и не вызовет никаких трудностей, если вы обладаете хотя бы минимальными знаниями английского языка и опытом работы с Windows.
… и поработаем вместе: DBISAM Database System Utility
Идеология создания файла базы данных с помощью пакета DBISAM покажется вам очень знакомой. Только вместо использования Borland Database Desktop нам предлагается воспользоваться DBISAM Database System Utility -- утилитой для создания файлов баз данных DBISAM. Если вы хорошо знакомы с Borland Database Desktop, то особых сложностей с использованием его альтернативы у вас возникнуть не должно.
С помощью меню “File-New Table” (альтернатива - первая кнопка на панели инструментов) откроем окно “New Table”, вид которого представлен на рис. 9 (перевод добавлен автором статьи), и создадим простейшую базу данных, содержащую три поля: поле NPP для автоматической нумерации записей, поле FIO для записи фамилии, имени и отчества, а также поле ADDRESS - для записи адреса.
Обратите внимание на следующие особенности, поддерживаемые на этапе создания БД:
Создадим для нашей БД два вторичных индекса для полей FIO и ADDRESS.
Для вторичных индексов также можно задать ряд параметров:
После нажатия на кнопку “Save” БД сохраняется на диске - процесс создания завершен. Необходимо отметить тот факт, что файл БД (в данном случае test.dat) имеет расширение .dat, а индексы, blob-поля и т.д., хранятся в одноименных файлах, но с другими расширениями (здесь - test.idx). Об этом необходимо помнить при переносе приложения на другой ПК.
Кроме создания собственно БД, DBISAM Database System Utility предоставляет целый ряд дополнительных функций и утилит, которые при работе с БД обеспечивают:
Немного о реверс-инженерии
Есть еще один очень
интересный инструмент, скрывающийся в меню “Utilities” под скромным названием
“Reverse Engineer”. Этот инструмент генерирует код на SQL-92, Object Pascal для
Delphi или C++ для Borland C++ Builder (по выбору), создающий структуру
выбранной базы данных DBISAM.
Кроме выбора языка, на
котором будет генерироваться код, предоставляется возможность включения в него
дополнительного кода, добавляющего существующие данные во вновь создаваемую
таблицу БД (пункт “Include Code to Add Existing Data”) .
DBISAM BDE Database Transfer Utility
С помощью этого приложения
можно осуществить перенос БД, разработанной для использования через BDE, в
систему DBISAM.
Источник данных можно
выбирать как с помощью существующего псевдонима BDE (“Select Source Alias”), так
и с помощью дерева каталогов (“Select Source Directory”). В окне выбора таблиц
для переноса (“Select Tables To Transfer”) можно выбрать как один, так и
несколько файлов баз данных для переноса. После выбора каталога назначения
(“Select Destination Directory”), остаётся нажать кнопку “Начать перенос”
(“Begin Transfer…”), и приложение осуществит перенос. Очень похоже на несколько
видоизмененный Data Pump, не правда ли?
Пример программного интерфейса
Для того чтобы начать работу с уже существующей БД (в нашем случае test.dat), достаточно создать несложный интерфейс с помощью Borland Delphi.
В простейшем случае для этого необходимо выполнить ряд стандартных операций.
Всё, что осталось сделать, - откомпилировать проект. После компиляции не трудно заметить, что размер EXE-файла проекта занимает около 1 МБ, что примерно на 400 КБ больше, чем обычно в подобном случае с BDE. Вполне умеренная плата за такую функциональность, не так ли?
Подведем итоги
На сегодняшний день рынок альтернатив Borland Database Engine богат и разнообразен, и при необходимости можно достаточно легко найти библиотеку компонент, обладающую необходимой именно вам функциональностью, с невысокой ценой или даже freeware. Однако, особенно в случае использования таких библиотек в крупных проектах, необходимо обратить внимание не только на цену и заявленную функциональность. Наличие серьезной документации к такого рода программному обеспечению, возможность получить исходные коды, оперативная техническая поддержка, длительность существования фирмы-разработчика на этом рынке, ее планы на будущее – все это также серьезные, а может быть и решающие, факторы для принятия окончательного решения. Главное -- чтобы в результате ваши ожидания относительно выбранного программного продукта оправдались. А решение в любом случае остается за вами.
При написании статьи
использовались материалы с веб-сайтов соответствующих фирм-производителей, а
также с обзорных сайтов www.kylecordes.com и www.delphicity.net.
2004.04.09 Автор: Чужа Виталий
|
Программирование для чайников.
|