Объектная
модель 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
|
||