Object Database and Object-Relational Database Models

Object Database and Object-Relational Database Models

The innovation did not stop here. At the end of the 1980s the buzzword was object-oriented programming (OOP). Because of very similar reasons (memory requirements, processing power) as those preventing widespread adoption of RDBMS, object-oriented programming did not take off until well into the 1990s. OOP languages are based on the notion that a programming (or business) problem could be modeled in terms of objects.

While the code of the program remained practically the same, the way the code was organized changed dramatically; it also changed the way programs were constructed, coded, and executed. For programming applications that communicate with the databases it would be only natural to store objects on an as-is basis instead of disassembling them into text and putting them back together when needed.

Modern RDBMS have the ability to store binary objects (e.g., pictures, sounds, etc.), in the case of OO databases, they need to store conceptual objects: customer, order, and so on. The emerging standard (SQL3) was designed to work with object-oriented databases. There are several products on the market for OODBS (object-oriented database systems) and OORDBMS (object-oriented relational database systems) that offer object-oriented features combined with reasonable performance, though none of these meet with a widespread adoption — as yet.

While SQL itself is not an object-oriented language now, it might as well be — in the future. Meanwhile, several vendors (Oracle, IBM) supplied their flagship database products with capability to use Java as procedural language that has some embedded SQL statements.

The other development worth noticing is a wide adoption of eXtensible Markup Language (XML). XML was developed as a logical evolution of the plain static HyperText Markup Language (HTML) used to generate Web pages. XML is discussed in the final chapters of this book as it has not become a part of the SQL standard yet, and is implemented through proprietary extensions to the RDBMS. An XML document contains self-describing data in a platform-independent industry-standard format that makes it easy to transform into different types of documents, to search, or to transfer across heterogeneous network.

Every major RDBMS release is either a new version of its product or an add-in to the existing one to handle XML. The logical step in this direction would be to create an XML native database, that is, a database that stores data in XML format, without parsing XML documents when storing the records nor reconstituting them from text-based data for retrieval. In theory, that would speed up XML-related database operation.