Объектные модели доступа к данным

Объекты доступа к данным предназначены для программного доступа и управления данными в локальной или удаленной базе данных, а также для программного управления самими базами данных, их объектами и структурой. В Microsoft Access 2010, так же как и в Microsoft Access 2000, сохранилась возможность двух способов работы с данными:

  • старый, посредством DAO (Data Access Objects);
  • новый, посредством ADO (ActiveX Data Objects). Каждому из этих способов соответствует своя объектная модель.

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

  • если нужно только выполнить запрос или хранимую процедуру на сервере баз данных, таком как SQL Server;
  • когда требуется воспользоваться специфическими возможностями ODBCDirect, такими как пакетное обновление записей, обновленные записи оптируются на локальном компьютере;
  • когда требуется асинхронное выполнение запроса, запрос выполняется в фоновом режиме, не останавливая выполнение других

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

Семейство

Объект

Описание

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