Основы проектирования приложений баз данных

       

Механизмы доступа к БД


VCL-библиотека классов среды проектирования Delphi предоставляет ряд классов, позволяющих быстро и эффективно разрабатывать различные приложения баз данных.

Эти классы представлены следующими группами:

  • компоненты для доступа к данным, реализующие:
    • доступ через машину баз данных BDE (Borland Database Engine), предоставляющую доступ через ODBC-драйверы или через внутренние драйверы машины баз данных BDE (компоненты страницы BDE-палитры инструментов);
    • доступ через ADO-объекты (ActiveX Data Objects), в основе которого лежит применение технологии OLE DB (компоненты страницы ADO);
    • доступ к локальному или удаленному SQL-серверу InterBase (компоненты страницы InterBase);
    • доступ посредством легковесных драйверов dbExpress;
    • доступ к БД при многозвенной архитектуре (компоненты страницы DataSnap);

  • визуальные компоненты, реализующие интерфейс пользователя;
  • компоненты для связи источников данных с визуальными компонентами, предоставляющими интерфейс пользователя;
  • компоненты для визуального проектирования отчетов.

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

  • ODBC - доступ через ODBC-драйверы БД или BDE-драйверы;
  • OLE DB - доступ с использованием провайдеров данных (OLE DB - это метод доступа к любым данным через стандартный COM-интерфейс);
  • средства dbExpress, использующие легковесные драйверы БД;
  • средства доступа к распределенным наборам данных в многозвенной архитектуре.

Самый простой механизм управления данными, использующий ODBC-драйверы, может быть реализован по следующей схеме:

  • В модуль данных (или в форму) добавляется компонент набора данных (объект класса TDataSet) и устанавливается связь с источником данных, определяемая свойством DatabaseName. Связь может быть указана одним из трех способов: по имени базы данных, каталогу или псевдониму (способ указания связи может быть ограничен типом источника данных). Список всех псевдонимов доступен на этапе проектирования.
  • В модуль данных (или в форму) добавляется компонент источника данных (TDataSourse), являющийся центральным связующим звеном между набором данных и элементами управления, отображающими эти данные.
    Свойство DataSet компонента типа TDataSourse указывает набор данных, формируемый компонентами таких классов как TTable или TQuery. Если компоненты набора данных и источника данных расположены в модуле данных, то их следует добавить в проект (команда меню File | Use unit).
  • В форму добавляются элементы управления для работы с данными, такие как TDBGrid, TDBEdit, TDBCheckbox. Они связываются с компонентом источником данных, который указывается свойством DataSource. Имя поля набора данных определяется свойством DataField.


Графически схему работы с базами данных для двухзвенных архитектур в среде Delphi можно представить следующим образом:

Машина баз данных BDEПровайдеры OLE DBdbExpressInterBaseTDatabase (необязательный)TADOConnectionTSQLConnectionTIBDatabaseНевизуальные компоненты набора даныхTTable, TQuery, TDataSet, TField TADODataSet, TADOTable, TADOQueryTSQLDataSet, TSQLQuery, TSQLTable, TSQLStoreProc, TSQLClientDataSetTIBDataSet, TIBTable, TIBQury(
свойство DataSet) Компонент "источник данных" - центральный связующий компонент TDataSource (
свойство DataSource) Визуальные компоненты для работы с данными TDBGrid, TDBEdit, TDBText, TDBMemo, TDBCheckbox, TDBNavigator и др.
Для сохранения данных из БД в XML-формате или двоичном формате, и обратно, для формирования набора данных из XML или двоичного файла применяется провайдер данных.

Графически схема сохранения данных из БД в XML-формате приведена на следующей схеме:

Набор данных (TTable, TQuery или др.)Клиентский набор данных TClientDataSetПровайдер данных TDataSetProviderФайл в одном из следующих форматов: двоичный формат (dfBinary); XML-формат (dfXML); XML-формат, использующий UTF8 (dfXMLUTF8)
(свойство DataSet)
(свойство ProviderName)
(метод SaveToFile)
(метод LoadFromFile)

Содержание раздела