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.