Объектная модель 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 в следующих случаях:

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

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

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

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

Семейство

Объект

Описание

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