
- •Теория субд
- •За таблицами – наше будущее!
- •Связываем данные
- •Объектный рай
- •Сетевая база данных
- •Клиент-сервер
- •Особенности клиент-сервера
- •Индексы на сервере
- •Третий уровень
- •Сетевые субд
- •Архитектуры субд: технология локальных (настольных) бд
- •Архитектуры субд: технология "клиент-сервер"
- •В чем сходства и различия?
- •Выбираем бд
- •Кибернетическое будущее за базами знаний
- •Искусственный интеллект
- •Данные и знания
- •Базы знаний и экспертные системы
- •Машинное обучение
- •Анализ данных и olap-технологии
- •Индукция правил и деревья решений
- •Хранилища данных и корпоративная память
- •Машинное обучение – ключ к кибернетическому бессмертию
- •Кофе. Солнце. Базы данных
- •Не microsoft'ом единым. Bde
- •Odbc на практике
- •Форточки и odbc
- •Odbc для пингвина
- •Какие они бывают?
- •Что такое правильная база данных?
- •Нужна наглядная схема!
- •А как это сделать?
Не microsoft'ом единым. Bde
В 1990 году компания dBase (а вместе с ней и БД dBase, и Paradox) перешли в собственность Borland. В то время даже БД, заявленные как работающие с одинаковыми форматами, были несовместимы друг с другом из-за уймы мелких различий. Таким образом, у Borland в наличии оказались две несовместимых БД, на развитие и поддержку которых требовались удвоенные усилия. Выходом из создавшейся ситуации была разработка модели ODAPI 1.0 - Open Database Application Programming Interface, позволявшей единообразно обращаться к БД dBase и Paradox посредством механизма QBE (Query By Example). Вскоре были разработаны дополнения, подрастившие ODAPI до версии 1.1 и позволившие общаться в том же стиле с Interbase, Oracle, Sybase и MS SQL. В версии 2.0 ODAPI превратилась в IDAPI (перестала быть "открытой" и стала "интегрированной"), проект заметили, им заинтересовались крупные корпорации вроде IBM, Novell и Wordperfect. Появилось локальное SQL-ядро, позволяющее работать с локальными файлами БД без самой СУБД, и IDAPtor - мост между IDAPI и ODBC. Дожив до версии 3.0, IDAPI стала 32-разрядной и сменила имя на BDE (Borland DataBase Engine). С тех пор BDE так и не изменила логической структуры, а только обросла новыми драйверами и мостами взаимодействия с современными DBC-технологиями.
зитивные моменты предшественника, исправить недостатки и привнести новые достоинства. Одним из ключевых моментов можно считать интерес Borland к UNIX-платформам и абсолютную платформенно-архитектур-ную непереносимость BDE (в Kylix нет BDE). Также dbExpress имеет легкую модульную архитектуру, открытую к дополнениям (основа весит 500 Kб против почти десятимегабайтного монолита BDE). Конфигурация вынесена из реестра в удобочитаемые текстовые файлы, а большинство основных интерфейсных объектов обзавелось немалым количеством механизмов тонкой настройки.
Odbc на практике
Голая теория и употребление заумных аббревиатур - это, безусловно, хорошо. Но хотелось бы знать, как именно происходит ODBC-доступ клиентских приложений к базам данных. Выглядит это приблизительно так: каждый производитель РБД, заявляющий ODBC-поддержку под определенную операционную систему, предоставляет вместе со своим продуктом ODBC-драйвер. На самом деле, это даже никакой не драйвер (потому что он не является частью ядра операционной системы), а самая обычная динамическая библиотека (к примеру, DLL в MS Windows или SO в Linux), код которой будет исполняться в пространстве обычного пользовательского процесса. Эта библиотека обязана включать в себя набор стандартизованных ODBC-функций (и может включать дополнительные возможности), с точками вызова которых и будет линковаться приложение. Эти функции обязаны сохранять декларированные имена и аргументные типы, а их алгоритмы "знают", как добиться требуемого результата от базы данных конкретного производителя. Таким образом, не меняя исходного кода и алгоритма работы приложения, а просто линкуя его с различными
BDE УМЕР. ДА ЗДРАВСТВУЕТ DBEXPRESS!
Несмотря на своевременное появление, удачные идеи и популярность среди программистов, BDE объективно сдает свои позиции более слабому и легковесному конкуренту - ODBC. На сегодняшний день BDE повсеместно считается устаревшей, тяжеловесной и неудобной в администрировании технологией. Borland официально заявила о прекращении развития и поддержки BDE в пользу более прогрессивного преемника - dbExpress. Новый механизм призван сохранить все по ODBC-библиотеками, можно безболезненно мигрировать из одной РБД в другую.
ДИСПЕТЧЕРИЗАЦИЯ ODBC-ХОЗЯЙСТВА
Предложенный метод абстрагирования от конкретных РБД безусловно хорош, но постоянная перелинковка ODBC-библиотек при переключении между различными базами - не самое интересное и заманчивое решение. Существуют методы, позволяющие подгружать динамические библиотеки на лету, но это довольно сложная область программирования. Для решения такой проблемы было выпущено такое решение, как ODBC-диспетчеры (или менеджеры). Диспетчер представлен своей собственной ODBC-биб-лиотекой, которая, на самом деле, является заглушкой и перегружает свои вызовы на вызовы конкретного ODBC-драйвера по требованию приложения. Естественно, что библиотека диспетчера расширена функциями, позволяющими переключаться между базами не вдаваясь в подробности динамической линковки "на лету". Также существует управляющий софт, который конфигурируется диспетчером, сообщает ему параметры и местоположение конечных ODBC-драйверов. Таким образом, приложению достаточно быть слинкованным с ODBC-библиотекой диспетчера, и ему сразу после этого становятся доступны все ODBC-драйверы, прописанные в системе. При этом приложение даже не оперирует понятием драйвера, а использует так называемые DSN (Data Source Name). Практически все современные ODBC-драйверы, поставляемые с базами данных, рассчитаны на управление диспетчером (что, конечно, не мешает в случае надобности линковаться с ними напрямую).