Объектная модель Microsoft DAO 3.6

Объекты доступа к данным (DAO, Data Access Objects) создавались, как объектно-ориентированный интерфейс для ядра баз данных Jet фирмы Microsoft. В ранних версиях Microsoft Office доступ к данным обеспечивался исключительно ядром Jet. Сначала ядро Jet могли использовать только Access и Visual Basic, но с выходом пакета Microsoft Office 95 ядро Jet стало сервером Automation, что позволило использовать DАО для доступа к данным из любого клиента Automation.

В версии Office 97 компоненты Excel, Word и PowerPoint стали клиентами Automation и вышла новая версия DAO 3.5. В DАО 3.5 появился новый режим доступа к данным ODBCDirect, который позволяет манипулировать данными в обход ядра Jet, напрямую связываясь с источниками данных ODBC no технологии "клиент-сервер". За счет прямого доступа к данным получается выигрыш в производительности, при этом конечный пользователь имеет стандартный объектно-ориентированный интерфейс доступа к различным типам данных, начиная от баз данных Access до баз данных ISAM (Indexed Sequential Access Method — индексно-последовательный метод доступа) и SQL. Отсюда можно заключить, что DАО — это унифицированный набор объектов для доступа к данным.

В Microsoft Office 2000 вошли новая версия DAO 3.6 и новая версия Microsoft Jet 4.0, в которой реализована поддержка Unicode, т. е. в базах данных появилась возможность хранить символы любых национальных алфавитов одновременно. В версии Microsoft Access 2002 используются те же версии Jet и DАО.

DАО версии 3.5 и выше включает две объектные модели, соответствующие двум типам "рабочей области" (сеанс работы с базой данных), в зависимости от того, используется ли ODBCDirect. При доступе к данным с помощью ядра Microsoft Jet применяется рабочая область Microsoft Jet. В случае прямого доступа к источнику данных ODBC используется рабочая область ODBCDirect. Тип рабочей области и связанного с ней источника данных определяет, какие объекты, свойства и методы DАО можно использовать (рис. 13.4, 13.5).

Применяйте рабочую область Microsoft Jet для доступа к базам данных Jet (таким, как MDB-файлы Access) или другим настольным базам данных ISAM или в том случае, когда требуется использовать уникальные средства ядра Jet, такие как объединение данных в разных форматах.

Применяйте в клиентском приложении рабочую область ODBCDirect вместо рабочей области Jet в следующих случаях:

Модель объектов доступа к данным для рабочей области Microsoft Jet

Рис. 13.4. Модель объектов доступа к данным для рабочей области Microsoft Jet

В табл. 13.4 описаны объекты доступа к данным. В первом столбце приведены объекты-семейства, а во втором — объекты, являющиеся элементами соответствующего семейства, в третьем — описание объекта. В последующих главах книги "вы встретитесь с примерами использования объектной модели DAO.

Модель объектов доступа к данным для рабочей области ODBCDirect

Рис. 13.5. Модель объектов доступа к данным для рабочей области ODBCDirect

Семейство Объект Описание 
Connections Connection Предоставляет информацию о соединении с источником данных ODBC (используется только в рабочей области ODBCDirect) 
Containers Container Хранилище информации об объекте предопределенного типа (используется только в рабочей области Microsoft Jet) 
Databases Database DBEngine Открытая база данных Главный объект ядра баз данных Microsoft Jet 
Documents Document Информация о сохраненном объекте предопределенного типа (используется только в рабочей области Microsoft Jet) 
Errors Error Информация об ошибках, ассоциированных с данным объектом 
Fields Field Представляет поле (столбец) таблицы, запроса, индекса, поле связи между таблицами или запросами или поле набора записей 
Groups Group Группа пользователей, определяющая права доступа к данным (используется только в рабочей области Microsoft Jet) 
Indexes Index Определяет порядок и уникальность значений в таблице (используется только в рабочей области Microsoft Jet) 
Parameters Parameter Параметр для параметризованного запроса 
Properties Property Встроенная или определенная пользователем характеристика (свойство) 
QueryDef s QueryDef Описание хранимого в базе данных запроса 
Recordsets Recordset Набор записей в базовой таблице или запросе 
Relations Relation Связь между полями таблиц или запросов (используется только в рабочей области Microsoft Jet) 
TableDefs TableDef Описание хранимой в базе данных таблицы (используется только в рабочей области Microsoft Jet) 
Users User Бюджет пользователя, определяющий права доступа к данным (используется только в рабочей области Microsoft Jet) 
Workspases Workspace Сеанс работы с источником данных с помощью ядра баз данных Microsoft Jet 

Таблица 13.4. Описание объектов доступа к данным