Методы доступа к данным и компоненты доступа.

Принципы работы приложения Delphi с базами данных

Как работает приложение баз данных

Перед детальным разбором методики создания приложений рассмотрим принцип работы приложения с базами данных и компоненты, предназначенные для работы с данными.

Приложение может содержать произвольное число форм. Обычно одна форма отвечает за выполнение группы однородных операций, объединенных общим назначением.

В основе любого приложения баз данных лежат наборы данных, которые представляют собой группы записей (их удобно представить в виде таблиц в памяти), переданных из базы данных в приложение для просмотра и редактирования. Каждый набор данных инкапсулирован в специальном компоненте доступа к данным. В библиотеке компонент Delphi реализован набор базовых классов, поддерживающих функциональность наборов данных, и практически идентичные по составу наборы дочерних компонентов для технологий доступа к данным. Их общий предок — класс TDataSet (Набор Данных).

Для обеспечения связи набора данных с визуальными компонентами отображения данных используется специальный компонент TDataSource (Источник Данных). Его роль заключается в управлении потоками данных между набором данных и связанными с ним компонентами отображения данных. Этот компонент обеспечивает передачу данных в визуальные компоненты и возврат результатов редактирования в набор данных, отвечает за изменение состояния визуальных компонентов при изменении состояния набора данных, передает сигналы управления от пользователя (визуальных компонентов) в набор данных. Компонент TDataSource расположен на странице Data Access Палитры компонентов.

Таким образом, базовый механизм доступа к данным создается триадой компонентов:

- компоненты, инкапсулирующие набор данных (потомки класса TDataSet);

- компоненты TDataSource;

- визуальные компоненты отображения данных.

Рассмотрим схему взаимодействия этих компонентов в приложении баз данных рис ….

Методы доступа к данным и компоненты доступа.

Самым нижним слоем располагается сами базы данных и программное обеспечение для доступа к ним. В качестве программного обеспечения обычно выступают системы управления базами данных (СУБД). Кроме этого, сама Дельфи поставляется в комплекте с библиотеками, которые позволяют получить доступ к некоторым видам баз данных.

Для связи приложения с базами данных предназначен слой компонент доступа к данным. Для каждого типа баз данных должен использоваться свой собственный компонент. Все эти компоненты предоставляют средства контроля над соединением с базой данных, они должны иметь возможность определять физическое имя базы данных, ассоциированной с компонентом, а также, устанавливать или разрывать соединение с базой данных.

Delphi предоставляет компоненты для доступа к данным, реализующие следующие виды доступа:

1. Доступ к локальному или удаленному SQL-серверу InterBase (компоненты страницы InterBase);

2. Доступ посредством легковесных драйверов dbExpress (компоненты страницы dbExpress). В комплект поставки Delphi входят файлы драйверов, которые представляют собой обычные библиотеки динамической компоновки (DLL). В таблице … перечислены типы баз данных и библиотеки динамической компоновки, необходимые для работы с ними.

Таблица 1..Типы поддерживаемых баз данных

Тип базы данных Имя файла
InterBase DBEXPINT.DLL
DB2 DBEXPDB2.DLL
Oracle DBEXPORA.DLL
MySQL DBEXPMYS.DLL

3. Доступ через ADO-объекты (ActiveX Data Objects), в основе которого лежит применение технологии OLE DB (компоненты страницы ADO). ADO — это часть архитектуры универсального доступа к данным фирмы Microsoft. Доступ к источникам данных обеспечивают так называемые провайдеры OLE DB (в dbExpress для этой цели используются драйверы). В таблице … перечислены провайдеры OLE DB, входящие в состав ADO

Таблица 2 Провайдеры OLE DB

Тип базы данных Провайдер Драйвер
ODBC Drivers Драйверы ODBC (по умолчанию) MSDASQL
MS Access 97 Jet 3.5 Microsoft.Jet.OLEDB.3.5
MS Access Jet 4.0 Microsoft.Jet.OLEDB.4.0
MS SQL Server SQL Server SQLOLEDB
Oracle Oracle MSDAORA

О том, что такое ODBC будет написано немного позже.

4. Доступ через машину баз данных BDE (Borland Database Engine), предоставляющую доступ через ODBC-драйверы или через внутренние драйверы машины баз данных BDE (компоненты страницы BDE-палитры инструментов). Этот метод обеспечивает доступ к стандартным источникам данных: Paradox, dBASE, FoxPro, Access. Появление dbExpress сделало технологию BDE устаревшей, поэтому сейчас использовать этот вид доступа не имеет смысла.

Сведем все четыре метода доступа к данным в таблице …

Таблица 3 методы доступа к данным

Метод доступа Машина баз данных BDE Провайдеры OLE DB dbExpress InterBase
Компонент доступа к данным TDatabase TADOConnection TSQLConnection TIBDatabase
Компоненты набора даных TTable, TQuery, TField TADODataSet, TADOTable, TADOQuery TSQLDataSet, TSQLQuery, TSQLTable, TSQLStoreProc, TSQLClientDataSet TIBDataSet, TIBTable, TIBQuеry

Использование компоненты TIBDatabase будет рассмотрено ниже.

Осталось разъяснить, что такое ODBC. ODBC (англ. Open Database Connectivity) — это программный интерфейс доступа к базам данных, разработанный фирмой Microsoft. C помощью ODBC можно разрабатывать приложения для использования доступа к данным, не беспокоясь о тонкостях взаимодействия с конкретной базой данных. Это достигается благодаря тому, что поставщики различных баз данных создают драйверы, реализующие стандартные функции из ODBC с учётом особенностей их продукта. Приложения используют эти функции (реализованные в соответствующем конкретному источнику данных драйвере) для унифицированного доступа к различным источникам данных. При применении ODBC требуется помнить, что данная технология доступа к данным использует промежуточный слой, т.е. работа с данными происходит медленнее, чем при прямой работе базой данных, кроме этого технология не рассчитана на работу с большим числом клиентов.

Наши рекомендации