Data Access Objects (DAO) were an object oriented interface created by Microsoft which allowed early versions of Microsoft Access and Visual Basic the Jet database engine. Later (in version 3.5) it was able to bypass the Jet engine altogether and directly access ODBC data sources. RDO 2.0 was the final version developed by Microsoft. Object-oriented programming (OOP) is a computer programming paradigm in which a software system is modeled as a set of objects that interact with each other. ... Microsoft Corporation (NASDAQ: MSFT) is the worlds largest software company (and one of the largest companies in the world period), with over 50,000 employees in various countries as of May 2004. ... Microsoft Access is a relational database management system from Microsoft, packaged with Microsoft Office Professional which combines the Jet relational database engine with a graphical interface. ... This article does not cite its references or sources. ... The Microsoft Jet Database Engine is a database engine on which several Microsoft products were built. ... Open Database Connectivity (ODBC) is a standard software API for connecting to database management systems (DBMS). ...
DAO works by creating a "Workspace" object in which all database operations are performed. The workspace object exists as a session object that exists within a larger database engine object. There are two types of database engines: a Jet database engine object, and an ODBCDirect database engine.
The Jet database engine object consists of several objects: a workspace object and a series of error objects. The workspace object consists of a groups and users object and a database object. The database object consists of container objects which consist of containers of objects, query definition (QueryDef) objects, Recordset objects which are defined by a set of field objects, relation objects which show the relationship between different fields in the database, and table definition (TableDef) objects which consists of fields and indexes of selected fields.
The ODBCDirect database engine consists of a workspace object and an errors object. The main difference between this database engine and the Jet database engine is that the workspace object is different in that it only consists of a series of ODBC connection objects and the database object consists of a series of recordset objects. The ODBC connection objects consist of QueryDef objects and recordset objects.
References
Solomon, Christine (1997). "Microsoft Office 97 Developer's Handbook". Microsoft Press. pp. 195-200. ISBN 1-57231-440-0.
The DAO pattern allows dataaccess mechanisms to change independently of the code that uses the data.
The simplest (but least flexible) way to implement a dataaccessobject is to write it as a class.
The dataaccess mechanism can be changed easily by writing a new class that implements the same interface, and changing client code to use the new class.
Access to data varies depending on the source of the data.
Access to persistent storage, such as to a database, varies greatly depending on the type of storage (relational databases, object-oriented databases, flat files, and so forth) and the vendor implementation.
Because all dataaccess operations are now delegated to the DAOs, the separate dataaccess layer can be viewed as the layer that can isolate the rest of the application from the dataaccess implementation.