Component Database Management Systems

OLE DB defines an open, extensible collection of interfaces that factor and encapsulate orthogonal, reusable portions of DBMS functionality. These interfaces define the boundaries of DBMS components such as row containers, query processors, and transaction coordinators, which enable uniform, transactional access to diverse information sources. A DBMS becomes a conglomerate of cooperating components that consume and produce data through a uniform set of interfaces.

The OLE DB functional areas include data access and updates (rowsets), query processing, catalog information, notifications, transactions, security, and remote data access. By defining a uniform set of interfaces to access data, OLE DB components contribute not only to uniform data access among diverse information sources, but also help to reduce the application's footprints by enabling them to use only the DBMS functionality they need. Initially, OLE DB provides uniform access to tabular data.

A component DBMS architecture using OLE DB interfaces

OLE DB uses the Component Object Model (COM) infrastructure, which reduces unnecessary duplication of services and provides a higher degree of interoperability not only among diverse information sources, but also among existing programming environments and tools. Indeed, OLE DB is the way to access data in a COM environment. The above figure illustrates how an application can employ OLE DB interfaces to initiate actions by a query processor to access different data structures.