BORLAND DELPHI: Базы данных "на DELPHI" - BDEИсточник: PC World Чужа Виталий
Omnia mea mecum porto Всё своё ношу с собой Однако существует целый ряд доводов, против использования 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. Однако, особенно в случае использования таких библиотек в крупных проектах, необходимо обратить внимание не только на цену и заявленную функциональность. Наличие серьезной документации к такого рода программному обеспечению, возможность получить исходные коды, оперативная техническая поддержка, длительность существования фирмы-разработчика на этом рынке, ее планы на будущее - все это также серьезные, а может быть и решающие, факторы для принятия окончательного решения. Главное -- чтобы в результате ваши ожидания относительно выбранного программного продукта оправдались. А решение в любом случае остается за вами. |