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

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

? Как устроена архитектура доступа к базам данных в C++Builder

? Какие компоненты необходимы для построения приложений, работающих с базами данных

? Для чего предназначен компонент TSession

? Ключевые элементы компонента TDatabase

? Как использовать компонент TDataSource

? Свойства, события и основные методы компонентов TTable, TQuery и TStoredProc

? Как использовать компонент TBatchMove для копирования строк и со­здания таблиц

Некоторые термины, которые необходимо знать

На протяжении всей главы я буду ссылаться на различные состав­ляющие архитектуры баз данных C++Builder. В связи с этим необходимо предварительно определить некоторые термины, чтобы вы понимали, о чем идет речь. Одни из них относятся к C++Builder, другие — к базам данных. С частью этих терминов вы можете быть знакомы, какие-то, вероятно, будут для вас абсолютно новыми. Ключевые термины сегодняшнего дня сведены в таблицу 16.1.

Таблица 16.1. Стандартные термины, относящиеся к базам данных в C++Builder

Термин Описание
Таблица (table) Совокупность строк (или объектов) в базе данных. Например, вы можете создать таблицу INVOICE для хранения счетов.
Строка (row) Запись или объект таблицы. Например, таблица CUSTOMER может содержать строки данных о покупателях. Каждая строка в этой таблице будет соответствовать отдельному покупателю.
Столбец (column) Поле или атрибут, содержащийся в строках таблицы. Например, ваша таблица INVOICE может содержать столбец CustomerNumber (код покупателя). Поле CustomerNumber будет присутствовать в каждой строке таблицы.
Borland Database Engine Набор DLL и вспомогательных файлов, которые обеспечивают доступ к базам данных в C++Builder и других продуктах фирмы Borland. Borland Database Engine (BDE) сильно облегчает работу с базами данных, предоставляя высокоуровневый интерфейс прикладного программирования баз данных (database API), одинаковый для всех СУБД, которые он поддерживает. Этот дружественный по отношению к разработчику интерфейс обеспечивает в C++Builder управление базами данных таким образом, что вам редко придется работать напрямую с самим BDE.
IDAPI Независимый интерфейс прикладного программирования баз данных, разработанный фирмой Borland (Independent Database Application Programming Interface). Различные приложения (в том числе приложения С-1—(-Builder) взаимодействуют с BDE через этот интерфейс. Поскольку почти все необходимые вызовы IDAPI выполняются за вас компонентами C++Builder, вам редко придется писать код, напрямую обращающийся к IDAPI. Вместо этого вы будете иметь дело с методами, свойствами и событиями компонентов C++Builder, предназначенных для работы с базами данных.
Драйвер BDE (BDE Driver) DLL (или набор DLL), обеспечивающая взаимодействие BDE с конкретной СУБД. C++Builder в версии клиент/сервер включает в себя драйверы для работы с Sybase, Microsoft, Oracle, InterBase, Informix, DB2, Paradox, dBASE и любыми 32-разрядными источниками данных ODBC. Программы Сн—HBuilder не работают напрямую с драйверами BDE. Вместо этого они используют псевдонимы (aliases) BDE, которые основаны на драйверах BDE.
Псевдоним BDE (BDE Alias) Совокупность конфигурационных параметров, которые сообщают BDE, как обращаться к конкретной базе данных. Псевдонимы основаны на драйверах баз данных BDE. Вы можете создавать псевдонимы с помощью конфигурационной программы BDE или Database Explorer C++Builder. Для каждой базы данных обычно используются отдельный псевдоним. Например, вы можете создать один псевдоним для обращения к базе данных Northwind в формате Microsoft Access, а другой - для обращения к базе данных Orders в том же формате. Оба псевдонима будут основаны на драйвере Access ODBC, поскольку они работают с базой данных Access. Однако эти псевдонимы не будут одинаковыми, т.к. используются для обращения к различным базам данных Access. В этом и заключается разница между драйверами и псевдонимами BDE - драйверы обращаются к СУБД, а псевдонимы - к конкретной базе данных, с которой работает СУБД.
Термин Описание
Драйверы SQL Links Высокопроизводительные драйверы для доступа к базам данных, используемые BDE для работы с СУБД типа клиент/сервер. C++Builder в версии клиент/сервер включает в себя SQL-драйверы для СУБД Sybase, Microsoft, Oracle, InterBase, Informix и DB2. Поскольку эти драйверы включены в C++Builder, вам не требуется использовать альтернативные методы типа ODBC для доступа к перечисленным СУБД, хотя это и не возбраняется.
Драйверы ODBC Драйверы для доступа к базам данных, основанные на спецификации Open Database Connectivity фирмы Microsoft. C++Builder может использовать 32-разрядные драйверы ODBC для связи с внутренними компонентами баз данных. Настройка источников данных ODBC (которые похожи на псевдонимы BDE) и управление ими осуществляется через стандартную программу ODBC Administrator в панели управления Windows.
Компонент доступа к данным (data access control) Невизуальный (невидимый во время выполнения программы) компонент, который обеспечивает вашему приложению доступ к базе данных. Компоненты доступа к данным расположены во вкладке Data Access палитры компонентов C++Builder. К ним относятся TDatabase, TTable и TDataSource.
TDataSet Класс СН—(-Builder, обеспечивающий доступ к таблицам баз данных, а также результатам запросов, имеющих структуру таблицы. Поскольку компоненты TTable, TQuery и TStoredProc косвенно произведены от класса TDataSet, я часто буду ссылаться на них вместе как на TDataSet.
TTable Компонент C++Builder, обеспечивающий доступ к таблицам базы данных. Свойство TableName этого компонента используется для выбора конкретной таблицы, к которой вы хотите обратиться.
TQuery Компонент C++Builder, позволяющий создавать, выполнять и обрабатывать ваши собственные запросы SQL.
TStoredProc Компонент C++Builder, позволяющий запускать откомпилированные процедуры SQL, которые находятся на сервере базы данных. Такие процедуры называются хранимыми процедурами (stored procedures).
Интерфейсный элемент (data-aware control) Визуальный (видимый во время выполнения программы) компонент, который позволяет пользователю просматривать и изменять данные в базе, используя компоненты доступа к данным. Интерфейсные компоненты расположены во вкладке Data Controls палитры компонентов C++Builder. В большинстве случаев они будут казаться вам «интеллектуальными» версиями компонентов из вкладки Standard. Примерами интерфейсных компонентов служат TDBGrid, TDBNavigator и TDBEdit.
TDataSource Компонент СН—(-Builder, который обеспечивает связь компонентов TDataSet с интерфейсными элементами. Интерфейсные элементы обращаются к компонентам TDataSource, которые, в свою очередь, обращаются к компонентам TDataSet.
TField Класс СН—(-Builder, обеспечивающий доступ к полям таблицы базы данных. СН—(-Builder создает производные этого класса, такие как TStringField и TlntegerField, когда вы используете редактор полей для добавления нового поля в форму. Владельцем компонентов TField, помещенных в форму, является сама форма, а не связанный с ними TDataSet.

Обзор архитектуры

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