Кент Рейсдорф. BORLAND C++BUILDER. Раздел 4

Кент Рейсдорф. BORLAND C++BUILDER. Страница 446

Для работы с локальными и удаленными базами данных приложения C++Builder используют механизм доступа к СУБД, называемый Borland Database Engine (BDE). В случае локальных баз данных, таких как таб­лицы dBase или Paradox, BDE использует свои собственные встроенные драйверы СУБД. Для доступа к удаленным базам данных, например, Oracle или Sybase, BDE связывается с их серверами, используя драйверы SQL Links и/или драйверы ODBC. Эти драйверы часто обращаются к библио­текам драйверов самой СУБД. Схематически взаимодействие этих компо­нентов показано на рис. 16.1.

Рис. 16.1

В СН—l-Builder реализована простая, но гибкая архитектура доступа к базам данных

Внутри вашего приложения интерфейсные компоненты обращаются к компонентам TDataSource. Обычно в форме содержится небольшое количество компонентов TDataSource, хотя интерфейсных компонентов может быть до­статочно много. Компоненты TDataSource, в свою очередь, обращаются к одному или нескольким компонентам TDataSet. В некоторых случаях форма может включать только один компонент TDataSet и один TDataSource. Рис. 16.2 иллюстрирует взаимосвязь названных компонентов.

Гибкость, присущая этой многоуровневой архитектуре, позволяет доста­точно легко разрабатывать приложения для работы с базами данных, отли­чающиеся не только надежностью, но и возможностью расширения и изме­нения. Благодаря разделению внутренних драйверов BDE и компонентов приложения, возможно (по крайней мере, теоретически) изменять внутрен­нюю структуру базы данных даже без перекомпиляции приложения. Мо­дульность архитектуры позволяет заменять отдельные участки, не разраба­тывая заново все приложение.

Теперь позвольте сделать несколько утверждений общего характера, ко­торые помогут лучше усвоить только что рассмотренные концепции. Воз­можно, вы скажете: «Эта архитектура выглядит отлично, но как ее исполь­зовать? Какое отношение она имеет ко мне? Что это все означает на практике?» Если вы действительно готовы задать такие вопросы, надеюсь, что следующие советы помогут вам.

Web-дизайн (с) 2010 All rights reserved