The object-oriented (OO) approach, an interesting academic topic in the 1980s, became mainstream in the early 1990s and the de facto standard for most of software development efforts thereafter (the object-oriented term is explained later in this chapter).
Nearly every modern programming language is (or claims to be) object-oriented; however, even though the OO approach proved to be successful in computer programming (in terms of increased development speed, increased robustness, and code maintainability), it hadn't caught on in the database market so far. The objects have structures of their own, and RDBMSs prefer to work with data shredded into bits and pieces of a normalized schema.
Translating objects back and forth between an application and set of relational tables makes performance less than optimal. An obvious solution would be a system that allows direct storage of the objects and the ability to manage them in a fashion similar to data in relational tables. Although there are some purely object-oriented databases, their market share is rather insignificant. Many major RDBMSs vendors, including Oracle, DB2, Microsoft SQL Server, and PostgreSQL, provide some kind of objects for use with traditional RDBMSs: the object-oriented RDBMS (OORDBMS) approach. Even though the object-oriented paradigm is not directly related to the contents of this book, we will briefly introduce it in the database context in this chapter.
In the RDBMS world, OO refers to the ability ...